Main Content

本页采用了机器翻译。点击此处可查看英文原文。

Publish to a Channel Feed

通过 MQTT 发布消息同时更新多个通道字段

话题

channels/<channelID>/publish

描述

channels/<channelID>/publish 通过向指定主题发布消息来更新通道源。将 <channelID> 替换为您的 ThingSpeak通道ID。要了解有关配置通道的更多信息,请参阅 通道属性。要同时更新多个参数,请参见 负载参数

  • 添加任何必要的 负载参数

  • PUBLISH 消息设置为 QoS0

  • 将连接 RETAIN 标志设置为 0(关闭)。

  • 将连接 CleanSession 标志设置为 1 (true)。

要了解有关这些标志的更多信息,请参阅 MQTT v3.1.1 规范。

输入参数

全部展开

发布目标的通道 ID,指定为正整数。

负载参数

PUBLISH 消息的可选负载参数指定为带有 Name=Value 参数的字符串,参数之间用 & 分隔。示例:field1=100&field2=50&lat=30.61&long=40.35 如果参数定义字符串包含任何特殊字符,则必须对其进行 URL(百分比)编码 (application/x-www-form-urlencoded)。

field1

要在通道的字段 1 中输入的数据。

示例:field1=100

fieldx

要在通道的字段 x 中输入的数据。确保在通道设置中启用该字段。

示例:fieldx=100

x 必须小于或等于 8(允许的字段数)。

lat

您的通道的位置(以纬度形式表示)。

示例:lat=10.45

long

以经度形式表示的通道位置。

示例:long=35.4

elevation

通道距地面的海拔高度(以米为单位)。

示例:elevation=100

status

您通道的状态消息。

示例:status=Message

twitter

链接到 ThingTweet App 的 Twitter® 帐户的用户名。

示例:twitter=nohans

tweet

您的 Twitter 帐户的状态消息更新。

示例:tweet=Tweet from my channel

created_at

源条目的日期,格式为 ISO 8601

示例:created_at=2014-12-31 23:59:59

示例

配置 MQTT X 以发送 PUBLISH 消息来更新通道源。

在“新建连接”对话框中,使用以下连接设置以及在 ThingSpeak 中创建 MQTT 设备时派生的客户端 ID、用户名和密码:

Name: MyChanName
Client ID: ENTER_MQTT_DEVICE_CLIENT_ID
Host: mqtt://    mqtt3.thingspeak.com
Port: 1883
Username: ENTER_MQTT_DEVICE_USERNAME
Password: ENTER_MQTT_DEVICE_PASSWORD
Clean Session: true

在“有效负载”窗格中,使用以下设置:

Topic: channels/33301/publish
Payload: field1=45&field2=60&status=MQTTPUBLISH

PUBLISH 消息将 45 的值发布到 field1 并将 60 发布到 通道33301 的 $$,以及状态消息 MQTTPUBLISH