Esercitazione: Aggiornamento del dispositivo per hub IoT di Azure usando l'agente di riferimento del simulatore Ubuntu (18.04 x64)
Aggiornamento del dispositivo per hub IoT di Azure supporta aggiornamenti basati su immagini, basati su pacchetti e basati su script.
Gli aggiornamenti delle immagini offrono un livello di attendibilità superiore nello stato finale del dispositivo. In genere è più semplice replicare i risultati di un aggiornamento delle immagini tra un ambiente di preproduzione e un ambiente di produzione perché non comporta le stesse problematiche dei pacchetti e delle relative dipendenze. Grazie alla loro natura atomica, è anche possibile adottare facilmente un modello di failover A/B.
Questa esercitazione illustra i passaggi per completare un aggiornamento basato su immagini end-to-end usando Aggiornamento dispositivi per hub IoT.
In questa esercitazione si apprenderà come:
- Scaricare e installare un'immagine.
- Aggiungere un tag al dispositivo IoT.
- Importare un aggiornamento.
- Creare un gruppo di dispositivi.
- Distribuire un aggiornamento dell'immagine.
- Monitorare la distribuzione degli aggiornamenti.
Prerequisiti
Se non è già stato fatto, creare un account e un'istanza di Aggiornamento dispositivi e configurare un hub IoT.
Scaricare il file ZIP denominato Tutorial_Simulator.zip
da Release Assets nella versione più recente e decomprimerlo.
Aggiungere un dispositivo a hub IoT di Azure
Dopo aver eseguito l'agente di Aggiornamento dispositivi in un dispositivo IoT, è necessario aggiungere il dispositivo a hub IoT. Dall'interno di hub IoT viene generata una stringa di connessione per un determinato dispositivo.
Dal portale di Azure avviare l'aggiornamento del dispositivo per hub IoT.
Creare un nuovo dispositivo.
Nel riquadro sinistro passare a Dispositivi. Selezionare quindi Nuovo.
In ID dispositivo immettere un nome per il dispositivo. Assicurarsi che la casella di controllo Chiavi generate automaticamente sia selezionata.
Selezionare Salva.
A questo momento, si torna alla pagina Dispositivi e il dispositivo creato dovrebbe trovarsi nell'elenco. Selezionare il dispositivo.
Nella visualizzazione dispositivo selezionare l'icona Copia accanto a Stringa di connessione primaria.
Incollare i caratteri copiati da qualche parte per usarli successivamente nei passaggi seguenti:
Questa stringa copiata è la stringa di connessione del dispositivo.
Installare un agente di Aggiornamento dispositivi per testarlo come simulatore
Seguire le istruzioni per installare il runtime di Azure IoT Edge.
Nota
L'agente di Aggiornamento dispositivi non dipende da IoT Edge. Ma si basa sul daemon del servizio di identità IoT installato con IoT Edge (1.2.0 e versioni successive) per ottenere un'identità e connettersi a hub IoT.
Anche se non trattato in questa esercitazione, il daemon del servizio di gestione delle identità IoT può essere installato in modalità autonoma nei dispositivi IoT basati su Linux. La sequenza di installazione è importante. L'agente del pacchetto Device Update deve essere installato dopo il servizio di gestione delle identità IoT. In caso contrario, l'agente del pacchetto non verrà registrato come componente autorizzato per stabilire una connessione a hub IoT.
Installare quindi i pacchetti deb dell'agente di Aggiornamento dispositivi.
sudo apt-get install deviceupdate-agent deliveryoptimization-plugin-apt
Immettere il modulo del dispositivo IoT (o il dispositivo, a seconda di come è stato effettuato il provisioning del dispositivo con Aggiornamento dispositivo) stringa di connessione primaria nel file di configurazione eseguendo il comando seguente:
sudo nano /etc/adu/du-config.json
Configurare l'agente per l'esecuzione come simulatore. Eseguire il comando seguente nel dispositivo IoT in modo che l'agente di Aggiornamento dispositivi richiami il gestore del simulatore per elaborare un aggiornamento del pacchetto con APT ('microsoft/apt:1'):
sudo /usr/bin/AducIotAgent --register-content-handler /var/lib/adu/extensions/sources/libmicrosoft_simulator_1.so --update-type 'microsoft/apt:1'
Per registrare e richiamare il gestore del simulatore, usare il formato seguente, compilando i segnaposto:
sudo /usr/bin/AducIotAgent --register--content-handler <full path to the handler file> --update-type <update type name>
Sarà necessario il file
sample-du-simulator-data.json
dal scaricatoTutorial_Simulator.zip
nei prerequisiti.Aprire il file
sample-du-simulator-data.json
e copiare il contenuto negli Appunti:nano sample-du-simulator-data.json
Selezionare il contenuto del file e premere CTRL+C. Premere CTRL+X per chiudere il file e non salvare le modifiche.
Eseguire il comando seguente per creare e modificare il
du-simulator-data.json
file nella cartella tmp:sudo nano /tmp/du-simulator-data.json
Premere CTRL+V per incollare il contenuto nell'editor. Selezionare CTRL+X per salvare le modifiche e quindi Y.
Modificare le autorizzazioni:
sudo chown adu:adu /tmp/du-simulator-data.json sudo chmod 664 /tmp/du-simulator-data.json
Se /tmp non esiste, allora:
sudo mkdir/tmp sudo chown root:root/tmp sudo chmod 1777/tmp
Riavviare l'agente di Aggiornamento dispositivi eseguendo il comando seguente:
sudo systemctl restart adu-agent
L'aggiornamento del dispositivo per hub IoT di Azure software è soggetto alle condizioni di licenza seguenti:
Leggere le condizioni di licenza prima di usare l'agente. L'installazione e l'utilizzo costituiscono l'accettazione di queste condizioni. Se non si accettano le condizioni di licenza, non usare l'aggiornamento del dispositivo per hub IoT agente.
Nota
Dopo il test con il simulatore, eseguire il comando seguente per richiamare il gestore APT e distribuire gli aggiornamenti del pacchetto over-the-air:
# sudo /usr/bin/AducIotAgent --register-content-handler /var/lib/adu/extensions/sources/libmicrosoft_apt_1.so --update-type 'microsoft/a pt:1'
Aggiungere un tag al dispositivo
Accedere al portale di Azure e passare all'hub IoT.
In Dispositivi nel riquadro sinistro individuare il dispositivo IoT e passare al dispositivo gemello o al modulo gemello.
Nel modulo gemello del modulo Agente aggiornamento dispositivi eliminare i valori dei tag device Update esistenti impostandoli su Null. Se si usa l'identità del dispositivo con un agente di Aggiornamento dispositivi, apportare queste modifiche nel dispositivo gemello.
Aggiungere un nuovo valore del tag Device Update, come illustrato di seguito:
"tags": { "ADUGroup": "<CustomTagValue>" }
Importare l'aggiornamento
Saranno necessari i file
TutorialImportManifest_Sim.importmanifest.json
eadu-update-image-raspberrypi3.swu
i file scaricatiTutorial_Simulator.zip
nei prerequisiti. Il file di aggiornamento viene riutilizzato dall'esercitazione su Raspberry Pi. Poiché l'aggiornamento in questa esercitazione è simulato, il contenuto del file specifico non è rilevante.Accedere al portale di Azure e passare all'hub IoT con Aggiornamento dispositivi. Nel riquadro sinistro, in Gestione dispositivi automatico selezionare Aggiornamenti.
Selezionare la scheda Aggiornamenti.
Selezionare + Importa nuovo aggiornamento.
Selezionare + Seleziona dal contenitore di archiviazione. Selezionare un account esistente o creare un nuovo account usando + Account di archiviazione. Selezionare quindi un contenitore esistente o creare un nuovo contenitore usando + Contenitore. Questo contenitore verrà usato per preparare i file di aggiornamento per l'importazione.
Nota
È consigliabile usare un nuovo contenitore ogni volta che si importa un aggiornamento per evitare di importare accidentalmente file dagli aggiornamenti precedenti. Se non si usa un nuovo contenitore, assicurarsi di eliminare tutti i file dal contenitore esistente prima di completare questo passaggio.
Nel contenitore selezionare Carica e passare ai file scaricati nel passaggio 1. Dopo aver selezionato tutti i file di aggiornamento, selezionare Carica. Selezionare quindi il pulsante Seleziona per tornare alla pagina Importa aggiornamento .
Questo screenshot mostra il passaggio di importazione. I nomi di file potrebbero non corrispondere a quelli usati nell'esempio.
Nella pagina Importa aggiornamento esaminare i file da importare. Selezionare quindi Importa aggiornamento per avviare il processo di importazione.
Viene avviato il processo di importazione e la schermata passa alla sezione Cronologia importazione . Quando la colonna Stato indica che l'importazione è riuscita, selezionare l'intestazione Aggiornamenti disponibili . L'aggiornamento importato dovrebbe essere visualizzato nell'elenco.
Altre informazioni su come importare gli aggiornamenti.
Creare un gruppo di aggiornamento
Passare alla scheda Gruppi e distribuzioni nella parte superiore della pagina.
Selezionare Aggiungi gruppo per creare un nuovo gruppo.
Selezionare un tag hub IoT e Classe dispositivo dall'elenco. Selezionare Quindi Crea gruppo.
Dopo aver creato il gruppo, il grafico di conformità di aggiornamento e l'elenco gruppi vengono aggiornati. 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.
Verrà visualizzato il gruppo appena creato e tutti gli 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.
Altre informazioni su come aggiungere tag e creare gruppi di aggiornamenti.
Distribuire l'aggiornamento
Dopo aver creato il gruppo, verrà visualizzato un nuovo aggiornamento disponibile per il gruppo di dispositivi. Un collegamento all'aggiornamento deve essere in Aggiornamento migliore. Potrebbe essere necessario aggiornare una sola volta. Altre informazioni sulla conformità degli aggiornamenti.
Selezionare il gruppo di destinazione selezionando il nome del gruppo. I dettagli del gruppo vengono indirizzati in Nozioni di base sul gruppo.
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 viene denotato con un'evidenziazione migliore .
Pianificare la distribuzione per avviare immediatamente o in futuro. Quindi selezionare Crea.
In Dettagli distribuzione lo stato passa ad Attivo. L'aggiornamento distribuito è contrassegnato con (distribuzione).
Visualizzare il grafico di conformità per verificare che l'aggiornamento sia ora in corso.
Dopo aver aggiornato correttamente il dispositivo, si noterà che il grafico di conformità e i dettagli della distribuzione sono stati aggiornati per riflettere lo stesso.
Monitorare la distribuzione degli aggiornamenti
Selezionare la scheda Cronologia distribuzione nella parte superiore della pagina.
Selezionare Dettagli accanto alla distribuzione creata.
Selezionare Aggiorna per visualizzare i dettagli di stato più recenti.
A questo punto è stato completato un aggiornamento dell'immagine end-to-end corretto usando l'agente di riferimento hub IoT del simulatore Ubuntu (18.04 x64).
Pulire le risorse
Quando non è più necessario, pulire l'account di aggiornamento del dispositivo, l'istanza, l'hub IoT e il dispositivo IoT.