1. 首页 > 经验  > 正文

MQTT

MQTT

MQTT(讯息伫列遥测传输)是ISO 标準(ISO/IEC PRF 20922)下基于发布/订阅範式的讯息协定。它工作在 TCP/IP协定族上,是为硬体性能低下的远程设备以及网路状况糟糕的情况下而设计的发布/订阅型讯息协定,为此,它需要一个讯息中间件 。

MQTT是一个基于客户端-伺服器的讯息发布/订阅传输协定。MQTT协定是轻量、简单、开放和易于实现的,这些特点使它适用範围非常广泛。在很多情况下,包括受限的环境中,如:机器与机器(M2M)通信物联网(IoT)。其在,通过卫星链路通信感测器、偶尔拨号的医疗设备、智慧型家居、及一些小型化设备中已广泛使用

基本介绍

中文:讯息伫列遥测传输外文名:MQTT(Message Queuing Telemetry Transport)性质:即时通讯协定支持平台:所有开发商:IBM

简介

MQTT(讯息伫列遥测传输)是ISO 标準(ISO/IEC PRF 20922)下基于发布/订阅範式的讯息协定。它工作在TCP/IP协定族上,是为硬体性能低下的远程设备以及网路状况糟糕的情况下而设计的发布/订阅型讯息协定,为此,它需要一个讯息中间件。
IBM公司的安迪·斯坦福-克拉克及Cirrus Link公司的阿兰·尼普于1999年撰写了该协定的第一版本
该协定的可用性取决于该协定的使用环境。IBM公司在2013年就向结构化资讯标準促进组织提交了 MQTT 3.1 版规範,并附有相关章程,以确保只能对规範进行少量更改。MQTT-SN是针对非 TCP/IP 网路上的嵌入式设备主要协定的变种,与此类似的还有ZigBee协定。
纵观行业发展历程,“MQTT”中的“MQ” 是来自于IBM的MQ系列讯息伫列产品线。然而通常伫列本身不需要作为标準功能来支持。
可选协定包含了高级讯息伫列协定,面向文本的讯息传递协定,网际网路工程任务组约束套用协定,可扩展讯息与存在协定,数据分发服务,OPC UA以及web 应用程式讯息传递协定。

MQTT套用

IBM和St. Jude医疗中心通过MQTT开发了一套Merlin系统,该系统使用了用于家庭保健的感测器。St. Jude医疗中心设计了一个叫做Merlin@home的心脏装置,这种无线发射可以用来监控那些已经植入复律-除颤器和起搏器(两者都是基本的感测器)的心脏病人
该产品利用MQTT把病人的即时更新信息传给医生/医院,然后医院进行保存。这样的话,病人就不用亲自去医院检查心脏仪器了,医生可以随时查看病人的数据,给出建议,病人在家里就可以自行检查。
IBM称该发射器包括一个大型触控萤幕,一个嵌入式键盘平台,以及一个Linux作业系统。
在未来几年,MQTT的套用会越来越广,值得关注
通过MQTT协定,目前已经扩展出了数十个MQTT伺服器端程式,可以通过PHP,JAVA,Python,C,C#等系统语言来向MQTT传送相关讯息。
此外,国内很多企业都广泛使用MQTT作为Android手机客户端与伺服器端推送讯息的协定。其中Sohu,Cmstop手机客户端中均有使用到MQTT作为讯息推送讯息。据Cmstop主要负责讯息推送的高级研发工程师李文凯称,随着移动网际网路的发展,MQTT由于开放原始码,耗电量小等特点,将会在移动讯息推送领域会有更多的贡献,在物联网领域,感测器与伺服器的通信,信息的收集,MQTT都可以作为考虑的方案之一。在未来MQTT会进入到我们生活的各各方面。
如果需要下载MQTT伺服器端,可以直接去MQTT官方网站点击software进行下载MQTT协定衍生出来的各个不同版本。

MQTT特点

MQTT协定是为大量计算能力有限,且工作在低频宽、不可靠的网路的远程感测器和控制设备通讯而设计的协定,它具有以下主要的几项特性:
1、使用发布/订阅讯息模式,提供一对多的讯息发布,解除应用程式耦合;
2、对负载内容禁止的讯息传输;
3、使用 TCP/IP 提供网路连线
4、有三种讯息发布服务质量
“至多一次”,讯息发布完全依赖底层 TCP/IP 网路。会发生讯息丢失或重複。这一级别可用于如下情况,环境感测器数据,丢失一次读记录无所谓,因为不久后还会第二次传送。
“至少一次”,确保讯息到达,但讯息重複可能会发生。
“只有一次”,确保讯息到达一次。这一级别可用于如下情况,在计费系统中,讯息重複或丢失会导致正确的结果。
5、小型传输,开销很小(固定长度的头部是 2 位元组),协定交换最小化,以降低网路流量
6、使用 Last Will 和 Testament 特性通知有关各方客户端异常中断机制

本文由'市新蕊'发布,不代表演示站立场,转载/删除联系作者,如需删除请-> 关于侵权处理说明