Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för:
IoT Edge 1.1
Viktigt!
IoT Edge 1.1 supportdatumet upphör var den 13 december 2022. I informationen om Microsoft-produktens livscykel hittar du fler uppgifter om vilken support som gäller för denna produkt, tjänst, teknik eller detta API. Mer information om hur du uppdaterar till den senaste versionen av IoT Edge finns i Uppdatera IoT Edge-.
Testa Azure IoT Edge i den här snabbstarten genom att distribuera containerbaserad kod till en virtuell Linux IoT Edge-enhet. Med IoT Edge kan du fjärrhantera kod på dina IoT-enheter, så att du kan skicka fler av dina arbetsuppgifter till edge-nätverket. I den här snabbstarten rekommenderar vi att du använder en virtuell Azure-dator för din IoT Edge-enhet, vilket gör att du snabbt kan skapa en testdator och sedan ta bort den när du är klar.
I den här snabbstarten lär du dig att:
- Skapa en IoT Hub.
- Registrera en IoT Edge-enhet till din IoT Hub.
- Installera och starta IoT Edge-körningen på en virtuell enhet.
- Fjärrdistribuera en modul till en IoT Edge-enhet.
Den här snabbstarten vägleder dig genom att skapa en virtuell Linux-dator som är konfigurerad för att vara en IoT Edge-enhet. Sedan distribuerar du en modul från Azure Portal till enheten. Modulen som används i den här snabbstarten är en simulerad sensor som genererar temperatur-, luftfuktighets- och tryckdata. De andra Azure IoT Edge-självstudierna bygger på det arbete du utför här genom att distribuera ytterligare moduler som analyserar simulerade data för affärsinsikter.
Om du inte har en aktiv Azure-prenumeration kan du skapa ett kostnadsfritt konto innan du börjar.
Förutsättningar
Förbered din miljö för Azure CLI.
Använd Bash-miljön i Azure Cloud Shell.
Om du vill kan du installera Azure CLI för att köra CLI-referenskommandon.
Om du använder en lokal installation loggar du in på Azure CLI med hjälp av kommandot az login. Slutför autentiseringsprocessen genom att följa stegen som visas i terminalen. Ytterligare inloggningsalternativ finns i Logga in med Azure CLI.
När du uppmanas till det installerar du Azure CLI-tillägg vid första användning. Mer information om tillägg finns i Använda tillägg med Azure CLI.
Kör az version för att hitta versionen och de beroende bibliotek som är installerade. Om du vill uppgradera till den senaste versionen kör du az upgrade.
Molnresurser:
En resursgrupp som du använder för att hantera alla resurser i den här snabbstarten. Vi använder resursgruppsnamnet IoTEdgeResources i den här snabbstarten och följande handledningar.
az group create --name IoTEdgeResources --location westus2
Skapa en IoT-hubb
Starta snabbstarten genom att skapa en IoT-hubb med Azure CLI.
Den kostnadsfria nivån för IoT Hub fungerar för den här snabbstarten. Om du har använt IoT Hub tidigare och redan har skapat en hubb kan du använda den IoT-hubben.
Följande kod skapar en kostnadsfri F1-hubb i resursgruppen IoTEdgeResources. Ersätt {hub_name} med ett unikt namn för din IoT-hubb. Det kan ta några minuter att skapa en IoT Hub.
az iot hub create --resource-group IoTEdgeResources --name {hub_name} --sku F1 --partition-count 2
Om du får ett fel eftersom det redan finns en kostnadsfri hubb i din prenumeration ändrar du SKU:n till S1-. Varje prenumeration kan bara ha en kostnadsfri IoT-hubb. Om du får ett felmeddelande om att IoT Hub-namnet inte är tillgängligt innebär det att någon annan redan har en hubb med det namnet. Prova ett nytt namn.
Registrera en IoT Edge-enhet
Registrera en IoT Edge-enhet med din nyligen skapade IoT-hubb.
Skapa en enhetsidentitet för din IoT Edge-enhet så att den kan kommunicera med din IoT Hub. Enhetsidentiteten finns i molnet, och du använder en unik enhetsanslutningssträng för att associera en fysisk enhet med en enhetsidentitet.
Eftersom IoT Edge-enheter fungerar och kan hanteras på annat sätt än typiska IoT-enheter deklarerar du den här identiteten till att höra till en IoT Edge-enhet med flaggan --edge-enabled.
I Azure Cloud Shell anger du följande kommando för att skapa en enhet med namnet myEdgeDevice i hubben.
az iot hub device-identity create --device-id myEdgeDevice --edge-enabled --hub-name {hub_name}Om du får ett felmeddelande om principnycklar för iothubowner kontrollerar du att Cloud Shell kör den senaste versionen av azure-iot-tillägget .
Visa anslutningssträngen för din enhet, som länkar den fysiska enheten till dess identitet i IoT Hub. Den innehåller namnet på din IoT-hubb, namnet på enheten och sedan en delad nyckel som autentiserar anslutningar mellan de två. Vi refererar till den här anslutningssträngen igen i nästa avsnitt när du konfigurerar din IoT Edge-enhet.
az iot hub device-identity connection-string show --device-id myEdgeDevice --hub-name {hub_name}
Konfigurera din IoT Edge-enhet
Skapa en virtuell dator med Azure IoT Edge-runtime-miljön.
IoT Edge-runtime distribueras på alla IoT Edge-enheter. Den har tre komponenter. IoT Edge-säkerhetsdaemon startas varje gång en IoT Edge-enhet startas och inleder initieringen av enheten genom att starta IoT Edge-agenten. IoT Edge-agenten underlättar distribution och övervakning av moduler på IoT Edge-enheten, inklusive IoT Edge-hubb. IoT Edge-hubben hanterar kommunikationen mellan moduler på IoT Edge-enheten, samt mellan enheten och IoT Hub.
Vid körningskonfigurationen anger du en enhetsanslutningssträng. Det här är strängen som du hämtade från Azure CLI. Den här strängen associerar din fysiska enhet med IoT Edge-enhetsidentiteten i Azure.
Distribuera IoT Edge-enheten
I det här avsnittet används en Azure Resource Manager-mall för att skapa en ny virtuell dator och installera IoT Edge-körningen på den. Om du vill använda en egen Linux-enhet i stället kan du följa installationsstegen i Etablera en enskild Linux IoT Edge-enhet manuellt och sedan återgå till den här snabbstarten.
Använd följande CLI-kommando för att skapa din IoT Edge-enhet baserat på den fördefinierade mallen iotedge-vm-deploy.
För bash- eller Cloud Shell-användare kopierar du följande kommando till en textredigerare, ersätter platshållartexten med din information och kopierar sedan till bash- eller Cloud Shell-fönstret:
az deployment group create \ --resource-group IoTEdgeResources \ --template-uri "https://raw.githubusercontent.com/Azure/iotedge-vm-deploy/1.1/edgeDeploy.json" \ --parameters dnsLabelPrefix='<REPLACE_WITH_VM_NAME>' \ --parameters adminUsername='azureUser' \ --parameters deviceConnectionString=$(az iot hub device-identity connection-string show --device-id myEdgeDevice --hub-name <REPLACE_WITH_HUB_NAME> -o tsv) \ --parameters authenticationType='password' \ --parameters adminPasswordOrKey="<REPLACE_WITH_PASSWORD>"För PowerShell-användare kopierar du följande kommando till PowerShell-fönstret och ersätter platshållartexten med din egen information:
az deployment group create ` --resource-group IoTEdgeResources ` --template-uri "https://raw.githubusercontent.com/Azure/iotedge-vm-deploy/1.1/edgeDeploy.json" ` --parameters dnsLabelPrefix='<REPLACE_WITH_VM_NAME>' ` --parameters adminUsername='azureUser' ` --parameters deviceConnectionString=$(az iot hub device-identity connection-string show --device-id myEdgeDevice --hub-name <REPLACE_WITH_HUB_NAME> -o tsv) ` --parameters authenticationType='password' ` --parameters adminPasswordOrKey="<REPLACE_WITH_PASSWORD>"
Den här mallen tar följande parametrar:
| Parameter | Beskrivning |
|---|---|
| resursgrupp | Den resursgrupp där resurserna ska skapas. Använd standard-IoTEdgeResources som vi har använt i hela den här artikeln eller ange namnet på en befintlig resursgrupp i din prenumeration. |
| template-uri | En pekare till Resource Manager-mallen som vi använder. |
| dnsLabelPrefix | En sträng som ska användas för att skapa den virtuella datorns värdnamn. Ersätt platshållartexten med ett namn på den virtuella datorn. |
| adminUsername | Ett användarnamn för administratörskontot för den virtuella datorn. Använd exemplet azureUser eller ange ett nytt användarnamn. |
| deviceConnectionString | Anslutningssträngen från enhetsidentiteten i IoT Hub, som används för att konfigurera IoT Edge-miljön på den virtuella datorn. CLI-kommandot i den här parametern hämtar anslutningssträng åt dig. Ersätt platshållartexten med ditt IoT-hubbnamn. |
| autentiseringstyp | Autentiseringsmetoden för administratörskontot. Den här snabbstarten använder lösenordsautentisering , men du kan också ange den här parametern till sshPublicKey. |
| adminPasswordOrKey | Lösenordet eller värdet för SSH-nyckeln för administratörskontot. Ersätt platshållartexten med ett säkert lösenord. Lösenordet måste vara minst 12 tecken långt och ha tre av fyra av följande: gemener, versaler, siffror och specialtecken. |
När distributionen är klar bör du få JSON-formaterade utdata i CLI som innehåller SSH-informationen för att ansluta till den virtuella datorn. Kopiera värdet från posten offentliga SSH i utdata sektionen.
Visa IoT Edge-körningsstatus
Resten av kommandona i den här snabbstarten sker på din IoT Edge-enhet så att du kan se vad som händer på enheten. Om du använder en virtuell dator ansluter du till den datorn nu med det administratörsanvändarnamn som du har konfigurerat och DNS-namnet som utdata från distributionskommandot. Du hittar även DNS-namnet på översiktssidan för den virtuella datorn i Azure Portal. Använd följande kommando för att ansluta till den virtuella datorn. Ersätt {admin username} och {DNS name} med dina egna värden.
ssh {admin username}@{DNS name}
När du är ansluten till den virtuella datorn, kontrollera att runtime lyckades installeras och konfigureras på din IoT Edge-enhet.
Kontrollera att säkerhetsdaemonen IoT Edge körs som en systemtjänst.
sudo systemctl status iotedge
Tips/Råd
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 använder dusudoframför kommandona.Om du behöver felsöka tjänsten hämtar du tjänstloggarna.
journalctl -u iotedgeVisa alla moduler som körs på din IoT Edge-enhet. Eftersom tjänsten precis har startats för första gången bör du bara se modulen edgeAgent köra. EdgeAgent-modulen körs som standard och hjälper till att installera och starta eventuella ytterligare moduler som du distribuerar till enheten.
sudo iotedge list
Din IoT Edge-enhet är nu konfigurerad. Den är redo att köra molndistribuerade moduler.
Distribuera en modul
Hantera din Azure IoT Edge-enhet från molnet för att distribuera en modul som ska skicka telemetridata till IoT Hub.
En av de viktigaste funktionerna i Azure IoT Edge är att distribuera kod till dina IoT Edge-enheter från molnet. IoT Edge-moduler är körbara paket som implementeras som containrar. I det här avsnittet distribuerar du en fördefinierad modul från avsnittet IoT Edge-moduler i Azure Marketplace direkt från Azure IoT Hub.
Den modul som du distribuerar i det här avsnittet simulerar en sensor och skickar genererade data. Modulen är användbar kod när du kör igång med IoT Edge eftersom du kan använda simulerade data för utveckling och testning. Om du vill se exakt vad den här modulen gör kan du visa källkoden för den simulerade temperatursensorn.
Följ de här stegen för att starta guiden Ange moduler för att distribuera din första modul från Azure Marketplace.
Logga in på Azure Portal och gå till din IoT-hubb.
Välj Enheter under Enhetshantering på menyn till vänster.
Välj enhets-ID för mål-IoT Edge-enheten i listan.
När du skapar en ny IoT Edge-enhet visas statuskoden
417 -- The device's deployment configuration is not seti Azure Portal. Den här statusen är normal och innebär att enheten är redo att ta emot en moduldistribution.I det övre fältet väljer du Ange moduler.
Modules
Det första steget i guiden är att välja vilka moduler du vill köra på enheten.
Under IoT Edge-moduler öppnar du den nedrullningsbara menyn Lägg till och väljer sedan Marketplace-modul.
I IoT Edge-modulen Marketplace söker du efter och väljer modulen Simulated Temperature Sensor . Modulen läggs till i avsnittet IoT Edge-moduler med önskad körningsstatus .
Välj Nästa: Vägar för att fortsätta till nästa steg i guiden.
Vägar
En väg med namnet SimulatedTemperatureSensorToIoTHub skapades automatiskt när du lade till modulen från Azure Marketplace. Den här vägen skickar alla meddelanden från modulen för simulerad temperatur till IoT Hub.
Välj Nästa: Granska + skapa.
Granska och skapa
Granska JSON-filen och välj sedan Skapa. JSON-filen definierar alla moduler som du distribuerar till din IoT Edge-enhet. Du ser modulen SimulatedTemperatureSensor och de två runtime-modulerna edgeAgent och edgeHub.
Anmärkning
När du skickar en ny distribution till en IoT Edge-enhet, överförs ingenting till din enhet. I stället frågar enheten regelbundet IoT Hub efter nya instruktioner. Om enheten hittar ett uppdaterat distributionsmanifest använder den informationen om den nya distributionen för att hämta modulavbildningarna från molnet och börjar sedan köra modulerna lokalt. Den här processen kan ta några minuter.
När du har skapat information om moduldistributionen returnerar guiden dig till enhetens informationssida. Visa distributionsstatus på fliken Moduler .
Du bör se tre moduler: $edgeAgent, $edgeHub och SimulatedTemperatureSensor. Om en eller flera av modulerna har JA under ANGIVEN I DISTRIBUTION men inte under RAPPORTERAD AV ENHET startar din IoT Edge-enhet dem fortfarande. Vänta några minuter och uppdatera sedan sidan.
Visa genererade data
I den här snabbstarten skapade du en ny IoT Edge-enhet och installerade IoT Edge-körningsmiljön på den. Sedan använde du Azure-portalen för att distribuera en IoT Edge-modul som ska köras på enheten utan att några ändringar behövs göras i själva enheten.
I det här fallet genererar modulen som du pushade exempelmiljödata som du kan använda för testning senare. Den simulerade sensorn övervakar både en dator och miljön runt datorn. Den här sensorn kan till exempel finnas i ett serverrum, på fabriksgolvet eller på en vindturbin. Meddelandet innehåller rumstemperatur och fuktighet, maskintemperatur och tryck samt en tidsstämpel. I IoT Edge-självstudierna används de data som skapas av den här modulen som testdata för analys.
Öppna kommandotolken på IoT Edge-enheten igen eller använd SSH-anslutningen från Azure CLI. Kontrollera att modulen som distribuerades från molnet körs på din IoT Edge-enhet.
sudo iotedge list
Visa de meddelanden som skickas från temperatursensor-modulen:
sudo iotedge logs SimulatedTemperatureSensor -f
Tips/Råd
IoT Edge-kommandon är skiftlägeskänsliga när det gäller modulnamnen.
Du kan också se när meddelandena kommer till din IoT-hubb med hjälp av Azure IoT Hub-tillägget för Visual Studio Code.
Rensa resurser
Om du vill fortsätta med IoT Edge-självstudierna kan du använda enheten du registrerade och konfigurerade i den här snabbstarten. Annars kan du ta bort de Azure-resurser som du skapade för att undvika avgifter.
Om du skapade den virtuella datorn och IoT-hubben i en ny resursgrupp kan du ta bort den gruppen och alla associerade resurser. Kontrollera att det inte finns något du vill behålla i innehållet i resursgruppen. Om du inte vill ta bort hela gruppen kan du ta bort enskilda resurser i stället.
Viktigt!
Att ta bort en resursgrupp kan inte ångras.
Ta bort gruppen IoTEdgeResources. Det kan ta några minuter att ta bort en resursgrupp.
az group delete --name IoTEdgeResources --yes
Du kan bekräfta att resursgruppen har tagits bort genom att visa listan över resursgrupper.
az group list
Nästa steg
I den här snabbstarten skapade du en IoT Edge-enhet och använde molngränssnittet i Azure IoT Edge för att distribuera kod till enheten. Nu har du en testenhet som genererar rådata om dess miljö.
I nästa självstudie får du lära dig hur du övervakar enhetens aktivitet och hälsa från Azure Portal.