主要内容

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

Publish to a Channel Feed

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

主题

channels/<channelID>/publish

描述

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

  • 添加任何必要的 有效载荷参数

  • PUBLISH 消息设置为具有 QoS 值的 0

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

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

要了解有关这些标志的更多信息,请参阅 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

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

在 Payload 窗格中,使用以下设置:

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

PUBLISH 消息将值 45 发布到通道 field160field233301,以及状态消息 MQTTPUBLISH