連接您的 Sidewalk 裝置並檢視上行中繼資料格式
於本教學課程中,您將會使用 MQTT 測試用戶端來測試連線,並查看在您終端裝置和 AWS 雲端 之間的訊息交換。如要接收訊息,請於 MQTT 測試用戶端中訂閱在建立目的地的 IoT 規則時所指定的主題。您還可使用 SendDataToWirelessDevice API 操作,將下行訊息從適用於 Amazon Sidewalk 的 AWS IoT Core 傳送至您的裝置。您可啟用訊息傳遞狀態事件通知,確認訊息已傳遞。
注意
如需連接硬體平台並進行設定的相關資訊,請參閱《Amazon Sidewalk 文件》中的佈建和註冊終端裝置
將下行訊息傳送至您的終端設備
使用 SendDataToWirelessDevice API 操作或 send-data-to-wireless-device CLI 指令,將下行訊息從適用於 Amazon Sidewalk 的 AWS IoT Core 傳送至您的 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 |
回應未確認狀態,可以是 |
字串陣列 | 否 |