了解最新公司动态及行业资讯
随着行业的快速发展,数据管理和接收所需的设备数量也在增加。为了解决众多设备之间的通信问题以及单个网络中设备组合的问题,已经创建了物联网(IoT)概念-基于某些功能的单个网络中设备的组合或特性,此网络进一步与类似网络组合在一起,从而创建更大的网络,依此类推。
在这样的网络中,设备通过各种接口和通信协议彼此交互。当我们正在考虑物联网概念的工业实现时,应使用具有自己的协议和硬件的工业设备,让我们开始探讨IIoT概念(工业物联网)。
为了进行通信,设备可以使用各种工业协议。为此,MQTT很受欢迎。
MQTT或消息队列遥测传输是一种轻巧的开放式消息传递协议,用于在要求“代码占用量小”或网络带宽受限的远程位置进行数据传输。这些优势允许在M2M系统(机器对机器)和IIoT系统(工业物联网)中实现此协议。
还存在一种协议变体MQTT-SN(用于传感器网络的MQTT),以前称为MQTT-S,其设计用于不支持TCP / IP网络的嵌入式无线设备,例如ZigBee。
MQTT协议的主要功能:
● 异步协议
● 紧凑的消息
● 在数据传输线连接不稳定的情况下运行
● 支持多个服务质量(QoS)级别
● 轻松集成新设备
在应用程序层上,MQTT协议在TCP / IP协议之上工作,并且默认使用端口1883(如果通过SSL连接则使用端口8883)。
在MQTT协议中,消息交换在客户端(可能是消息发布者或消息订阅者)与消息代理(例如Mosquitto MQTT)之间进行。
发布者在MQTT Broker上发送数据,并在消息中指定了明确的主题。订阅者可以根据对相应主题的订阅,从多个发布者接收各种数据。
MQTT设备使用确定类型的消息来与代理进行通信。主要类型如下:
● 连接–建立与Message Broker的连接
● 断开连接–断开与消息代理的连接
● 发布–在Message Broker中发布有关主题的数据
● 订阅–订阅消息代理上的主题
● 退订–退订主题
MQTT消息包含以下几部分:
● 固定的标头(出现在所有消息中)
● 可变标头(出现在某些消息中)
● 数据,有效负载(存在于某些消息中)
消息类型-例如:CONNECT,SUBSCRIBE,PUBLISH等。
每个MQTT数据包特有的标志–这4位用于辅助标志,辅助标志的存在和状态取决于消息类型。
剩余长度–当前消息长度(可变报头+数据),大小为1到4个字节。
总体而言,MQTT协议中有15种消息类型:
讯息类型 | 值 | 流向 | 描述 |
---|---|---|---|
已预留 | 0000(0) | 禁止的 | 已预留 |
连接 | 0001(1) | C *-> S ** | 客户端请求连接到服务器 |
康纳克 | 0010(2) | C <- | 连接确认 |
发布 | 0011(3) | C <-S,C-> S | 发布讯息 |
回送 | 0100(4) | C <-S,C-> S | 发布确认 |
PUBREC | 0101(5) | C <-S,C-> S | 发布收到 |
公开 | 0110(6) | C <-S,C-> S | 发布发行 |
PUBCOMP | 0111(7) | C <-S,C-> S | 发布完成 |
订阅 | 1000(8) | C-> S | 客户订阅请求 |
后退 | 1001(9) | C <- | 订阅确认 |
取消订阅 | 1010(10) | C-> S | 退订请求 |
取消订阅 | 1011(11) | C <- | 退订确认 |
PINGREQ | 1100(12) | C-> S | PING请求 |
平RESP | 1101(13) | C <- | PING回应 |
断开 | 1110(14) | C-> S | 客户端断开连接 |
已预留 | 1111(15) | 禁止的 | 已预留 |
上一篇:2G与4G之间的区别
下一篇:如何使用以太网作为串行端口