1 MQTT简介
MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的"轻量级"通讯协议。该协议构基于TCP/IP协议之上,由IBM于1999年发布。
2 MQTT协议
MQTT 协议中有三种身份:
1 发布者(Publisher)、
2 代理(Broker)(服务器)、
3 订阅者(Subscriber)
MQTT 是发布订阅(Publish/Subscribe) 模式的消息协议,
1)发布者(Publisher)只能向特定“名称主题”(不支持通配符)发布消息
2)订阅者(Subscriber)通过订阅“过滤主题”(支持通配符)来匹配消息
Broker有很多,这里选择国产开源的emq。
https://www.emqx.cn/downloads#broker
MQTT client,这里选择mqttfx。
http://www.jensd.de/apps/mqttfx/
3 安装运行
3.1 broker(emqx)的安装
本地环境 windows 64位。
https://www.emqx.cn/downloads#broker下载,这里选择
- 下载 emqx-windows-4.2.1.zip,解压
- 命令行下进入解压路径,启动 emqx
./bin/emqx start
浏览器输入:http://localhost:18083,DashBoard(控制面板)如下:
用户名 admin, 密码 public。登录。
3.2 mqtt_client
http://www.jensd.de/apps/mqttfx/下载安装,直接运行。
3.3 发布订阅消息
第1步:client 连接broker。
输入服务器和端口,点击“连接”按钮:
连接成功会有提示:
DashBoard可以看到client的连接情况:
第2步:Publisher发布主题。
topic填写“iot”,Qos选择“0”,Payload填写“hello world!”.最后点击“发布”按钮。
DashBoard可以看到topic:
第3步:Subscriber 订阅主题。
topic填写“iot”,Qos选择“0”,最后点击“订阅”按钮。
当前接收内容出现“hello world!”。
DashBoard可以看到Subscriber
发布者(Publisher)和订阅者(Subscriber)可以是不同的client、这里是同一个client。