Introduzione all'onboarding dei dispositivi Sidewalk
In questa sezione viene illustrato come eseguire l'onboarding dei dispositivi finali Sidewalk in AWS IoT Core per Amazon Sidewalk. Per eseguire l'onboarding dei dispositivi, aggiungi innanzitutto il dispositivo Sidewalk, effettua il provisioning del dispositivo e la registrazione, quindi connetti l'hardware all'applicazione cloud. Prima di eseguire questo tutorial, rivedi e completa Installazione di Python e della AWS CLI.
Nella procedura seguente viene illustrato come eseguire l'onboarding e collegare i dispositivi finali Sidewalk in AWS IoT Core per Amazon Sidewalk. Se desideri eseguire l'onboarding dei dispositivi utilizzando AWS CLI, puoi fare riferimento ai comandi di esempio forniti in questa sezione. Per informazioni sull'onboarding dei dispositivi mediante la console AWS IoT, consultare Connessione a AWS IoT Core per Amazon Sidewalk.
Importante
Per eseguire l'intero flusso di lavoro di onboarding, viene anche effettuato il provisioning e la registrazione del dispositivo finale e il collegamento del kit di sviluppo dell'hardware (HDK). Per ulteriori informazioni, consultare la pagina relativa al provisioning e alla registrazione del dispositivo finale
Argomenti
Fase 1: Aggiunta del dispositivo Sidewalk ad AWS IoT Core per Amazon Sidewalk
Di seguito viene fornita una panoramica della procedura eseguita per aggiungere il dispositivo finale Sidewalk ad AWS IoT Core per Amazon Sidewalk. Archivia le informazioni ottenute sul profilo del dispositivo e sul dispositivo wireless che viene creato. Utilizzerai queste informazioni per effettuare il provisioning e la registrazione del dispositivo finale. Per ulteriori informazioni su questa procedura, consultare Aggiunta del dispositivo ad AWS IoT Core per Amazon Sidewalk.
-
Creazione di un profilo del dispositivo
Crea un profilo del dispositivo contenente le configurazioni condivise per i dispositivi Sidewalk. Durante la creazione del profilo, specifica un
per il profilo come una stringa alfanumerica. Per creare un profilo, vai alla scheda Sidewalk dell'hub Profiliname
nella console AWS IoT e scegli Crea profilo oppure utilizza l'operazione API CreateDeviceProfile
o il comando dell'interfaccia a riga di comandocreate-device-profile
come mostrato in questo esempio.// Add your device profile using a name and the sidewalk object. aws iotwireless create-device-profile --name
sidewalk_profile
--sidewalk {} -
Creazione del dispositivo finale Sidewalk
Crea il tuo dispositivo finale Sidewalk con AWS IoT Core per Amazon Sidewalk. Specifica un nome destinazione e l'ID del profilo del dispositivo ottenuto nella fase precedente. Per aggiungere un dispositivo, vai alla scheda Sidewalk dell'hub Dispositivi
nella console AWS IoT e scegli Provisioning del dispositivo oppure utilizza l'operazione API CreateWirelessDevice
o il comando dell'interfaccia a riga di comandocreate-wireless-device
come mostrato in questo esempio.Nota
Specifica un nome per la destinazione che sia univoco per Account AWS e Regione AWS. Lo stesso nome destinazione verrà utilizzato quando si aggiunge la destinazione ad AWS IoT Core per Amazon Sidewalk.
// Add your Sidewalk device by using the device profile ID. aws iotwireless create-wireless-device --type "Sidewalk" --name
sidewalk_device
\ --destination-nameSidewalkDestination
\ --sidewalk DeviceProfileId="12345678-234a-45bc-67de-e8901234f0a1"
-
Ottenere informazioni sul profilo del dispositivo e sul dispositivo wireless
Ottieni le informazioni sul profilo del dispositivo e sul dispositivo wireless come un file JSON. Il file JSON contiene informazioni sui dettagli del dispositivo, i certificati dei dispositivi, le chiavi private,
DeviceTypeId
e il numero di serie di produzione Sidewalk (SMSN).-
Se stai usando la console AWS IoT, puoi utilizzare la scheda Sidewalk dell'hub Dispositivi
per scaricare un file JSON combinato per il dispositivo finale Sidewalk. -
Se stai usando le operazioni API, archivia le risposte ottenute dalle operazioni API
GetDeviceProfile
eGetWirelessDevice
come file JSON separati, ad esempio
edevice_profile.json
.wireless_device.json
// Store device profile information as a JSON file. aws iotwireless get-device-profile \ --id
"12345678-a1b2-3c45-67d8-e90fa1b2c34d"
>device_profile.json
// Store wireless device information as a JSON file. aws iotwireless get-wireless-device --identifier-type WirelessDeviceId \ --identifier"23456789-abcd-0123-bcde-fabc012345678"
>wireless_device.json
-
Fase 2: Creazione di una destinazione per il dispositivo finale Sidewalk
Di seguito viene fornita una panoramica della procedura che verrà eseguita per aggiungere la destinazione ad AWS IoT Core per Amazon Sidewalk. Utilizzando la AWS Management Console, le operazioni API AWS IoT Wireless o AWS CLI, esegui i seguenti passaggi per creare una regola AWS IoT e una destinazione. Puoi quindi eseguire la connessone alla piattaforma hardware e visualizzare e scambiare messaggi. Per un esempio di ruolo IAM e regola AWS IoT utilizzati per gli esempi AWS CLI di questa sezione, consultare Creazione di un ruolo IAM e della regola IoT per la destinazione.
-
Creazione di un ruolo IAM
Crea un ruolo IAM che concede l'autorizzazione AWS IoT Core per Amazon Sidewalk per inviare dati alla regola AWS IoT. Per creare il ruolo, utilizza l'operazione API
CreateRole
o il comando dell'interfaccia a riga di comandocreate-role
. Puoi assegnate al ruolo il nome
.SidewalkRole
aws iam create-role --role-name lambda-ex \ --assume-role-policy-document
file://lambda-trust-policy.json
-
Creazione di una regola per la destinazione
Crea una regola AWS IoT che elabora i dati del dispositivo e specifica l'argomento in cui vengono pubblicati i messaggi. I messaggi su questo argomento verranno visualizzati dopo la connessione alla piattaforma hardware. Utilizza l'operazione API AWS IoT Core,
CreateTopicRule
o il comando AWS CLI,create-topic-rule
, per creare una regola per la destinazione.aws iot create-topic-rule --rule-name
Sidewalkrule
\ --topic-rule-payloadfile://myrule.json
-
Creazione di una destinazione
Crea una destinazione che associa il dispositivo Sidewalk alla regola IoT utilizzata per elaborarlo per l'uso con altri AWS servizi. Puoi aggiungere una destinazione utilizzando l'hub Destinazioni
della console AWS IoT, l'operazione API CreateDestination
o il comando dell'interfaccia a riga di comandocreate-destination
.aws iotwireless create-destination --name
SidewalkDestination
\ --expression-type RuleName --expressionSidewalkRule
\ --role-arn arn:aws:iam::123456789012
:role/SidewalkRole
Fase 3: Effettuare il provisioning e registrare il dispositivo finale
Utilizzando i comandi Python, è possibile effettuare il provisioning e la registrazione del dispositivo finale. Lo script di provisioning utilizza i dati JSON del dispositivo ottenuti per generare un'immagine binaria di produzione, che viene memorizzata nella flash sulla scheda hardware. Il dispositivo finale viene quindi registrato per la connessione alla piattaforma hardware. Per ulteriori informazioni, consultare la pagina relativa al provisioning e alla registrazione del dispositivo finale
Nota
Durante la registrazione del dispositivo finale Sidewalk, il gateway deve fornire il consenso esplicito ad Amazon Sidewalk e il gateway e il dispositivo devono trovarsi entro una determinata distanza tra loro.
Fase 4: Connessione a un dispositivo finale Sidewalk e scambio di messaggi
Dopo aver registrato il dispositivo finale, è possibile connetterlo e iniziare a scambiare messaggi e dati del dispositivo.
-
Connessione del dispositivo finale Sidewalk
Collega l'HDK al computer e segui le istruzioni fornite dalla documentazione del fornitore per connetterti all'HDK. Per ulteriori informazioni, consultare la pagina relativa al provisioning e alla registrazione del dispositivo finale
nella documentazione di Amazon Sidewalk. -
Visualizzazione e scambio di messaggi
Utilizza il client MQTT per effettuare la sottoscrizione all'argomento specificato nella regola e visualizzare il messaggio ricevuto. Puoi anche utilizzare l'operazione API
SendDataToWirelessDevice
o il comando della riga di comandosend-data-to-wireless-device
per inviare un messaggio in downlink al dispositivo e verificare lo stato della connettività.(Facoltativo) Puoi abilitare gli eventi sullo stato di consegna dei messaggi per verificare se il messaggio in downlink è stato ricevuto correttamente.
aws iotwireless send-data-to-wireless-device \ --id
"<Wireless_Device_ID>"
\ --payload-data"SGVsbG8gVG8gRGV2c2lt"
\ --wireless-metadata Sidewalk={Seq=1,AckModeRetryDurationSecs=10}