使用桌面 MQTT 客户端发布和订阅通道
此示例展示如何使用桌面 MQTT 客户端发布和订阅通道。示例使用 EMQ 开源的 MQTT 5.0 桌面客户端 MQTT X。如果您有多个传感器值想要发送到 ThingSpeak™,您可以选择将多个值发布到通道源。如果您只有一个传感器,则可以将单个值发布到通道字段。
准备软件
1) 创建新的通道,如在新通道中收集数据所示。
2) 通过点击 ThingSpeak 页面顶部的 Devices > MQTT,然后点击 Add Device 来创建一个新的 MQTT 设备。当您设置设备时,添加新通道。详情请参阅创建 ThingSpeak MQTT 设备。
3) 添加新设备时,点击 Download Credentials > Plain Text。保留此下载的文件以便在下面的配置部分进行访问。
4) 下载并安装 MQTT X。
配置 MQTT X 客户端
配置桌面 MQTT 客户端的连接配置文件。
1) 点击 New Connection 或左侧窗格中的加号 (+) 图标。
2) 在常规配置框中,输入以下信息:
Name:MyChannel
(您想要用于此 MQTT X 连接的任何名称)
客户端 ID:ENTER_YOUR_MQTT_CLIENT_ID
(来自已保存的凭证文件)
Host mqtt:// mqtt3.thingspeak.com
:
Port:1883
Username:ENTER_YOUR_MQTT_USERNAME
(来自保存的凭证文件,可能与客户端 ID 相同)
Password:ENTER_YOUR_MQTT_PASSWORD
(来自已保存的凭证文件)
3) 在 Advanced 配置框中:
Clean Session:true
(
以获得最佳性能 )
MQTT Version 3.1.1
:
4) 点击 Connect。
订阅通道动态
要订阅通道:
1) 点击 + New Subscription。
2) 在 New Subscription 对话框中设置以下字段:
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