Skapa och etablera en IoT Edge på Linux med symmetriska nycklar
Gäller för:
IoT Edge 1,1 andra versioner: IoT Edge 1,2
Gäller för:
IoT Edge 1,2 andra versioner: IoT Edge 1,1
Den här artikeln innehåller instruktioner från slutet för att registrera och etablera en Linux-IoT Edge-enhet, inklusive installation IoT Edge.
Varje enhet som ansluter till en IoT Hub har ett enhets-ID som används för att spåra kommunikation från moln till enhet eller från enhet till moln. Du konfigurerar en enhet med dess anslutningsinformation, inklusive IoT-hubbens värdnamn, enhets-ID och den information som enheten använder för att autentisera för IoT Hub.
Stegen i den här artikeln går igenom en process som kallas manuell etablering, där du ansluter en enskild enhet till dess IoT Hub. För manuell etablering har du två alternativ för att autentisera IoT Edge enheter:
Symmetriska nycklar: När du skapar en ny enhetsidentitet IoT Hub skapar tjänsten två nycklar. Du placerar en av nycklarna på enheten och den visar nyckeln för att IoT Hub vid autentisering.
Den här autentiseringsmetoden är snabbare att komma igång, men inte lika säker.
X.509-själv signerat: Du skapar två X.509-identitetscertifikat och placerar dem på enheten. När du skapar en ny enhetsidentitet i IoT Hub anger du tumavtryck från båda certifikaten. När enheten autentiseras för IoT Hub visar den ett certifikat och IoT Hub verifierar att certifikatet matchar tumavtrycket.
Den här autentiseringsmetoden är säkrare och rekommenderas för produktionsscenarier.
Den här artikeln beskriver hur du använder symmetriska nycklar som autentiseringsmetod. Om du vill använda X.509-certifikat kan du gå till Skapa och etablera en IoT Edge på Linux med X.509-certifikat.
Anteckning
Om du har många enheter att konfigurera och inte vill etablera var och en manuellt kan du använda någon av följande artiklar för att lära dig hur IoT Edge fungerar med IoT Hub-enhetsetableringstjänsten:
Förutsättningar
Den här artikeln beskriver hur du registrerar IoT Edge och installerar IoT Edge på den. Dessa uppgifter har olika förutsättningar och verktyg som används för att utföra dem. Se till att alla krav är uppfyllda innan du fortsätter.
Verktyg för enhetshantering
Du kan använda Azure Portal, Visual Studio Code eller Azure CLI för att registrera din enhet. Varje verktyg har sina egna förutsättningar:
En kostnadsfri eller standard-IoT Hub i din Azure-prenumeration.
IoT Edge installation
En X64-, ARM32- eller ARM64 Linux-enhet.
Microsoft tillhandahåller installationspaket för Ubuntu Server 18.04- och Raspberry Pi OS Stretch-operativsystem.
Den senaste informationen om vilka operativsystem som stöds för närvarande för produktionsscenarier finns i Azure IoT Edge som stöds.
Anteckning
Stöd för ARM64-enheter finns i offentlig förhandsversion.
Registrera din enhet
Du kan använda Azure Portal, Visual Studio Code eller Azure CLI för att registrera din enhet, beroende på vad du föredrar.
I IoT-hubben i Azure Portal skapas IoT Edge och hanteras separat från IoT-enheter som inte är gränsaktiverade.
Logga in på Azure Portal och gå till din IoT-hubb.
I den vänstra rutan väljer du IoT Edge på menyn och väljer sedan Lägg till en IoT Edge enhet.

Ange följande information på sidan Skapa en enhet:
- Skapa ett beskrivande enhets-ID. Anteckna detta enhets-ID eftersom du kommer att använda det senare.
- Välj Symmetrisk nyckel som autentiseringstyp.
- Använd standardinställningarna för att automatiskt generera autentiseringsnycklar och ansluta den nya enheten till hubben.
Välj Spara.
Nu när du har en enhet registrerad i IoT Hub hämtar du den information som du använder för att slutföra installationen och etableringen av IoT Edge-körningen.
Visa registrerade enheter och hämta etableringsinformation
Enheter som använder autentisering med symmetrisk nyckel behöver sina anslutningssträngar för att slutföra installationen och etableringen av IoT Edge-körningen.
Alla gränsaktiverade enheter som ansluter till din IoT-hubb visas på IoT Edge sidan.

När du är redo att konfigurera enheten behöver du anslutningssträngen som länkar den fysiska enheten till dess identitet i IoT Hub.
Enheter som autentiseras med symmetriska nycklar har anslutningssträngar tillgängliga för kopiering i portalen.
- På IoT Edge i portalen klickar du på enhets-ID:t i listan över IoT Edge enheter.
- Kopiera värdet för antingen primär anslutningssträng eller sekundär anslutningssträng.
Installera IoT Edge
I det här avsnittet förbereder du din virtuella Linux-dator eller fysiska enhet för IoT Edge. Sedan installerar du IoT Edge.
Du måste utföra två steg på enheten innan den är redo att installera IoT Edge-körningen. Enheten behöver åtkomst till Microsofts installationspaket och en containermotor måste vara installerad.
Få åtkomst till Microsoft-installationspaketen
Ladda ned konfigurationspaketet för lagringsplatsen som matchar enhetens operativsystem.
Ubuntu Server 18.04:
curl https://packages.microsoft.com/config/ubuntu/18.04/multiarch/packages-microsoft-prod.deb > ./packages-microsoft-prod.debRaspberry Pi OS Stretch:
curl https://packages.microsoft.com/config/debian/stretch/multiarch/packages-microsoft-prod.deb > ./packages-microsoft-prod.deb
Installera konfigurationspaketet för att lägga till Microsofts paketdatabas och offentliga GPG-nyckel.
sudo apt install ./packages-microsoft-prod.deb
Anteckning
Azure IoT Edge programvarupaketen omfattas av licensvillkoren som finns i varje paket ( usr/share/doc/{package-name} eller LICENSE katalogen). Läs licensvillkoren innan du använder ett paket. Din installation och användning av ett paket utgör ditt godkännande av dessa villkor. Om du inte accepterar licensvillkoren ska du inte använda det paketet.
Installera en containermotor
Azure IoT Edge förlitar sig på en OCI-kompatibel containerkörning. För produktionsscenarier rekommenderar vi att du använder Moby-motorn. Moby-motorn är den enda containermotor som officiellt stöds med IoT Edge. Docker CE/EE-containeravbildningar är kompatibla med Moby-körningen.
Uppdatera paketlistor på enheten.
sudo apt-get updateInstallera Moby-motorn.
sudo apt-get install moby-engineTips
Om du får fel när du installerar Moby-containermotorn kontrollerar du Linux-kerneln för Moby-kompatibilitet. Vissa inbäddade enhetstillverkare skickar enhetsavbildningar som innehåller anpassade Linux-kernels utan de funktioner som krävs för kompatibilitet med containermotorn. Kör följande kommando, som använder check-config-skriptet från Moby, för att kontrollera din kernelkonfiguration:
curl -ssl https://raw.githubusercontent.com/moby/moby/master/contrib/check-config.sh -o check-config.sh chmod +x check-config.sh ./check-config.shI skriptets utdata kontrollerar du att alla objekt under
Generally NecessaryochNetwork Driversär aktiverade. Om du saknar funktioner aktiverar du dem genom att återskapa din kernel från källan och välja de associerade modulerna för inkludering i lämplig kernel-.config. På samma sätt, om du använder en kernelkonfigurationsgenerator som eller , hittar och aktiverar du respektive funktioner ochdefconfigmenuconfigåterskapar din kernel därefter. När du har distribuerat din nyligen ändrade kernel kör du check-config-skriptet igen för att kontrollera att alla nödvändiga funktioner har aktiverats.
Installera IoT Edge-körningen
Den IoT Edge säkerhetsdaemonen tillhandahåller och underhåller säkerhetsstandarder på IoT Edge enhet. Daemonen startar vid varje start och startar enheten genom att starta resten av IoT Edge-körningen.
Stegen i det här avsnittet representerar en typisk process för att installera den senaste versionen på en enhet som har internetanslutning. Om du behöver installera en specifik version, t.ex. en tidigare version, eller om du behöver installera den offline, följer du installationsstegen offline eller specifik version längre fram i den här artikeln.
Uppdatera paketlistor på enheten.
sudo apt-get update
Installera IoT Edge version 1.1.* tillsammans med libiothsm-std-paketet:
sudo apt-get install iotedge
Anteckning
IoT Edge version 1.1 är den långsiktiga supportgrenen för IoT Edge. Om du kör en äldre version rekommenderar vi att du installerar eller uppdaterar till den senaste korrigeringen eftersom äldre versioner inte längre stöds.
Tjänsten IoT Edge tillhandahåller och upprätthåller säkerhetsstandarder på den IoT Edge enheten. Tjänsten startar vid varje start och startar enheten genom att starta resten av IoT Edge-körningen.
IoT-identitetstjänsten introducerades tillsammans med version 1.2 av IoT Edge. Den här tjänsten hanterar identitetsetablering och -hantering för IoT Edge och för andra enhetskomponenter som behöver kommunicera med IoT Hub.
Stegen i det här avsnittet representerar en typisk process för att installera den senaste versionen på en enhet som har internetanslutning. Om du behöver installera en specifik version, t.ex. en tidigare version, eller om du behöver installera den offline, följer du installationsstegen offline eller specifik version längre fram i den här artikeln.
Anteckning
Stegen i det här avsnittet visar hur du installerar IoT Edge version 1.2.
Om du redan har en IoT Edge-enhet som kör en äldre version och vill uppgradera till 1.2, använder du stegen i Uppdatera IoT Edge säkerhetsdaemon och runtime. Version 1.2 skiljer sig tillräckligt från tidigare versioner IoT Edge att specifika steg krävs för att uppgradera.
Uppdatera paketlistor på enheten.
sudo apt-get update
Kontrollera vilka versioner av IoT Edge och IoT-identitetstjänsten som är tillgängliga.
apt list -a aziot-edge aziot-identity-service
Om du vill installera den senaste IoT Edge och IoT-identitetstjänstpaketet använder du följande kommando:
sudo apt-get install aziot-edge
Etablera enheten med dess molnidentitet
Nu när containermotorn och IoT Edge-körningen är installerade på enheten är du redo för nästa steg, som är att konfigurera enheten med dess molnidentitet och autentiseringsinformation.
Öppna IoT Edge på enheten.
sudo nano /etc/iotedge/config.yaml
Leta upp konfigurationerna för etablering av filen och avkommentera konfiguration för manuell etablering med hjälp av en anslutningssträng, om den inte redan är avkommenterad.
# Manual provisioning configuration using a connection string
provisioning:
source: "manual"
device_connection_string: "ADD_DEVICE_CONNECTION_STRING_HERE"
Uppdatera värdet för device_connection_string med anslutningssträngen från din IoT Edge enhet. Se till att eventuella andra etableringsavsnitt har kommenterats bort. Kontrollera att etableringen: raden inte har något föregående blanksteg och att kapslade objekt är indragna med två blanksteg.
Klistra in urklippsinnehåll i Nano Shift+Right Click eller tryck på Shift+Insert .
Spara och stäng filen.
CTRL + X, Y, Enter
När du har angett etableringsinformationen i konfigurationsfilen startar du om daemonen:
sudo systemctl restart iotedge
Du kan snabbt konfigurera din IoT Edge med autentisering med symmetrisk nyckel med hjälp av följande kommando:
sudo iotedge config mp --connection-string 'PASTE_DEVICE_CONNECTION_STRING_HERE'
Kommandot iotedge config mp skapar en konfigurationsfil på enheten och anger anslutningssträngen i filen.
Tillämpa konfigurationsändringarna.
sudo iotedge config apply
Om du vill se konfigurationsfilen kan du öppna den:
sudo nano /etc/aziot/config.toml
Kontrollera att konfigurationen lyckades
Verifiera att körningen har installerats och konfigurerats korrekt på din IoT Edge-enhet.
Tips
Förhöjd behörighet krävs för att köra iotedge-kommandon. När du loggar ut från datorn och sedan loggar in igen för första gången efter installationen av IoT Edge-körningen, så uppdateras dina behörigheter automatiskt. Tills dess sudo använder du framför kommandona.
Kontrollera att den IoT Edge systemtjänsten körs.
sudo systemctl status iotedge
sudo iotedge system status
Ett lyckat statussvar är Ok .
Hämta tjänstloggar om du behöver felsöka tjänsten.
journalctl -u iotedge
sudo iotedge system logs
Använd verktyget check för att verifiera enhetens konfiguration och anslutningsstatus.
sudo iotedge check
Tips
Använd alltid sudo för att köra kontrollverktyget även när dina behörigheter har uppdaterats. Verktyget behöver utökade behörigheter för att få åtkomst till konfigurationsfilen för att verifiera konfigurationsstatusen.
Visa alla moduler som körs på din IoT Edge-enhet. När tjänsten startar för första gången bör du bara se edgeAgent-modulen som körs. EdgeAgent-modulen körs som standard och hjälper till att installera och starta eventuella ytterligare moduler som du distribuerar till din enhet.
sudo iotedge list
När du skapar en IoT Edge enhet visas statuskoden 417 -- The device's deployment configuration is not set i Azure Portal. Den här statusen är normal och innebär att enheten är redo att ta emot en moduldistribution.
Offline eller specifik version (valfritt)
Stegen i det här avsnittet gäller scenarier som inte omfattas av standardinstallationsstegen. Detta kan omfatta:
- Installera IoT Edge offline
- Installera en version av en versionskandidat
Använd stegen i det här avsnittet om du vill installera en specifik version av Azure IoT Edge som inte är tillgänglig via apt-get install . Microsoft-paketlistan innehåller bara en begränsad uppsättning av de senaste versionerna och deras underversioner, så de här stegen är till för alla som vill installera en äldre version eller en version av en kandidatversion.
Med curl-kommandon kan du rikta in dig på komponentfilerna direkt IoT Edge GitHub lagringsplatsen.
Gå till Azure IoT Edge versionernaoch leta reda på den version som du vill använda.
Expandera avsnittet Tillgångar för den versionen.
Varje version bör ha nya filer för IoT Edge säkerhetsdaemon och hsmlib. Om du ska installera en IoT Edge offlineenhet laddar du ned dessa filer i förväg. Annars använder du följande kommandon för att uppdatera komponenterna.
Hitta filen libiothsm-std som matchar IoT Edge enhetens arkitektur. Högerklicka på fillänken och kopiera länkadressen.
Använd den kopierade länken i följande kommando för att installera den versionen av hsmlib:
curl -L libiothsm-std_link_here -o libiothsm-std.deb && sudo apt-get install ./libiothsm-std.debHitta den iotedge-fil som IoT Edge din enhet arkitektur. Högerklicka på fillänken och kopiera länkadressen.
Använd den kopierade länken i följande kommando för att installera den versionen av IoT Edge säkerhetsdaemon.
curl -L iotedge_link_here -o iotedge.deb && sudo apt-get install ./iotedge.deb
Anteckning
Om enheten för närvarande kör IoT Edge version 1.1 eller senare avinstallerar du paketen iotedge och libiothsm-std innan du följer stegen i det här avsnittet. Mer information finns i Uppdatera från 1.0 eller 1.1 till 1.2.
Gå till Azure IoT Edge versionernaoch leta reda på den version som du vill använda.
Expandera avsnittet Tillgångar för den versionen.
Varje version bör ha nya filer för IoT Edge och identitetstjänsten. Om du ska installera en IoT Edge offlineenhet laddar du ned dessa filer i förväg. Annars använder du följande kommandon för att uppdatera komponenterna.
Hitta filen aziot-identity-service som matchar IoT Edge enhetens arkitektur. Högerklicka på fillänken och kopiera länkadressen.
Använd den kopierade länken i följande kommando för att installera den versionen av identitetstjänsten:
curl -L <identity service link> -o aziot-identity-service.deb && sudo apt-get install ./aziot-identity-service.debHitta den aziot Edge-fil som matchar IoT Edge enhetens arkitektur. Högerklicka på fillänken och kopiera länkadressen.
Använd den kopierade länken i följande kommando för att installera den versionen av IoT Edge.
curl -L <iotedge link> -o aziot-edge.deb && sudo apt-get install ./aziot-edge.deb
Nu när containermotorn och IoT Edge-körningen är installerade på enheten är du redo för nästa steg, som är att etablera enheten med dess molnidentitet.
Avinstallera IoT Edge
Om du vill ta bort IoT Edge från enheten använder du följande kommandon.
Ta bort IoT Edge-körningen.
sudo apt-get remove iotedge
sudo apt-get remove aziot-edge
Använd flaggan --purge om du vill ta bort alla filer som är associerade med IoT Edge, inklusive konfigurationsfilerna. Lämna den här flaggan om du vill installera IoT Edge och använda samma konfigurationsinformation i framtiden.
När IoT Edge tas bort stoppas alla containrar som den skapade, men de finns fortfarande på enheten. Visa alla containrar för att se vilka som finns kvar.
sudo docker ps -a
Ta bort containrarna från enheten, inklusive de två körningscontainrarna.
sudo docker rm -f <container name>
Ta slutligen bort containerkörningen från enheten.
sudo apt-get remove --purge moby-cli
sudo apt-get remove --purge moby-engine
Nästa steg
Fortsätt att distribuera IoT Edge moduler för att lära dig hur du distribuerar moduler till din enhet.


