13,656
社区成员




[11章]SpringBoot 3.x + Netty + MQTT 实战物联网智能充电桩
一、什么是MQTT
MQTT(消息队列遥测传输)是ISO 标准(ISO/IEC PRF 20922)下基于发布订阅范式的消息协议。它工作在 TCP/IP协议之上,是为硬件性能低下的远程设备以及网络状况糟糕的情况下而设计的发布/订阅型消息协议,为此,它需要一个消息中间件 。
MQTT是一个基于客户端-服务器的消息发布/订阅传输协议。MQTT协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛。在很多情况下,包括受限的环境中,如:机器与机器(M2M)通信和物联网(IoT)。其在,通过卫星链路通信传感器、偶尔拨号的医疗设备、智能家居、及一些小型化设备中已广泛使用。
二、MQTT 特点
轻量级协议:
设计简单,占用带宽少,特别适合嵌入式设备和不稳定的网络环境。
发布/订阅模型:
客户端通过主题(Topic)发布消息,订阅者通过主题接收消息,彼此不直接通信。
可靠性保障:
提供三种服务质量(QoS)等级,确保消息可靠传输:
QoS 0:至多一次(不确认,可能丢失)。
QoS 1:至少一次(需要确认,但可能重复)。
QoS 2:仅一次(确保消息不丢失且不重复)。
持续连接:
使用 TCP/IP 连接,通过心跳包(Keep-Alive)保持连接稳定。
支持离线消息:
使用“保留消息”和“持久会话”功能,实现离线设备接收消息。
安全性:
支持 SSL/TLS 加密,结合用户名和密码进行身份验证。