Main Content

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

デスクトップ MQTT クライアントを使用したチャネルのパブリッシュとサブスクライブ

この例では、デスクトップ MQTT クライアントを使用してチャネルをパブリッシュおよびサブスクライブする方法を示します。この例では、EMQ によってオープンソース化された MQTT 5.0 デスクトップ クライアントである MQTT X を使用します。ThingSpeak™に送信したいセンサー値が複数ある場合は、複数の値をチャネルフィードに公開することを選択できます。センサーが 1 つだけの場合は、単一の値をチャネル フィールドにパブリッシュできます。

ソフトウェアの準備

1) Collect Data in a New Channelに示すように、新しいチャネルを作成します。

2) ThingSpeakページの上部にある «デバイス» > «MQTT» をクリックし、次に «デバイスの追加» をクリックして、新しい MQTT デバイスを作成します。デバイスをセットアップするときに、新しいチャネルを追加します。詳細については、 「ThingSpeak MQTT デバイスの作成」を参照してください。

3) 新しいデバイスを追加するときに、«Download Credentials» > «Plain Text» をクリックします。このダウンロードしたファイルは、以下の「設定」セクションでアクセスできるように保管してください。

4) MQTT Xをダウンロードしてインストールします。

MQTT X クライアントの構成

デスクトップ MQTT クライアントの接続プロファイルを構成します。

1) «新しい接続» をクリックするか、左ペインのプラス («+») アイコンをクリックします。

2) [一般構成] ボックスに、次の情報を入力します。

" 名前":MyChannel (この MQTT X 接続に使用する任意の名前)

" クライアントID":ENTER_YOUR_MQTT_CLIENT_ID (保存された認証情報ファイルより)

« ホスト:» mqtt:// mqtt3.thingspeak.com

" ポート":1883

« ユーザー名»:ENTER_YOUR_MQTT_USERNAME (保存された資格情報ファイルから。クライアント ID と同じである可能性があります)

« パスワード»:ENTER_YOUR_MQTT_PASSWORD (保存された認証情報ファイルより)

3) [詳細設定] ボックスで次のようにします。

«クリーンセッション»:true (で最高のパフォーマンスを実現)

« MQTT バージョン:» 3.1.1

4) 「接続」をクリックします。

チャネルフィードを購読する

チャネルを購読するには:

1) 「+ 新しいサブスクリプション」をクリックします。

2) [新しいサブスクリプション] ダイアログで次のフィールドを設定します。

"トピック":channels/<channelID>/subscribe (準備セクションで作成したチャネル番号を使用)

«QoS»:0

3) Click «Confirm».

チャネルフィードに公開する

右ペインの下部には、チャネルに公開するための領域があります。

1) 次のフィールドに入力します。

"ペイロード":Plaintext

«QoS»:0

"トピック":channels/<channelID>/publish ( <channelID>をチャネルID に置き換えます)

データフィールド:field1=45&field2=60&status=MQTTPUBLISH

2) 送信矢印をクリックします。

ログには、パブリッシュとサブスクリプションの両方の結果が表示されます。

                Topic: channels/33301/publishQoS: 0

                field1=45&field2=60&status=MQTTPUBLISH


Topic: channels/33301/subscribeQoS: 0

{"channel_id":33301,"created_at":"2021-04-29T19:45:43Z","entry_id":23,
"field1":"45","field2":"60","field3":null,"field4":null,"field5":null,
"field6":null,"field7":null,"field8":null,"latitude":null,"longitude":null,
"elevation":null,"status":"MQTTPUBLISH"}

チャネルフィールドに公開

あるいは、次のように入力して、単一のチャネルフィールドに公開することもできます。

" トピック":channels/<channelID>/publish/fields/field1

データフィールド:45

<channelID>をチャネルID に置き換えます。このPUBLISHメッセージは、指定されたチャネルのフィールド 1 に値 45 をパブリッシュします。

参考

|

関連する例

詳細