デバイス制御方式に依存した送信メッセージ構文
IoT HubのDevice TwinsやAWS IoTのDevice Shadow の制御においては、MQTTプロトコルのトピックを用います。
このためPD Repeaterでは、IoT HubとAWS IoTについて送信メッセージ(PDReperterへの入力)の構文にルールを設けMQTTプロトコルのトピックを制御します。
なお、各送信メッセージをPD Repeaterが待ち受けしているUnix Domainソケットに対して書き込むことで対応の処理が行われます。
MS Azure IoT Hubの送信メッセージ構文
IoT HubのDevice TwinsとDirect Methodをサポートするため、次の構文が用意されています。
Device Twinsのプロパティを取得する :
Device Twinsのプロパティの更新を通知する :
Direct Methodに対する応答 :
ここで、
- <Request ID> は、
- Device Twinsもしくは、Direct Method のリクエストID
- <Reported>は、
- Device Twins のreportedプロパティ(JSONオブジェクト)
- <Status Code> は、
- Direct Methodの実行ステータスコード、正常時は 200.
- <Any Payload> は、
- Direct Methodに対する応答ペイロード(JSONオブジェクト)
これらの機能を利用するためには、 IoT Hub からの下流方向メッセージ(Device Twins, Direct Method)を処理するアプリケーションの開発が必要となります。
AWS IoTの送信メッセージ構文
AWS IoT の Device Shadowをサポートするため、次の構文が用意されています。
Device Shadowの取得 :
Device Shadowの更新 :
Device Shadowの削除 :
ここで、
- <Reported> は、
- Device Shadow のreportedプロパティ(JSONオブジェクト)
なお、モノの名前thingNameは、AWS IoT(awsiot)又は AWS IoT[Websocket](awsiot_ws)設定された値が用いられます。
また、AWS IoTサービスからdesiredプロパティを受け取るためには、 AWS IoT からの下流方向メッセージを処理するアプリケーションの開発が必要となります。
MQTTサーバーの送信メッセージ構文
MQTTサーバーにおいては、メッセージ毎にトピックを柔軟に変更することができます。
MQTTトピックの変更 :
MQTTトピック ユニークIDの変更 :
MQTTトピック プレフィックスの変更 :