Esercitazione: Completare un aggiornamento del proxy usando Aggiornamento dispositivi per hub IoT di Azure

Se non è già stato fatto, vedere Uso degli aggiornamenti proxy con Aggiornamento dispositivi 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 come esempio.

Installare l'agente di aggiornamento dispositivi 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 deviceupdate-agent nel dispositivo IoT. Scaricare il file Debian più recente di Aggiornamento dispositivi 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 in remoto nella macchina virtuale ed eseguire il comando shell seguente nella home cartella:

          #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 Aggiornamento dispositivi. Per informazioni sulla configurazione del modulo, vedere Provisioning dell'agente di aggiornamento dispositivi.

  4. Assicurarsi che /etc/adu/du-diagnostics-config.json contenga le impostazioni corrette per la raccolta di 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 dispositivi:

    sudo systemctl restart adu-agent
    

Configurare i componenti fittizi

A scopo 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 della macchina virtuale di test. Eseguire quindi il comando seguente per copiare i file necessari nei percorsi corretti:

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

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

    1. Copia components-inventory.json e lo aggiunge alla cartella /usr/local/contoso-devices .

    2. Copia l'estensione dell'enumeratore dei componenti Contoso (libcontoso-component-enumerator.so) dalla cartella Assets e la aggiunge alla cartella /var/lib/adu/extensions/sources .

    3. Registra l'estensione:

      sudo /usr/bin/AducIotAgent -E /var/lib/adu/extensions/sources/libcontoso-component-enumerator.so
      
  2. Visualizzare e registrare la versione software dei componenti correnti usando il comando seguente per configurare la macchina virtuale per supportare gli aggiornamenti proxy:

    ~/demo/show-demo-components.sh
    

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 di Aggiornamento dispositivi, in Asset scaricare i manifesti e le immagini di importazione per gli aggiornamenti proxy.

  2. Accedere al portale di Azure e passare all'hub IoT con Aggiornamento dispositivi. Nel riquadro sinistro selezionare Gestione dispositivi>Aggiornamenti.

  3. Selezionare la scheda Aggiornamenti.

  4. Selezionare + Importa nuovo aggiornamento.

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

    Screenshot che mostra il pulsante per la selezione dell'importazione 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 dell'importazione figlio e i file payload nel contenitore.

    L'esempio seguente mostra i file di esempio caricati per aggiornare le fotocamere connesse a un dispositivo aspirapolvere intelligente. Include anche uno script di preinstallazione per disattivare le telecamere prima dell'aggiornamento over-the-air.

    Nell'esempio il manifesto dell'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. Si noti che entrambi i nomi di 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 aspirapolvere intelligente.

  8. Scegliere Seleziona.

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

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

  10. Viene avviato il processo di importazione e la schermata viene modificata nella sezione Cronologia importazione . 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 è riuscita, selezionare la scheda Disponibile Aggiornamenti. L'aggiornamento importato dovrebbe essere visualizzato nell'elenco.

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

Altre informazioni sull'importazione degli aggiornamenti.

Creare un gruppo di aggiornamento

  1. Passare alla scheda Gruppi e distribuzioni nella parte superiore della pagina. Screenshot dei dispositivi non raggruppati.

  2. Selezionare il pulsante "Aggiungi gruppo" per creare un nuovo gruppo. Screenshot dell'aggiunta del gruppo di dispositivi.

  3. Selezionare un tag hub IoT e Classe dispositivo dall'elenco e quindi selezionare Crea gruppo. Screenshot della selezione dei tag.

  4. Dopo aver creato il gruppo, si noterà che l'elenco dei gruppi e del grafico di conformità degli aggiornamenti viene aggiornato. Il grafico conformità degli aggiornamenti mostra il numero di dispositivi in vari stati di conformità: in caso di aggiornamento più recente, nuovi aggiornamenti disponibili e Aggiornamenti in corso. Informazioni sulla conformità degli aggiornamenti.Screenshot della visualizzazione conformità degli aggiornamenti.

  5. Verrà visualizzato il gruppo appena creato e gli eventuali 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. È possibile distribuire il miglior aggiornamento disponibile nel nuovo gruppo definito dall'utente da questa visualizzazione facendo clic sul pulsante "Distribuisci" accanto al gruppo.

Altre informazioni sull'aggiunta di tag e sulla creazione di gruppi di aggiornamento

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 migliore (potrebbe essere necessario aggiornare una volta). Altre informazioni sulla conformità degli aggiornamenti.

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

Dettagli gruppo

  1. Per avviare la distribuzione, passare alla scheda Distribuzione corrente. Fare clic sul collegamento Distribuisci accanto all'aggiornamento desiderato nella sezione Aggiornamenti disponibili. L'aggiornamento migliore e disponibile per un determinato gruppo verrà indicato con un'evidenziazione "Migliore".

Selezionare l'aggiornamento

  1. Pianificare l'avvio della distribuzione immediatamente o in futuro, quindi selezionare Crea.

Creare la distribuzione

  1. Lo stato in Dettagli distribuzione deve essere attivo e l'aggiornamento distribuito deve essere contrassegnato con "(distribuzione)".

Distribuzione attiva

  1. Visualizzare il grafico di conformità. L'aggiornamento dovrebbe essere ora in corso.

  2. Dopo aver aggiornato correttamente il dispositivo, verrà visualizzato il grafico di conformità e l'aggiornamento dei dettagli della distribuzione per riflettere lo stesso.

    Aggiornamento riuscito

Monitorare una distribuzione degli aggiornamenti

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

    Cronologia della 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

È possibile usare le esercitazioni seguenti per una semplice dimostrazione di Aggiornamento dispositivi per hub IoT: