Fase 4: Implementazione e test del componente su un dispositivo principale - AWS IoT Greengrass

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à.

Fase 4: Implementazione e test del componente su un dispositivo principale

In questa sezione, distribuisci il componente sul dispositivo principale per testarne la funzionalità. Sul dispositivo principale, crei il file virtuale del livello della batteria per imitare una batteria reale. Quindi, crei distribuzioni aggiuntive e osservi i file di registro dei componenti sul dispositivo principale per verificare che il componente rinvii e confermi gli aggiornamenti.

Per distribuire e testare il componente Hello World che posticipa gli aggiornamenti
  1. Usa un editor di testo per creare un file virtuale del livello della batteria. Questo file imita una batteria reale.

    • Sui dispositivi principali Linux, crea un file denominato/home/ggc_user/virtual_battery.json. Esegui l'editor di testo con sudo autorizzazioni.

    • Sui dispositivi Windows principali, crea un file denominatoC:\Users\ggc_user\virtual_battery.json. Esegui l'editor di testo come amministratore.

    Ad esempio, su un sistema basato su Linux, è possibile eseguire il comando seguente per utilizzare GNU nano per creare il file.

    sudo nano /home/ggc_user/virtual_battery.json

    Copiate il seguente codice JSON nel file.

    { "battery_level": 50 }
  2. Distribuisci il componente Hello World sul dispositivo principale. Esegui questa operazione:

    1. Nel menu di navigazione AWS IoT Greengrassdella console, scegli Componenti.

    2. Nella pagina Componenti, scegli la scheda I miei componenti, quindi scegli com.example.BatteryAwareHelloWorld.

    3. Nella pagina com.example.BatteryAwareHelloWorld, scegli (Distribuisci).

    4. Da Aggiungi alla distribuzione, scegli una distribuzione esistente da modificare oppure scegli di creare una nuova distribuzione, quindi scegli Avanti.

    5. Se hai scelto di creare una nuova distribuzione, scegli il dispositivo principale o il gruppo di oggetti di destinazione per la distribuzione. Nella pagina Specificare la destinazione, in Obiettivo di distribuzione, scegli un dispositivo principale o un gruppo di oggetti, quindi scegli Avanti.

    6. Nella pagina Seleziona componenti, verifica che il com.example.BatteryAwareHelloWorldcomponente sia selezionato, scegli Avanti.

    7. Nella pagina Configura componenti com.example.BatteryAwareHelloWorld, selezionate e quindi effettuate le seguenti operazioni:

      1. Scegli Configura componente.

      2. Nella com.example.BatteryAwareHelloWorld modalità Configura, in Aggiornamento della configurazione, in Configurazione da unire, inserisci il seguente aggiornamento di configurazione.

        { "BatteryThreshold": 70 }
      3. Scegli Conferma per chiudere la modalità, quindi scegli Avanti.

    8. Nella pagina Conferma impostazioni avanzate, nella sezione Criteri di distribuzione, in Politica di aggiornamento dei componenti, conferma che sia selezionata l'opzione Notifica componenti. L'opzione Notifica componenti è selezionata per impostazione predefinita quando si crea una nuova distribuzione.

    9. Nella pagina Review (Verifica), scegli Deploy (Distribuisci).

      Il completamento della distribuzione può richiedere fino a un minuto.

  3. Il software AWS IoT Greengrass Core salva lo stdout dai processi dei componenti nei file di registro nella logs cartella. Eseguite il comando seguente per verificare che il componente Hello World venga eseguito e stampi i messaggi di stato.

    Linux or Unix
    sudo tail -f /greengrass/v2/logs/com.example.BatteryAwareHelloWorld.log
    Windows Command Prompt (CMD)
    type C:\greengrass\v2\logs\com.example.BatteryAwareHelloWorld.log
    PowerShell
    gc C:\greengrass\v2\logs\com.example.BatteryAwareHelloWorld.log -Tail 10 -Wait

    Dovreste vedere messaggi simili a quelli dell'esempio seguente.

    Hello, World! Battery level (50) is below threshold (70), so the component will defer updates.
    Nota

    Se il file non esiste, la distribuzione potrebbe non essere ancora completa. Se il file non esiste entro 30 secondi, è probabile che la distribuzione non sia riuscita. Ciò può verificarsi, ad esempio, se il dispositivo principale non è autorizzato a scaricare gli elementi del componente dal bucket S3. Esegui il comando seguente per visualizzare il file di registro del software AWS IoT Greengrass Core. Questo file include i log del servizio di distribuzione del dispositivo principale Greengrass.

    Linux or Unix
    sudo tail -f /greengrass/v2/logs/greengrass.log
    Windows Command Prompt (CMD)
    type C:\greengrass\v2\logs\greengrass.log

    Il type comando scrive il contenuto del file nel terminale. Esegui questo comando più volte per osservare le modifiche nel file.

    PowerShell
    gc C:\greengrass\v2\logs\greengrass.log -Tail 10 -Wait
  4. Crea una nuova distribuzione sul dispositivo principale per verificare che il componente rinvii l'aggiornamento. Esegui questa operazione:

    1. Nel menu di navigazione AWS IoT Greengrassdella console, scegli Distribuzioni.

    2. Scegli la distribuzione che hai creato o modificato in precedenza.

    3. Nella pagina di distribuzione, scegli Rivedi.

    4. Nella modalità Revise deployment, scegli Revise deployment.

    5. Scegli Avanti in ogni passaggio, quindi scegli Distribuisci.

  5. Esegui il comando seguente per visualizzare nuovamente i log del componente e verifica che posticipi l'aggiornamento.

    Linux or Unix
    sudo tail -f /greengrass/v2/logs/com.example.BatteryAwareHelloWorld.log
    Windows Command Prompt (CMD)
    type C:\greengrass\v2\logs\com.example.BatteryAwareHelloWorld.log
    PowerShell
    gc C:\greengrass\v2\logs\com.example.BatteryAwareHelloWorld.log -Tail 10 -Wait

    Dovrebbero comparire messaggi simili a quelli dell'esempio seguente. Il componente posticipa l'aggiornamento di 30 secondi, quindi stampa ripetutamente questo messaggio.

    Deferred update for deployment 50722a95-a05f-4e2a-9414-da80103269aa.
  6. Utilizza un editor di testo per modificare il file virtuale del livello della batteria e imposta il livello della batteria a un valore superiore alla soglia, in modo che l'installazione possa procedere.

    • Sui dispositivi principali Linux, modifica il file denominato/home/ggc_user/virtual_battery.json. Esegui l'editor di testo con sudo le autorizzazioni.

    • Sui dispositivi Windows Core, modifica il file denominatoC:\Users\ggc_user\virtual_battery.json. Esegui l'editor di testo come amministratore.

    Ad esempio, su un sistema basato su Linux, è possibile eseguire il comando seguente per utilizzare GNU nano per creare il file.

    sudo nano /home/ggc_user/virtual_battery.json

    Cambia il livello della batteria in. 80

    { "battery_level": 80 }
  7. Esegui il comando seguente per visualizzare nuovamente i log del componente e verifica che riconosca l'aggiornamento.

    Linux or Unix
    sudo tail -f /greengrass/v2/logs/com.example.BatteryAwareHelloWorld.log
    Windows Command Prompt (CMD)
    type C:\greengrass\v2\logs\com.example.BatteryAwareHelloWorld.log
    PowerShell
    gc C:\greengrass\v2\logs\com.example.BatteryAwareHelloWorld.log -Tail 10 -Wait

    Dovreste vedere messaggi simili ai seguenti esempi.

    Hello, World! Battery level (80) is above threshold (70), so the component will acknowledge updates. Acknowledged update for deployment f9499eb2-4a40-40a7-86c1-c89887d859f1.