Etablera Azure Device Update för IoT Hub-agenten
Enhetsuppdateringsmodulagenten kan köras tillsammans med andra systemprocesser och IoT Edge-moduler som ansluter till din IoT Hub som en del av samma logiska enhet. Den här artikeln beskriver hur du etablerar enhetsuppdateringsagenten som en modulidentitet.
Kommentar
Om du använder enhetsuppdateringsagenten kontrollerar du att du har version 1.0.0 allmän tillgänglighet (GA). Du kan kontrollera de installerade versionerna av enhetsuppdateringsagenten och leveransoptimeringsagenten i egenskapsavsnittet för din IoT-enhetstvilling. Mer information finns i Migrera enheter och grupper till den senaste versionen av enhetsuppdateringen.
Modulidentitet och enhetsidentitet
Du kan skapa upp till 50 modulidentiteter under varje Azure IoT Hub-enhetsidentitet. Varje modulidentitet genererar implicit en modulidentitetstvilling. På enhetssidan kan du använda IoT Hub-enhets-SDK:er för att skapa moduler som var och en öppnar en oberoende anslutning till IoT Hub.
Modulidentitets- och modulidentitetstvillingen har liknande funktioner som enhetsidentitet och enhetstvillingar, men med en finare kornighet. Mer information finns i Förstå och använda modultvillingar i IoT Hub.
När du etablerar enhetsuppdateringsagenten som en modulidentitet måste all kommunikation mellan enheten och enhetsuppdateringstjänsten ske via modultvillingen. Kom ihåg att tagga enhetens modultvilling när du skapar enhetsgrupper. Om du migrerar från en agent på enhetsnivå till att lägga till agenten som en modulidentitet tar du bort den äldre agenten som kommunicerade via enhetstvillingen.
Uppdateringstyper som stöds
Enhetsuppdatering stöder följande IoT-enhet via luftuppdateringstyperna:
- IoT Edge- och icke-IoT Edge Linux-enheter:
- Eclipse ThreadX-enhetsuppdateringsagent
- Frånkopplade enheter bakom gatewayer
Förbereda för paketuppdateringar
Om du vill konfigurera en IoT-enhet eller IoT Edge-enhet för att installera paketbaserade uppdateringar lägger du till packages.microsoft.com
i datorns lagringsplatser genom att följa dessa steg:
Öppna ett terminalfönster på datorn eller IoT-enheten där du vill installera enhetsuppdateringsagenten.
Installera lagringsplatsens konfiguration som matchar enhetens operativsystem, till exempel:
curl https://packages.microsoft.com/config/ubuntu/18.04/multiarch/prod.list > ./microsoft-prod.list
Kopiera den genererade listan till katalogen sources.list.d .
sudo cp ./microsoft-prod.list /etc/apt/sources.list.d/
Installera den offentliga Microsoft GPG-nyckeln.
curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg
sudo cp ./microsoft.gpg /etc/apt/trusted.gpg.d/
Etablera enhetsuppdateringsagenten
Du kan etablera enhetsuppdateringsagenten som en modulidentitet på IoT Edge-aktiverade enheter eller IoT Edge-enheter som inte är IoT Edge-enheter. Information om hur du kontrollerar om IoT Edge är aktiverat på enheten finns i Visa registrerade enheter och hämta etableringsinformation.
Du kan ladda ned exempelbilder som ska användas från avsnittet Tillgångar på sidan Versioner . I Tutorial_RaspberryPi3.zip är swUpdate-filen basavbildningen som du kan flasha på en Raspberry Pi B3+-tavla. Den .gz filen är den uppdatering som du kan importera via Enhetsuppdatering. Mer information finns i Azure Device Update för IoT Hub med en Raspberry Pi-avbildning.
På IoT Edge-aktiverade enheter
Följ de här anvisningarna för att etablera enhetsuppdateringsagenten på IoT Edge-aktiverade enheter:
Följ anvisningarna i Etablera en enskild Linux IoT Edge-enhet manuellt.
Installera avbildningsuppdateringsagenten för enhetsuppdatering genom att köra följande kommando:
sudo apt-get install deviceupdate-agent
Installera uppdateringsagenten för enhetsuppdateringspaketet.
För de senaste agentversionerna från packages.microsoft.com uppdaterar du paketlistor på enheten och installerar enhetsuppdateringsagentpaketet och dess beroenden med hjälp av:
sudo apt-get update
sudo apt-get install deviceupdate-agent
För versionskandidatsagentversioner (rc) laddar du ned filen .deb från Versioner till den dator som du vill installera enhetsuppdateringsagenten på och kör sedan följande kommando:
sudo apt-get install -y ./"<PATH TO FILE>"/"<.DEB FILE NAME>"
Om du konfigurerar en Microsoft Connected Cache (MCC) för ett frånkopplat enhetsscenario installerar du plugin-programmet Leveransoptimering APT enligt följande:
sudo apt-get install deliveryoptimization-plugin-apt
På enheter som inte är IoT Edge-aktiverade
Följ de här anvisningarna för att etablera enhetsuppdateringsagenten på Linux IoT-enheter utan IoT Edge installerat.
Installera den senaste versionen av IoT Identity Service genom att följa anvisningarna i Installera Azure IoT Identity Service.
Konfigurera IoT Identity Service genom att följa anvisningarna i Konfigurera Azure IoT Identity Service.
Installera enhetsuppdateringsagenten genom att köra följande kommando:
sudo apt-get install deviceupdate-agent
Kommentar
Om din IoT-enhet inte kan köra IoT Identity Service eller IoT Edge, som paketar IoT Identity Service, kan du fortfarande installera enhetsuppdateringsagenten och konfigurera den med hjälp av en anslutningssträng.
Konfigurera enhetsuppdateringsagenten
När du har installerat enhetsuppdateringsagenten redigerar du konfigurationsfilen för enhetsuppdatering genom att köra följande kommando.
sudo nano /etc/adu/du-config.json
I filen du-config.json anger du alla värden som har en Place value here
platshållare. För agenter som använder IoT Identity Service för etablering ändrar du connectionType
till AIS
och anger ConnectionData
fältet till en tom sträng. Ett exempel finns i Exempel på filinnehållet "du-config.json".
Använd en anslutningssträng
För testning eller på begränsade enheter kan du konfigurera enhetsuppdateringsagenten utan att använda IoT Identity-tjänsten. Du kan använda en anslutningssträng för att etablera enhetsuppdateringsagenten från modulen eller enheten.
I Azure Portal kopierar du den primära anslutningssträng. Om enhetsuppdateringsagenten har konfigurerats som en modulidentitet kopierar du modulens primära anslutningssträng. Annars kopierar du enhetens primära anslutningssträng.
I ett terminalfönster på datorn eller IoT-enheten där du installerade enhetsuppdateringsagenten redigerar du konfigurationsfilen För enhetsuppdatering genom att köra följande kommando:
- För en Ubuntu-agent:
sudo nano /etc/adu/du-config.json
. - För en Yocto-referensbild:
sudo nano /adu/du-config.json
.
- För en Ubuntu-agent:
I filen du-config.json anger du alla värden som har en
Place value here
platshållare och anger den kopierade primära anslutningssträng somconnectionData
fältvärde. Ett exempel finns i Exempel på filinnehållet "du-config.json".
Starta enhetsuppdateringsagenten
Starta enhetsuppdateringsagenten och kontrollera att den körs på enheten.
Starta om agenten genom att köra följande kommando i ett terminalfönster på den dator eller IoT-enhet där du installerade enhetsuppdateringsagenten:
sudo systemctl restart deviceupdate-agent
Kontrollera agentstatusen genom att köra följande kommando.
sudo systemctl status deviceupdate-agent
Du bör se status
OK
.På sidan IoT Hub-portalen går du till Enheter eller IoT Edge för att hitta den enhet som du har konfigurerat och ser enhetsuppdateringsagenten som körs som en modul. Till exempel:
Aktivera enhetsuppdateringsagenten bakom en proxyserver
Enheter som kör enhetsuppdateringsagenten skickar HTTPS-begäranden för att kommunicera med IoT Hub. Om du har anslutit enheten till ett nätverk som använder en proxyserver måste du konfigurera systembaserad tjänst för enhetsuppdatering så att den kommunicerar via servern.
Innan du konfigurerar Enhetsuppdatering kontrollerar du att du har proxy-URL:en. Proxy-URL är i formatet protocol://proxy_host:proxy_port.
Gå till enhetsuppdateringskonfigurationen genom att köra följande kommando:
sudo systemctl edit deviceupdate-agent.service
Lägg till proxyinformationen i konfigurationen
[Service]
Environment="https_proxy=<Proxy URL>"
Starta om agenten för att tillämpa ändringarna:
sudo systemctl daemon-reload
sudo systemctl restart deviceupdate-agent
sudo systemctl status deviceupdate-agent
Skapa och köra en enhetsuppdateringsagent
Du kan också skapa och ändra din egen anpassade enhetsuppdateringsagent. Följ anvisningarna i Skapa enhetsuppdateringsagenten för att skapa enhetsuppdateringsagenten från källan.
När agenten har skapats följer du Köra enhetsuppdateringen för IoT Hub-referensagenten för att köra agenten. Om du vill göra ändringar som krävs för att införliva agenten i din avbildning följer du Så här ändrar du koden för enhetsuppdateringsagenten.
Felsökning
Om du stöter på problem kan du läsa felsökningsguiden för enhetsuppdatering för IoT Hub för att lösa problemen och samla in nödvändig information som ska tillhandahållas Till Microsoft.
Relaterat innehåll
- Felsökningsguide för enhetsuppdatering för IoT Hub
- Azure Device Update för IoT Hub med en Raspberry Pi-avbildning
- Azure Device Update för IoT Hub med Ubuntu-paketagenten
- Självstudie: Slutför en proxyuppdatering med hjälp av Enhetsuppdatering för Azure IoT Hub
- Azure Device Update för IoT Hub med hjälp av en simulatoragent
- Enhetsuppdatering för Azure IoT Hub med Eclipse ThreadX