MQTT协议:机器之间进行通信的解决方案?
1460
遥测技术在通信领域是一个相对古老的概念,在上世纪初传感器就具备了远距离发送信号的能力,这让科学家能够远程监控终端机器和其他活动,而到了现在借助计算机处理器,机器可以接收传感器和其他机器的数据并进行相关操作,从而实现了机器—机器(M2M)之间的通信。如今互联网的使用使得数据和信息的通信激增,推动了标准协议的制定。
物联网(IoT)根据用途具有不同的意义,在商业和工业方面可以划分为两个领域:工业物联网(IIoT)和物联网(IoT),两者之间一些关键的区别在于:
l IoT应用于很多细分市场,包括消费品、农业、制造业和医疗等,而IIoT则主要面向工业应用,比如制造业和能源产业,IoT涉及的范围更大一些,IIoT则是IoT的一个子集。
l IoT重点关注消费群体,IIoT则倾向于访问尽可能多的数据,从而调整工业制造流程,将供应链的效率最大化。
l 虽然IoT可以生成大量的数据从而提升消费者的体验,但是IIoT的数据规模则更大,对于操作过程和相关人员的安全更加的至关重要。
IoT和IIoT发展所面临的关键挑战是如何处理收集到的大量数据。
MQTT到底是什么?
MQTT到底是什么?这是我第一次接触到这个有趣话题的反应,其缩写的首字母意思如下:
l Message:简单的来讲,MQTT包括一个数据源,它发布主题消息给一个代理(broker),然后代理会将消息发送给所有已经订阅了该主题的设备或终端
l Queue(或queuing):尽管名字中包含“queue”一词,但是MQTT并不是基于队列的协议,显然这一项在整个协议更新过程中都没有使用过
l Telemetry:IoT和IIoT的关键,数据的传输是遥测技术的核心
l Transport:点到点的数据传输是通过中央hub或代理(broker)
MQTT是一个简单的中心辐射型系统:传感器、应用和设备之间的通信是通过中央代理端运行的数据中心服务实现的。设备也不会尝试在彼此之间进行通信,因为所有的数据都要通过中央代理,从处理需求来看MQTT是轻量级的,因此在带宽和延迟受限的网络环境(比如典型的生产制造现场)中很好的适用于多种应用程序,MQTT会话简单快速:连接、身份验证、通信和结束。随着数据量的增涨,MQTT协议的精简性和轻量级使得它具有很好的可扩展性,MQTT协议是涉及到很多传感器的大型远程网络系统(比如输电线系统、长距离管道和油井等)的理想选择。
大量的应用实例
除了能够监控长距离的石油管道和其他能源传输的场景外,MQTT精简低带宽的特性使得它能够适用于其他很多应用,家庭自动化应用包括供暖、通风、空调(HVAC)、照明、智能设备和安全等方面都采用了MQTT协议(图1)。家庭园艺也可以很高科技,用户订阅来自光、温度和湿度传感器的消息获取现场的实时数据,然后就可以根据数据来自动化的远程调整浇水程序。极客们甚至采用MQTT协议和Arduino或树莓派来控制圣诞灯光。医疗监控、运输网络监测、资产跟踪、环境状态检查、气候数据记录以及自动亭监控等都是使用MQTT协议的实例。
图1:MQTT协议的其中一个应用就是家庭自动化
总结
及时准确的信息对于提升消费IoT和工业物联网(IIoT)系统的性能是非常有用的,随着有越来越多的数据可用于解释和使用,建立信息分享的协议和方法是必不可少的,在M2M通信领域,MQTT将成为最重要的协议,它提升了系统的可扩展性,同时将长距离传输的延迟降到最低,带宽占用低而且传输过程中断的影响也是最小的。