MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是IBM开发的一个即时通讯协议,有可能成为物联网的重要组成部分。实际上现在的物联网接入服务基本都将支持MQTT协议做为标配。
MQTT是一个发布/订阅协议, 与其他协议比如HTTP相比,其非常的简单和轻量级,设计用于限制性设备和低流量、窄带宽(不可靠网络)、低延迟的场景。
MQTT的设计原则是使用最小的带宽和计算资源,并且保证一定的可靠性和不同程度的质量保证。MQTT迎合了M2M和IOT的需求,尤其在使用移动网络的情况下,流量相对比较昂贵,而且使用电池供电的场景。
MQTT 是IBM的 Andy Stanford-Clark博士和Arcom (now Eurotech)的 Arlen Nipper于1999年创建的. 从1999年开始,MQTT协议就在许多领域开始应用。
2013三月,结构化信息标准促进组织OASIS宣布将MQTT(消息队列遥测传输)作为新兴的物联网消息传递协议的首选标准。协议规范已经公开发表了多年的免版税的许可证,而Eurotech公司(原名ARCOM)已经在其产品中实现了MQTT协议。
2011十一月,IBM公司宣布共同参与Eclipse M2M行业工作组和MQTT代码捐赠了Eclipse Paho项目。
“SCADA协议”和“MQ Integrator SCADA设备协议”(mqisdp)都是老名字,现在被称为MQ遥测传输协议(MQTT)。该协议也被称为“WebSphere MQTT”(wmqtt),虽然这个名字也不再使用。
现在大部分的MQ中间件都支持MQTT协议,但是目前市面上的中间件都是一些通用型的产品,没有针对物联网的特性进行优化,物联网对接入有比较高的要求,由于接入设备数据量可以非常多,接入类型可以有各种各样,而且数据的上传频率也会比较密集,所以对设备接入提出了比较高的要求,有很多物联网服务商会对中间件产品进行二次开发,已满足自己的需求,有实力的企业可以对MQTT协议进行重新实现,以满足更高的要求。