Sidewalk デバイスを接続してアップリンクメタデータ形式を表示する
このチュートリアルでは、MQTT テストクライアントを使用して接続をテストし、エンドデバイスと AWS クラウド との間で交換されるメッセージを確認します。メッセージを受信するには、MQTT テストクライアントで、宛先の IoT ルールを作成するときに指定したトピックに登録します。SendDataToWirelessDevice
API オペレーションを使用して、AWS IoT Core for Amazon Sidewalk からデバイスにダウンリンクメッセージを送信することもできます。メッセージ配信ステータスイベント通知を有効にすることで、メッセージが配信されたことを確認できます。
注記
ハードウェアプラットフォームの接続とセットアップの詳細については、「Amazon Sidewalk ドキュメント」の「エンドデバイスのプロビジョニングと登録
エンドデバイスにダウンリンクメッセージを送信する
SendDataToWirelessDevice
API オペレーションまたは send-data-to-wireless-device
CLI コマンドを使用して、AWS IoT Core for Amazon Sidewalk から Sidewalk エンドデバイスにダウンリンクメッセージを送信します。次のコードは、このコマンドの実行例を示しています。ペイロードデータは送信されるバイナリで、base64 でエンコードされます。
aws iotwireless send-data-to-wireless-device \ --id
"<Wireless_Device_ID>"
\ --payload-data"SGVsbG8gVG8gRGV2c2lt"
\ --wireless-metadata Sidewalk={Seq=1,AckModeRetryDurationSecs=10}
次に、このコマンドを実行したときの出力例を示します。これは、デバイスに送信されるダウンリンクメッセージの ID です。
{ MessageId:
"6011dd36-0043d6eb-0072-0008"
}
注記
SendDataToWirelessDevice
API はメッセージ ID を返すことができますが、メッセージは正常に配信されない可能性があります。デバイスに送信されたメッセージのステータスを確認するには、Sidewalk アカウントとデバイスのメッセージ配信ステータスイベントを有効にできます。このイベントを有効にする方法の詳細については、「Sidewalk リソースのイベント通知」を参照してください。このイベントタイプの詳細については、「メッセージ配信イベント」を参照してください。
デバイスから送信されたアップリンクメッセージの形式の表示
デバイスを接続した後、送信先ルール作成時に指定したトピック (例えば、
) をサブスクライブし、デバイスからのアップリンクメッセージを確認することができます。project/sensor/observed
送信先を作成するときにトピック名を指定した場合、そのトピックをサブスクライブして、エンドデバイスからのアップリンクメッセージをモニタリングできます。AWS IoT コンソールの [テスト] ページの [MQTT テストクライアント]
など) を入力して、[サブスクライブ] を選択します。project/sensor/observed
次の例は、Sidewalk デバイスから AWS IoT に送信されるアップリンクメッセージの形式を示しています。WirelessMetadata
にはメッセージリクエストに関するメタデータが含まれています。
{ "PayloadData":
"ZjRlNjY1ZWNlNw=="
, "WirelessDeviceId":"wireless_device_id"
, "WirelessMetadata":{ "Sidewalk":{ "CmdExStatus":"Cmd", "SidewalkId":"device_id
", "Seq":0, "MessageType":"messageType
" } } }
以下の表は、アップリンクメタデータの各パラメータの定義を示したものです。
は、ワイヤレスデバイスの ID (device-id
など) です。ABCDEF1234
は、デバイスから受信されるアップリンクメッセージのタイプです。messageType
パラメータ | 説明 | タイプ | 必須 |
---|---|---|---|
PayloadData |
ワイヤレスデバイスから送信されるメッセージペイロード。 |
文字列 | はい |
WirelessDeviceID |
データを送信しているワイヤレスデバイスの識別子 | 文字列 | はい |
Sidewalk.CmdExStatus |
コマンドのランタイムステータス。レスポンスタイプのメッセージには、ステータスコード |
一覧表 | いいえ |
Sidewalk.NackExStatus |
レスポンス nack のステータスで、 |
文字列の配列 | いいえ |