Test delle comunicazioni (sincronizzazione dispositivi disattivata) - AWS IoT Greengrass

AWS IoT Greengrass Version 1 è entrato nella fase di estensione della vita utile il 30 giugno 2023. Per ulteriori informazioni, consulta la politica AWS IoT Greengrass V1 di manutenzione. Dopo questa data, AWS IoT Greengrass V1 non rilascerà aggiornamenti che forniscano funzionalità, miglioramenti, correzioni di bug o patch di sicurezza. I dispositivi che funzionano AWS IoT Greengrass V1 non subiranno interruzioni e continueranno a funzionare e a connettersi al cloud. Ti consigliamo vivamente di eseguire la migrazione a AWS IoT Greengrass Version 2, che aggiunge nuove importanti funzionalità e supporto per piattaforme aggiuntive.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Test delle comunicazioni (sincronizzazione dispositivi disattivata)

  1. Assicurati che il computer e il dispositivo AWS IoT Greengrass principale siano connessi a Internet utilizzando la stessa rete.

    1. Sul dispositivo AWS IoT Greengrass principale, esegui il comando seguente per trovare il relativo indirizzo IP.

      hostname -I
    2. Sul computer, esegui il comando seguente utilizzando l'indirizzo IP del core. È possibile utilizzare Ctrl + C per arrestare il comando ping.

      ping IP-address

      Un output simile al seguente indica una comunicazione riuscita tra il computer e il dispositivo AWS IoT Greengrass principale (perdita di pacchetti pari allo 0%):

      Output del comando "ping" eseguito con successo.
      Nota

      Se non riesci a eseguire il ping di un'istanza EC2 in esecuzione AWS IoT Greengrass, assicurati che le regole del gruppo di sicurezza in entrata relative all'istanza consentano il traffico ICMP per i messaggi di richiesta Echo. Per ulteriori informazioni, consulta Aggiungere regole a un gruppo di sicurezza nella Guida per l'utente di Amazon EC2.

      Nei computer host Windows, nell'app Windows Firewall con sicurezza avanzata, potrebbe essere necessario abilitare la regola per le connessioni in entrata che consente le richieste echo in entrata, ad esempio Condivisione file e stampanti (richiesta echo - ICMPv4-In), o crearne una.

  2. Ottieni il tuo AWS IoT endpoint.

    1. Dal pannello di navigazione AWS IoT della console, scegli Impostazioni.

    2. In Device data endpoint, prendi nota del valore di Endpoint. Usa questo valore per sostituire il segnaposto AWS_IOT_ENDPOINT nei comandi nei passaggi seguenti.

  3. Sul computer (non sul dispositivo AWS IoT Greengrass principale), apri due finestre della riga di comando (terminale o prompt dei comandi). Una finestra rappresenta il dispositivo client GG_Switch e l'altra rappresenta il dispositivo client GG_. TrafficLight

    1. Dalla finestra del dispositivo client GG_Switch, esegui i seguenti comandi.

      • Sostituisci path-to-certs-folder con il percorso della cartella che contiene i certificati, le chiavi e i file Python.

      • Sostituisci AWS_IOT_ENDPOINT con il tuo endpoint.

      • Sostituisci le due CertId istanze dello switch con l'ID del certificato nel nome del file per il tuo dispositivo client GG_Switch.

      cd path-to-certs-folder python lightController.py --endpoint AWS_IOT_ENDPOINT --rootCA AmazonRootCA1.pem --cert switchCertId-certificate.pem.crt --key switchCertId-private.pem.key --thingName GG_TrafficLight --clientId GG_Switch
    2. Dalla finestra del dispositivo TrafficLight client GG_, esegui i seguenti comandi.

      • Sostituisci path-to-certs-folder con il percorso della cartella che contiene i certificati, le chiavi e i file Python.

      • Sostituisci AWS_IOT_ENDPOINT con il tuo endpoint.

      • Sostituite le due CertId istanze light con l'ID del certificato nel nome del file per il vostro dispositivo client TrafficLight GG_.

      cd path-to-certs-folder python trafficLight.py --endpoint AWS_IOT_ENDPOINT --rootCA AmazonRootCA1.pem --cert lightCertId-certificate.pem.crt --key lightCertId-private.pem.key --thingName GG_TrafficLight --clientId GG_TrafficLight

      Ogni 20 secondi, lo switch aggiorna lo stato shadow a G, Y e R e la luce mostra il nuovo stato, come mostrato di seguito.

      Output di GG_Switch:

      Screenshot di output associati a GG_Switch.

      Uscita GG_: TrafficLight

      Schermata dell'output associato a GG_. TrafficLight

    Quando viene eseguito per la prima volta, ogni script del dispositivo client esegue il servizio di AWS IoT Greengrass rilevamento per connettersi al AWS IoT Greengrass core (tramite Internet). Dopo che un dispositivo client è stato scoperto e connesso correttamente al AWS IoT Greengrass core, le operazioni future possono essere eseguite localmente.

    Nota

    Gli script trafficLight.py e lightController.py memorizzano informazioni di connessione nella cartella groupCA, che viene creata nella stessa cartella degli script. Se ricevi errori di connessione, assicurati che l'indirizzo IP nel ggc-host file corrisponda all'endpoint dell'indirizzo IP del core.

  4. Nella AWS IoT console, scegli il tuo AWS IoT Greengrass gruppo, scegli la scheda Dispositivi client, quindi scegli GG_ TrafficLight per aprire la pagina dei dettagli dell' AWS IoT oggetto del dispositivo client.

  5. Scegli la scheda Device Shadows. Dopo che GG_Switch ha cambiato lo stato, non dovrebbero esserci aggiornamenti a questa ombra. Questo perché GG_ TrafficLight è impostato su Disabilita la sincronizzazione delle ombre con il cloud.

  6. Premete Ctrl + C nella finestra del dispositivo client GG_switch ()lightController.py. Dovresti vedere che la finestra GG_ TrafficLight (trafficLight.py) smette di ricevere messaggi di cambio di stato.

    Tieni aperte queste finestre per poter eseguire i comandi nella sezione successiva.