Publish to a Channel Feed
通过 MQTT 发布消息同时更新多个通道字段
话题
channels/<channelID>/publish
描述
channels/
通过向指定主题发布消息来更新通道源。将 <channelID>
/publish<channelID>
替换为您的 ThingSpeak通道ID。要了解有关配置通道的更多信息,请参阅 通道属性。要同时更新多个参数,请参见 负载参数。
添加任何必要的 负载参数。
将
PUBLISH
消息设置为QoS
值0
。将连接
RETAIN
标志设置为0
(关闭)。将连接
CleanSession
标志设置为1
(true
)。
要了解有关这些标志的更多信息,请参阅 MQTT v3.1.1 规范。
输入参数
负载参数
将 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
。