一、MQTT概念
MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的“轻量级”通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。
MQTT最大优点在于,用极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。作为一种低开销、低带宽占用的即时通讯协议,使其在物联网、小型设备、移动应用等方面有较广泛的应用。
特点:
MQTT是一个基于客户端-服务器的消息发布/订阅的传输协议。
MQTT协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛
QoS级别:
Qos0:这个级别会发生消息丢失或重复。
Qos1:这个级别将至少发送一次消息给订阅者。
Qos2:我们保证消息仅传送到目的地一次,带有唯一消息 ID 的消息会存储两次,首先来自发送者,然后是接收者。QoS 级别 2 在网络中具有最高的开销,因为在发送方和接收方之间需要两个流。
二、MQTT服务器的部署
1.下载EMQX
https://www.emqx.com/zh/try?product=broker
2.下载完成后,解压的目录内容如下:
3.进入bin目录,执行cmd命令
4.启动emqx
启动命令: emqx start
查看状态:emqx_ctl status
5.重置平台密码
执行命令: emqx_ctl admins passwd admin 密码
6.输入账号密码进入MQTT服务器控制台
我们在浏览器中输入:http://127.0.0.1:18083进行访问
7.登录成功后显示的页面
进入Settings中,设置中文模式
三、MQTT客户端的使用
1.下载工具MQTT.fx
下载链接:http://www.jensd.de/apps/mqttfx/
2.安装MQTT.fx
3.启动MQTT.fx
4.建立MQTT连接
5.连接MQTT服务器
6.查看MQTT平台中的客户端、主题页面
7.订阅->切换到Subscrible页面下,订阅主题 :test1 ,Qos 选择 Qos0,最后点击 Subscrible 键
随后查看平台的订阅列表页面
8.发布->切回 Publish 页面,发布一条消息在主题为:test1,消息内容为:"hello world ",Qos 同样设置为Qos0,最后点击 Publish 键
9.切换回 Subscribe页面,收到的消息内容与发出的内容一致,说明MQTT的订阅与发布的测试都没问题。