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 Profilinamenella console AWS IoT e scegli Crea profilo oppure utilizza l'operazione API CreateDeviceProfileo il comando dell'interfaccia a riga di comandocreate-device-profilecome mostrato in questo esempio.// Add your device profile using a name and the sidewalk object. aws iotwireless create-device-profile --namesidewalk_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 CreateWirelessDeviceo il comando dell'interfaccia a riga di comandocreate-wireless-devicecome 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" --namesidewalk_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,
DeviceTypeIde 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
GetDeviceProfileeGetWirelessDevicecome file JSON separati, ad esempioedevice_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 Wireless AWS IoT 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
CreateRoleo il comando dell'interfaccia a riga di comandocreate-role. Puoi assegnate al ruolo il nome.SidewalkRoleaws iam create-role --role-name lambda-ex \ --assume-role-policy-documentfile://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,
CreateTopicRuleo il comando AWS CLI,create-topic-rule, per creare una regola per la destinazione.aws iot create-topic-rule --rule-nameSidewalkrule\ --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 Servizi AWS. Puoi aggiungere una destinazione utilizzando l'hub Destinazioni
della console AWS IoT, l'operazione API CreateDestinationo il comando dell'interfaccia a riga di comandocreate-destination.aws iotwireless create-destination --nameSidewalkDestination\ --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
SendDataToWirelessDeviceo il comando della riga di comandosend-data-to-wireless-deviceper 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}