当前位置: 华文问答 > 科学

【物联网】6.物联网常用的通信协议

2021-11-05科学

前两篇文章已经介绍了两种协议,这篇是第三种协议 - MQTT协议

【物联网】4.物联网常用的通信协议 - HTTP 协议
【物联网】5.物联网常用的通信协议 - WebSocket 协议

MQTT(MQ Telemetry Transport,消息队列遥测传输) 是近年来出现的一种新型协议,物联网领域会将其作为标准协议。MQTT 原本是IBM 公司开发的协议,现在则开源了,被人们不断开发着。

MQTT 是一种能实现一对多通信(人们称之为发布或订阅型)的协议 。它由3 种功能构成,分别是中介(broker)、发布者(publisher)和订阅者(subscriber)

通过MQTT 传输消息

中介承担着转发MQTT 通信的服务器的作用 。相对而言, 发布者和订阅者则起着客户端的作用 。发布者是负责发送消息的客户端,而订阅者是负责接收消息的客户端。 MQTT 交换的消息都附带「主题」地址 ,各个客户端把这个「主题」视为收信地址,对其执行传输消息的操作。 形象地比喻一下,中介就是接收邮件的邮箱。

然后发布者连接中介,以主题为收信地址发送消息。这就是发布。

用「#」和「+」这样的符号能指定多个主题。如图所示,/Sensor/temperature/# 中使用了「#」符号,这样就能指定所有开头为/Sensor/temperature/ 的主题。此外,/Sensor/+/room1中使用了符号「+」,这样一来就能指定所有开头是/Sensor/、结尾是/room1 的主题。

像这样借助于中介的发布/ 订阅型通信,MQTT 就能实现物联网服务与多台设备之间的通信。 另外, MQTT 还实现了轻量型协议。因此它还能在网络带宽低、可靠性低的环境下运行;又因为消息小、协议机制简单,所以在硬件资源(设备、CPU 和内存等)受限的条件下也能运行,可以说是为物联网量身定做的协议。