使用桌面 MQTT 客户端发布和订阅通道
此示例演示如何使用桌面 MQTT 客户端发布和订阅通道。本示例使用 EMQ 开源的 MQTT 5.0 桌面客户端 MQTT X。如果您想要将多个传感器值发送到 ThingSpeak™,您可以选择将多个值发布到通道源。如果您只有一个传感器,则可以将单个值发布到通道字段。
准备软件
1)新建一个通道,如图Collect Data in a New Channel所示。
2) 点击“设备”创建新的 MQTT 设备>ThingSpeak 页面顶部的“MQTT”,然后是“添加设备”。设置设备时,添加新通道。详情请参见创建 ThingSpeak MQTT 设备。
3) 添加新设备时,点击“下载凭据”> “ 纯文本 ” 。保留此下载的文件以供在下面的“配置”部分中访问。
4) 下载并安装MQTT X。
配置 MQTT X 客户端
配置桌面 MQTT 客户端的连接配置文件。
1) 点击“新建连接”,或左侧窗格中的加号 (“+”) 图标。
2) 在常规配置框中,输入以下信息:
Name :MyChannel
(您想要用于此 MQTT X 连接的任何名称)
Client ID :ENTER_YOUR_MQTT_CLIENT_ID
(来自保存的凭据文件)
主持人: mqtt:// mqtt3.thingspeak.com
Port :1883
Username :ENTER_YOUR_MQTT_USERNAME
(来自保存的凭据文件,可能与客户端 ID 相同)
Password :ENTER_YOUR_MQTT_PASSWORD
(来自保存的凭据文件)
3)在高级配置框中:
清空会话 :true
(
最佳表现)
MQTT 版本: 3.1.1
4) 点击“连接”。
订阅通道源
订阅通道:
1) 点击“+新订阅”。
2) 在“新建订阅”对话框中设置以下字段:
Topic :channels/<channelID>/subscribe
(使用在准备部分中创建的通道编号)
QoS :0
3) Click
Confirm
.
发布到通道源
右窗格的底部是用于发布到通道的区域。
1) 输入以下字段:
Payload :Plaintext
QoS :0
Topic :channels/<channelID>/publish
(将 <channelID>
替换为通道ID)
数据字段:field1=45&field2=60&status=MQTTPUBLISH
2) 点击发送箭头。
日志显示发布和订阅结果:
Topic: channels/33301/publishQoS: 0 field1=45&field2=60&status=MQTTPUBLISH Topic: channels/33301/subscribeQoS: 0 {"channel_id":33301,"created_at":"2021-04-29T19:45:43Z","entry_id":23, "field1":"45","field2":"60","field3":null,"field4":null,"field5":null, "field6":null,"field7":null,"field8":null,"latitude":null,"longitude":null, "elevation":null,"status":"MQTTPUBLISH"}
发布到通道字段
或者,您可以输入以下内容以发布到单个通道字段。
Topic :channels/<channelID>/publish/fields/field1
数据字段:45
将 <channelID>
替换为通道ID。此 PUBLISH
消息将值 45 发布到指定通道的字段 1。
另请参阅
Publish to a Channel Field Feed | Publish to a Channel Feed