Connetti il tuo dispositivo Sidewalk e visualizza il formato dei metadati uplink - Wireless AWS IoT

Connetti il tuo dispositivo Sidewalk e visualizza il formato dei metadati uplink

In questo tutorial, verrà utilizzato il client di test MQTT per testare la connettività e visualizzare i messaggi scambiati tra il dispositivo finale e Cloud AWS. Per ricevere messaggi, nel client di test MQTT, effettua la sottoscrizione all'argomento specificato durante la creazione della regola IoT per la destinazione. Puoi anche inviare un messaggio in downlink da AWS IoT Core per Amazon Sidewalk al dispositivo utilizzando l'operazione API SendDataToWirelessDevice. Puoi verificare che il messaggio sia stato recapitato abilitando la notifica eventi per lo stato della consegna del messaggio.

Nota

Per informazioni sulla connessione della piattaforma hardware e la relativa configurazione, consultare le pagine relative al provisioning e alle registrazione del dispositivo finale e alla configurazione del kit di sviluppo dell'hardware (HDK) nella documentazione di Amazon Sidewalk.

Utilizza l'operazione API SendDataToWirelessDevice o il comando dell'interfaccia a riga di comando send-data-to-wireless-device per inviare messaggi in downlink da AWS IoT Core per Amazon Sidewalk al dispositivo finale Sidewalk. Di seguito viene illustrato un esempio di come eseguire questo comando. I dati del payload sono i dati binari da inviare, codificati in base64.

aws iotwireless send-data-to-wireless-device \ --id "<Wireless_Device_ID>" \ --payload-data "SGVsbG8gVG8gRGV2c2lt" \ --wireless-metadata Sidewalk={Seq=1,AckModeRetryDurationSecs=10}

Di seguito viene mostrato un output di esempio di esecuzione di questo comando, che è un ID del messaggio in downlink inviato al dispositivo.

{ MessageId: "6011dd36-0043d6eb-0072-0008" }
Nota

L'API SendDataToWirelessDevice può restituire un ID messaggio, ma il messaggio potrebbe non essere recapitato correttamente. Per verificare lo stato del messaggio inviato al dispositivo, è possibile abilitare gli eventi sullo stato della consegna del messaggio per gli account e i dispositivi Sidewalk. Per ulteriori informazioni su come abilitare questo evento, consultare Notifiche di eventi per le risorse Sidewalk. Per ulteriori informazioni su questo tipo di evento, consultare Eventi di consegna dei messaggi.

Dopo aver collegato il dispositivo, è possibile effettuare la sottoscrizione all'argomento (ad esempio, project/sensor/observed) specificato durante la creazione della regola di destinazione e osservare i messaggi in uplink dal dispositivo.

Se durante la creazione della destinazione è stato specificato il nome di un argomento, è possibile eseguire la sottoscrizione all'argomento per monitorare i messaggi in uplink dal dispositivo finale. Passa a Client di test MQTT nella pagina Test della console AWS IoT, inserisci il nome dell'argomento (ad esempio, project/sensor/observed), quindi scegli Sottoscrizione.

Nell'esempio seguente viene illustrato il formato dei messaggi di uplink inviati da dispositivi Sidewalk ad AWS IoT. WirelessMetadata contiene metadati relativi alla richiesta di messaggio.

{ "PayloadData":"ZjRlNjY1ZWNlNw==", "WirelessDeviceId":"wireless_device_id", "WirelessMetadata":{ "Sidewalk":{ "CmdExStatus":"Cmd", "SidewalkId":"device_id", "Seq":0, "MessageType":"messageType" } } }

Nella tabella seguente viene illustrata una definizione dei diversi parametri nei metadati uplink. device-id è l'ID del dispositivo wireless, ad esempio ABCDEF1234, e messageType è il tipo di messaggio in uplink ricevuto dal dispositivo.

Parametri dei metadati uplink di Sidewalk
Parametro Descrizione Type Richiesto
PayloadData

Il payload del messaggio inviato dal dispositivo wireless.

Stringa
WirelessDeviceID L'identificatore del dispositivo wireless che invia i dati Stringa
Sidewalk.CmdExStatus

Stato del comando runtime. I messaggi del tipo di risposta devono includere il codice di stato, COMMAND_EXEC_STATUS_SUCCESS. Tuttavia, le notifiche potrebbero non includere il codice di stato.

Enumerazione No
Sidewalk.NackExStatus

Stato del nack di risposta, che può essere RADIO_TX_ERROR o MEMORY_ERROR.

Gamma di stringhe No