このガイドでは、デバイスのメッセージを購読する方法と、特定のデバイスにコマンドを送信する方法について説明します。Eclipse Mosquitto の CLI を使用してメッセージを購読または公開します。

セットアップ

認証情報

SenseCAP ポータルにアクセスし、「Security/Access API keys」に移動して、「Create Access Key」をクリックします。これにより「Access API keys」を取得できます。これを <Password> として設定し、「Organization ID」を <OrgID> として設定します。

デバイスのメッセージを受信する

すべてのデバイスのメッセージをリッスンしてみましょう。

  1. ターミナルウィンドウを開き、以下のコマンドを実行します。
  • OrgID = Organization ID
  • Password = Access API keys
mosquitto_sub \
-h sensecap-openstream.seeed.cn \
-t '/device_sensor_data/<OrgID>/+/+/+/+' \
-u 'org-<OrgID>' \
-P '<Password>' \
-I 'org-<OrgID>-quickstart' \
-v

先ほど取得した Organization ID と Access API Key を、上記の <OrgID> と <Password> に置き換えてください。

  1. デバイスの電源を入れます。デバイスがメッセージを送信し続ける間、以下のようなデータを受信するはずです。
/device_sensor_data/1234/2CF7F12000000001/1/vs/4105 {"value":2,"timestamp":1544151824139}
/device_sensor_data/xxxx/2CF7F12XXXXXXXXX/1/vs/4097 {"value":23,"timestamp":1544151900992}
/device_sensor_data/xxxx/2CF7F12XXXXXXXXX/1/vs/4101 {"value":101629,"timestamp":1544151901112}
/device_sensor_data/xxxx/2CF7F12XXXXXXXXX/1/vs/4098 {"value":71,"timestamp":1544151900992}
/device_sensor_data/xxxx/2CF7F12XXXXXXXXX/1/vs/4099 {"value":69.12,"timestamp":1544151902224}
/device_sensor_data/xxxx/2CF7F12XXXXXXXXX/1/vs/4100 {"value":437,"timestamp":1544151922137}
フィールド説明
1234OrgId組織ID
2CF7F12000000001DeviceEUIデバイスの一意の識別子
1Channelセンサーを接続するためのデバイス上の物理ソケット
vsReserved予約済みフィールド
4105MeasureID測定の種類、4105は風速を表します
2value収集された測定値、風速は2m/sです
1544151824139timestampデータ収集のタイムスタンプ

特定のキーを購読する

特定のキーを指定することで、特定のデバイスまたはチャネルのデータを購読できます。

例: エア温湿度センサー(DeviceEUI: 2CF7F12210400083; Channel: 1;)によって収集された温度値を購読します。温度測定IDは4097です。 <OrgID>を組織IDに、<Password>をアクセスAPIキーに置き換え、以下のコマンドを実行します:

mosquitto_sub \
-h sensecap-openstream.seeed.cn \
-t '/device_sensor_data/<OrgID>/2CF7F12210400083/1/vs/4097' \
-u 'org-<OrgID>' \
-P '<Password>' \
-I 'org-<OrgID>-quickstart' \
-v

データを受信しました:

/device_sensor_data/521853156991/2CF7F12210400083/1/vs/4097 {"value":28,"timestamp":1561373812474}

おめでとうございます!これで、MQTTを使用してメッセージを監視および受信する方法を理解しました。素晴らしいものを作りましょう!