MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)

转载 2016年08月30日 09:17:21

MQTT
      MQTT(Message Queuing Telemetry Transport消息队列遥测传输)是IBM开发的一个即时通讯协议,有可能成为物联网的重要组成部分。该协议支持所有平台,几乎可以把所有联网物品和外部连接起来,被用来当做传感器和致动器(比如通过Twitter让房屋联网)的通信协议。

MQTT简介

      早在1999年,IBM的Andy Stanford-Clark博士以及Arcom公司ArlenNipper博士发明了MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)技术[1]  。据Andy Stanford-Clark博士称,MQTT将在今年和明年呈现爆炸式增长。
      MQTT的话题是我俩谈论开源物联网平台Pachube时提到的。Stanford-Clark认为Pachube很酷,其不足之处是不具备真正的推送功能。你需要不断轮询才能得到即时数据。这正是MQTT能够实现的,他提到了使用推送通信系统的石油管道检测系统。

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 特性通知有关各方客户端异常中断的机制;[2] 

参考资料

1.  美国成立物联网标准技术委员会 标准协议或于明年3月份推出  .北极星智能电网在线.2013-02-18[引用日期2013-08-9]
2.  MQ 遥测传输 (MQTT) V3.1 协议规范  .IBM developerWorks 中国.2010-12-06[引用日期2013-09-17]

使用ActiveMQ+MQTT实现Android点对点消息通知

ActiveMQ使用MQTT协议,加上android上的paho包,即可简单实现消息通知功能,但是mqtt协议只支持topic,而且不能用selector,使得点对点的消息投递变成问题。 有两个解决思...
  • KimmKing
  • KimmKing
  • 2013年12月20日 16:37
  • 41185

异步消息传递技术的比较:JMS、AMQP和MQTT

消息传递作为基本通信机制已经在全世界成功运用。无论是人与人、机器与人还是机器与机器之间,消息传递一直都是唯一常用的通信方式。在双方(或更多)之间交换消息有两种基本机制。  1.同步消息传递  2....

消息队列与如何spring mvc 项目中加入消息队列

消息队列技术,它是分布式应用间交换信息的一种技术。 关于消息队列的一些理解,不明白我们为什么要在自己的系统加入消息队列? 对于一个业务比较小的系统,以前的做法是直接通过一个...

Android推送通知的实现--通过 WebSphere MQ 遥测传输 (MQTT) 将 Android 手机引入物联网

简介: 本文通过几个示例程序,介绍了如何在 Eclipse 上开发基于 Android 平台的 MQTT 客户端程序,实现了 Android 平台的设备与 MQ 服务器间的消息互通,将 Android...

通过 WebSphere MQ 遥测传输 (MQTT) 将 Android 手机引入物联网

王 博, 软件工程师, IBM 简介: 本文通过几个示例程序,介绍了如何在 Eclipse 上开发基于 Android 平台的 MQTT 客户端程序,实现了 Android 平台的设...

(视频)《快速创建网站》 4.2 完结篇 – 应用运营vs.发射卫星,遥测(Telemetry) 技术

用户的“真”需求是一座金山,而我们需要做的是如何找到这座金山。遥测是你手中的金属探测器,它可以帮助你回答这些问题:哪些功能受到用户欢迎?我觉得有用的功能,用户是否真的觉得有用?用户把时间都花在了哪里?...
  • ups216
  • ups216
  • 2015年03月16日 17:52
  • 1185

消息队列——message

  • 2015年08月17日 11:30
  • 7KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)
举报原因:
原因补充:

(最多只允许输入30个字)