1.MQTT是什么
MQTT是基于发布与订阅模式的轻量级通讯协议,是基于TCP/IP建立的应用层协议。
2.MQTT的特点
-
轻量级:MQTT协议非常简洁,以极少的代码和有限的带宽就能实现可靠的消息传输。
-
实时性:MQTT提供实时消息服务,确保设备之间的数据传输及时可靠。
-
低开销:MQTT协议的开销非常小,适合在资源受限的设备上运行。这也是为什么MQTT适合物联网领域,因为嵌入式设备的运算能力和带宽都有限。
-
可扩展性:MQTT协议具有良好的可扩展性,可以支持大量的设备和主题。
3.MQTT的应用场景
1.物联网(lot)设备通信,例如智能家居设备与中央控制系统之间通信。
2.云服务,可以将设备的数据信息传到云端,利用云服务进行分析实现自动控制。
3.MtoM,mqtt支持设备之间通信,无需服务器中转
4.移动引用,手机app与设备之间的通讯。
4.MQTT协议实现方式
MQTT协议中有三种身份:发布者(Publish)、代理(Broker)(服务器)、订阅者(Subscribe)。其中,消息的发布者和订阅者都是客户端,消息代理是服务器,消息发布者可以同时是订阅者。
发送者:发送数据的一方
订阅者:接受数据的一方
代理:数据的中转站
MQTT传输的消息分为:主题(Topic)和负载(payload)两部分:
- (1)Topic,可以理解为消息的类型,订阅者订阅(Subscribe)后,就会收到该主题的消息内容(payload);相当于b站up主的账号
- (2)payload,可以理解为消息的内容,是指订阅者具体要使用的内容。相当于b站up主的视频
根据你订阅的主体不同,收到负载的内容也不同 。
5.客户端订阅(subscribe)的程序编写思路
1.创建MQTT客户端
2.设置连接选项
3.设置回调函数,最重要的就是信息到达时的回调函数
4.连接mqtt服务器
5.订阅相关主题
6.取消订阅并断开连接
6.客户端发布(publish)的程序编写思路
1.创建MQTT客户端
2.设置连接选项
3连接MQTT服务器
4.设置消息的属性
5.发布相关主题
6取消连接,销毁实例