Esercitazione: Completare un aggiornamento proxy usando l'aggiornamento del dispositivo per hub IoT di Azure

Se non è già stato fatto, vedere Uso degli aggiornamenti proxy con Aggiornamento del dispositivo per hub IoT di Azure.

Configurare un dispositivo di test o una macchina virtuale

Questa esercitazione usa una macchina virtuale Ubuntu Server 18.04 LTS (VM) come esempio.

Installare l'agente di aggiornamento del dispositivo e le dipendenze

  1. Registrare packages.microsoft.com in un repository di pacchetti APT:

    sudo apt-get update
    
    sudo apt install curl
    
    curl https://packages.microsoft.com/config/ubuntu/18.04/multiarch/prod.list > ~/microsoft-prod.list
    
    sudo cp ~/microsoft-prod.list /etc/apt/sources.list.d/
    
    curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > ~/microsoft.gpg
    
    sudo cp ~/microsoft.gpg /etc/apt/trusted.gpg.d/
    
    sudo apt-get update
    
  2. Installare l'agente deviceupdate-nel dispositivo IoT. Scaricare il file Debian dell'aggiornamento del dispositivo più recente da packages.microsoft.com:

    sudo apt-get install deviceupdate-agent
    

    In alternativa, copiare il file Debian scaricato nella macchina virtuale di test. Se si usa PowerShell nel computer, eseguire il comando shell seguente:

    scp <path to the .deb file> tester@<your vm's ip address>:~
    

    Quindi remoto nella macchina virtuale ed eseguire il comando shell seguente nella home folder:

    #go to home folder 
    cd ~
    #install latest Device Update agent
    sudo apt-get install ./<debian file name from the previous step>
    
  3. Passare a hub IoT di Azure e copiare la stringa di connessione primaria per il modulo Device Update del dispositivo IoT. Sostituire qualsiasi valore predefinito per il connectionData campo con la stringa di connessione primaria nel file du-config.json :

    sudo nano /etc/adu/du-config.json  
    

    Nota

    È invece possibile copiare la stringa di connessione primaria per il dispositivo, ma è consigliabile usare la stringa per il modulo Device Update. Per informazioni sulla configurazione del modulo, vedere Provisioning dell'agente di aggiornamento del dispositivo.

  4. Assicurarsi che /etc/adu/du-diagnostics-config.json contenga le impostazioni corrette per la raccolta log. Ad esempio:

    {
      "logComponents":[
        {
          "componentName":"adu",
           "logPath":"/var/log/adu/"
        },
        {
          "componentName":"do",
          "logPath":"/var/log/deliveryoptimization-agent/"
        }
      ],
      "maxKilobytesToUploadPerLogPath":50
    }
    
  5. Riavviare l'agente di aggiornamento del dispositivo:

    sudo systemctl restart deviceupdate-agent
    

Configurare componenti fittizi

Per scopi di test e dimostrazione, verranno creati i componenti fittizi seguenti nel dispositivo:

  • Tre motori
  • Due fotocamere
  • "hostfs"
  • "rootfs"

Importante

La configurazione del componente precedente si basa sull'implementazione di un'estensione dell'enumeratore di componenti di esempio denominata libcontoso-component-enumerator.so. Richiede anche questo file di dati di inventario dei componenti fittizi: /usr/local/contoso-devices/components-inventory.json.

  1. Copiare la cartella demo nella home directory nella macchina virtuale di test. Eseguire quindi il comando seguente per copiare i file necessari nei percorsi corretti:

    `~/demo/tools/reset-demo-components.sh` 
    

    Il comando esegue i passaggi seguenti per conto dell'utente reset-demo-components.sh :

    • Copia i componenti-inventory.json e lo aggiunge alla cartella /usr/local/contoso-devices .

    • Copia l'estensione dell'enumeratore del componente Contoso (libcontoso-component-enumerator.so) dalla cartella Asset e la aggiunge alla cartella /var/lib/adu/extensions/sources .

    • Registra l'estensione:

      sudo /usr/bin/AducIotAgent -E /var/lib/adu/extensions/sources/libcontoso-component-enumerator.so
      

Importare un aggiornamento di esempio

Se non è già stato fatto, creare un account e un'istanza di Aggiornamento dispositivi, inclusa la configurazione di un hub IoT. Avviare quindi la procedura seguente.

  1. Dalla versione più recente dell'aggiornamento del dispositivo, in Asset scaricare i manifesti di importazione e le immagini per gli aggiornamenti proxy.

  2. Accedere alla portale di Azure e passare all'hub IoT con l'aggiornamento del dispositivo. Nel riquadro sinistro selezionare Gestione dispositivi>Aggiornamenti.

  3. Selezionare la scheda Aggiornamenti.

  4. Selezionare + Importa nuovo aggiornamento.

  5. Selezionare + Selezionare dal contenitore di archiviazione e quindi scegliere l'account di archiviazione e il contenitore.

    Screenshot che mostra il pulsante per la selezione da importare da un contenitore di archiviazione.

  6. Selezionare Carica per aggiungere i file scaricati nel passaggio 1.

  7. Caricare il manifesto di importazione padre, il manifesto di importazione figlio e i file payload nel contenitore.

    Nell'esempio seguente vengono illustrati i file di esempio caricati per aggiornare le fotocamere connesse a un dispositivo smart vacuum cleaner. Include anche uno script di pre-installazione per disattivare le telecamere prima dell'aggiornamento over-the-air.

    Nell'esempio il manifesto di importazione padre è contoso. Virtual-Vacuum-virtual-camera.1.4.importmanifest.json. Il manifesto di importazione figlio con i dettagli per l'aggiornamento della fotocamera è Contoso.Virtual-Vacuum.3.3.importmanifest.json. Entrambi i nomi dei file manifesto seguono il formato richiesto e terminano con .importmanifest.json.

    Screenshot che mostra i file di esempio caricati per aggiornare le fotocamere connesse a un dispositivo smart vacuum cleaner.

  8. Scegliere Seleziona.

  9. L'interfaccia utente mostra ora l'elenco di file che verranno importati in Aggiornamento dispositivo. Selezionare Importa aggiornamento.

    Screenshot che mostra i file elencati e il pulsante per l'importazione di un aggiornamento.

  10. Il processo di importazione inizia e la schermata cambia nella sezione Importa cronologia . Selezionare Aggiorna per visualizzare lo stato di avanzamento fino al termine del processo di importazione. A seconda delle dimensioni dell'aggiornamento, l'importazione potrebbe terminare in pochi minuti o richiedere più tempo.

  11. Quando la colonna Stato indica che l'importazione ha avuto esito positivo, selezionare la scheda Disponibile Aggiornamenti. Verrà visualizzato l'aggiornamento importato nell'elenco.

    Screenshot che mostra l'aggiornamento importato aggiunto all'elenco.

Per altre informazioni sul processo di importazione, vedere Importare un aggiornamento all'aggiornamento del dispositivo.

Visualizzare i gruppi di dispositivi

L'aggiornamento dei dispositivi usa i gruppi per organizzare i dispositivi. Aggiornamento dispositivo ordina automaticamente i dispositivi in gruppi in base ai tag assegnati e alle proprietà di compatibilità. Ogni dispositivo appartiene a un solo gruppo, ma i gruppi possono avere più sottogruppi per ordinare classi di dispositivi diverse.

  1. Passare alla scheda Gruppi e distribuzioni nella parte superiore della pagina.

    Screenshot che mostra i dispositivi non raggruppati.

  2. Visualizzare l'elenco dei gruppi e il grafico di conformità degli aggiornamenti. Il grafico di conformità degli aggiornamenti mostra il numero di dispositivi in vari stati di conformità: nell'aggiornamento più recente, nuovi aggiornamenti disponibili e Aggiornamenti in corso. Informazioni sulla conformità degli aggiornamenti.

    Screenshot che mostra la visualizzazione di conformità dell'aggiornamento.

  3. Verrà visualizzato un gruppo di dispositivi che contiene il dispositivo simulato configurato in questa esercitazione insieme agli aggiornamenti disponibili per i dispositivi nel nuovo gruppo. Se sono presenti dispositivi che non soddisfano i requisiti della classe di dispositivo del gruppo, verranno visualizzati in un gruppo non valido corrispondente. Per distribuire l'aggiornamento migliore disponibile al nuovo gruppo definito dall'utente da questa visualizzazione, selezionare Distribuisci accanto al gruppo.

Per altre informazioni sui tag e i gruppi, vedere Gestire i gruppi di dispositivi.

Distribuire l'aggiornamento

  1. Dopo aver creato il gruppo, dovrebbe essere visualizzato un nuovo aggiornamento disponibile per il gruppo di dispositivi, con un collegamento all'aggiornamento in Aggiornamento consigliato (potrebbe essere necessario aggiornare una volta).

    Per altre informazioni sulla conformità, vedere Conformità degli aggiornamenti dei dispositivi.

  2. Selezionare il gruppo di destinazione facendo clic sul nome del gruppo. Verranno indirizzati ai dettagli del gruppo in Nozioni di base sul gruppo.

    Dettagli gruppo

  3. Per avviare la distribuzione, passare alla scheda Distribuzione corrente. Selezionare il collegamento di distribuzione accanto all'aggiornamento desiderato nella sezione Aggiornamenti disponibili. L'aggiornamento migliore, disponibile per un determinato gruppo verrà denotato con un'evidenziazione "Best".

    Selezionare l'aggiornamento

  4. Pianificare la distribuzione per avviare immediatamente o in futuro, quindi selezionare Crea.

    Creare la distribuzione

  5. Lo stato in Dettagli distribuzione deve passare a Attivo e l'aggiornamento distribuito deve essere contrassegnato con "(deploying)".

    Distribuzione attiva

  6. Visualizzare il grafico di conformità. L'aggiornamento è ora in corso.

  7. Dopo aver aggiornato correttamente il dispositivo, è necessario visualizzare il grafico di conformità e i dettagli della distribuzione vengono aggiornati per riflettere lo stesso.

    Aggiornamento riuscito

Monitorare una distribuzione di aggiornamento

  1. Selezionare la scheda Cronologia distribuzione nella parte superiore della pagina.

    Cronologia distribuzione

  2. Selezionare il collegamento dettagli accanto alla distribuzione creata.

    Dettagli di distribuzione

  3. Selezionare Aggiorna per visualizzare i dettagli dello stato più recenti.

A questo punto è stato completato un aggiornamento del proxy end-to-end con Aggiornamento dispositivi per hub IoT.

Pulire le risorse

Quando non sono più necessari, pulire l'account, l'istanza, l'hub IoT e il dispositivo IoT.

Passaggi successivi