Main Content

このページは機械翻訳を使用して翻訳されました。元の英語を参照するには、ここをクリックします。

Publish to a Channel Feed

MQTT で複数のチャネルフィールドを同時に更新するメッセージをパブリッシュする

トピック

channels/<channelID>/publish

説明

channels/<channelID>/publish は、指定されたトピックにメッセージを公開することでチャネルフィードを更新します。<channelID> をThingSpeakチャネルID に置き換えます。チャネルの構成の詳細については、チャネルのプロパティを参照してください。複数のパラメーターを同時に更新するには、ペイロード パラメーターを参照してください。

  • 必要なペイロード パラメーターを追加します。

  • QoS 値が 0 となるように PUBLISH メッセージを設定します。

  • 接続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

チャネルの Field 1 に入力されるデータ。

次に例を示します。 field1=100

fieldx

チャネルの Field x に入力されるデータ。チャネル設定でフィールドが有効になっていることを確認してくください。

次に例を示します。 fieldx=100

x は、許可されるフィールドの数である 8 以下である必要があります。

lat

緯度形式のチャネルの位置。

次に例を示します。 lat=10.45

long

経度形式のチャネルの位置。

次に例を示します。 long=35.4

elevation

地表からのチャネルの高度 (メートル単位)。

次に例を示します。 elevation=100

status

チャネルのステータス メッセージ。

次に例を示します。 status=Message

twitter

Twitter® ThingTweet アカウントのユーザー名。

次に例を示します。 twitter=nohans

tweet

Twitter アカウントのステータス メッセージの更新。

次に例を示します。 tweet=Tweet from my channel

created_at

ISO 8601形式のフィード エントリの日付。

次に例を示します。 created_at=2014-12-31 23:59:59

PUBLISHメッセージを送信してチャネルフィードを更新するように MQTT X を構成します。

[新しい接続] ダイアログで、 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に公開し、 60field2に公開します。チャネル33301の$$ とステータス メッセージMQTTPUBLISH