物联网(Internet of Things,简称IoT)是一个由互联网、传统电信网、传感器网络等组成的庞大网络,它通过嵌入式传感器、设备和软件,将物理世界中的物体连接起来,实现物与物、物与人、物与网络之间的智能化交互。简单来说,物联网就是让“万物互联”,让设备能够自主地感知、传输和处理数据,从而为人类生活和工业生产带来更高的效率和便利。
MQTT(Message Quelemetry Transport)是一种轻量级的、基于发布订阅模式的网络传输协议,适用于资源受限的设备和低带宽、高延迟或不稳定的网络环境。它在物联网环境中应用广泛,能够实现传感器、执行器和其他设备之间的高效通信。
home/floor1/#
,订阅floor1
下所有子主题的消息。QoS等级 | 传输过程 | 适用场景 |
---|---|---|
0 | 最多发送一次(无需确认) | 实时性高但允许丢失数据的场景 |
1 | 至少一次(Broker确认) | 设备控制指令 |
2 | 精确一次(四次握手确保唯一性) | 支付、安全告警 |
客户端向Broker发送CONNECT
报文,包含客户端ID、用户名和密码等认证信息。Broker验证后返回CONNACK
报文,表示连接成功。
PUBLISH
报文发送到Broker指定的主题(Topic),Broker根据订阅关系将消息发送给指定的订阅者。SUBSCRIBE
报文,指定要订阅的主题(Topic)和QoS级别。根据QoS级别,消息可能需要确认:
客户端发送DISCONNECT
报文,通知Broker主动断开连接。
以下是文字描述的流程图结构:
客户端
|
v
[建立连接] -> [发送CONNECT报文] -> [接收CONNACK报文]
|
v
[发布消息] -> [发送PUBLISH报文] -> [Broker转发消息]
|
v
[订阅消息] -> [发送SUBSCRIBE报文] -> [接收消息]
|
v
[消息确认] -> [根据QoS级别确认消息]
|
v
[断开连接] -> [发送DISCONNECT报文]
MQTT工作流程图:
MQTT广泛应用于设备监控、车联网、智能家居等领域。例如: