連接您的 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 |
回應未確認狀態,可以是 |
字串陣列 | 否 |