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=100fieldx要在通道的字段 x 中输入的数据。确保该字段在通道设置中已启用。
例如:
fieldx=100x 必须小于或等于 8(允许的字段数)。
lat以纬度形式表示的通道位置。
例如:
lat=10.45long以经度形式表示的通道位置。
例如:
long=35.4elevation您的通道距地面的海拔高度(以米为单位)。
例如:
elevation=100status您的通道的状态消息。
例如:
status=Messagecreated_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 发布到通道 field1 的 60 和 field2 到 33301,以及状态消息 MQTTPUBLISH。