Självstudie: Utveckla IoT Edge moduler med Windows-containrar

Gäller för:ja-ikonen IoT Edge 1.1

Viktigt

IoT Edge 1.1 slutdatum för support 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.

Använd Visual Studio för att utveckla och distribuera kod till Windows-enheter som kör IoT Edge.

Anteckning

IoT Edge 1.1 LTS är den senaste versionskanalen som stöder Windows-containrar. Från och med version 1.2 stöds inte Windows-containrar. Överväg att använda eller flytta till IoT Edge för Linux i Windows för att köra IoT Edge på Windows-enheter.

Den här självstudien beskriver vad som krävs för att utveckla och distribuera din egen kod till en IoT Edge enhet. Den här självstudien är en användbar förutsättning för de andra självstudierna, som går in mer detaljerat på specifika programmeringsspråk eller Azure-tjänster.

I den här självstudien används ett exempel på hur du distribuerar en C#-modul till en Windows-enhet. Det här exemplet valdes eftersom det är det vanligaste utvecklingsscenariot. Om du är intresserad av att utveckla på ett annat språk eller planerar att distribuera Azure-tjänster som moduler är den här självstudien fortfarande användbar för att lära dig mer om utvecklingsverktygen. När du förstår utvecklingsbegreppen kan du välja önskat språk eller Azure-tjänst för att ta en närmare titt på informationen.

I den här guiden får du lära dig att:

  • Konfigurera utvecklingsdatorn.
  • Använd IoT Edge verktyg för Visual Studio för att skapa ett nytt projekt.
  • Skapa projektet som en container och lagra det i ett Azure-containerregister.
  • Distribuera koden till en IoT Edge enhet.

Förutsättningar

En utvecklingsdator:

  • Windows 10 med uppdatering 1809 eller senare.
  • Du kan använda din egen dator eller en virtuell dator, beroende på dina utvecklingsinställningar.
    • Kontrollera att utvecklingsdatorn stöder kapslad virtualisering. Den här funktionen är nödvändig för att köra en containermotor som du installerar i nästa avsnitt.
  • Installera Git.

En Azure IoT Edge-enhet i Windows:

  • Installera och hantera Azure IoT Edge med Windows-containrar.
  • Vi rekommenderar att du inte kör IoT Edge på utvecklingsdatorn, utan i stället använder en separat enhet om det är möjligt. Den här skillnaden mellan utvecklingsdatorn och IoT Edge enheten speglar ett verkligt distributionsscenario och hjälper till att hålla de olika begreppen enkla.

Molnresurser:

Om du inte har en Azure-prenumeration skapar du ett kostnadsfritt Azure-konto innan du börjar.

Viktiga begrepp

Den här självstudien går igenom utvecklingen av en IoT Edge modul. En IoT Edge modul, eller ibland bara modul för kort, är en container som innehåller körbar kod. Du kan distribuera en eller flera moduler till en IoT Edge enhet. Moduler utför specifika uppgifter som att mata in data från sensorer, utföra dataanalys- eller datarensningsåtgärder eller skicka meddelanden till en IoT-hubb. Mer information finns i Förstå Azure IoT Edge-moduler.

När du utvecklar IoT Edge moduler är det viktigt att förstå skillnaden mellan utvecklingsdatorn och målet IoT Edge enhet där modulen så småningom kommer att distribueras. Containern som du skapar för att lagra modulkoden måste matcha målenhetens operativsystem (OS). För utveckling av Windows-containrar är det här konceptet enklare eftersom Windows-containrar bara körs på Windows-operativsystem. Men du kan till exempel använda din Windows-utvecklingsdator för att skapa moduler för Linux IoT Edge-enheter. I det scenariot måste du se till att utvecklingsdatorn körde Linux-containrar. När du går igenom den här självstudien bör du tänka på skillnaden mellan utvecklingsdatorns operativsystem och containerns operativsystem.

Den här självstudien riktar sig till Windows-enheter som kör IoT Edge. Windows IoT Edge-enheter använder Windows-containrar. Vi rekommenderar att du använder Visual Studio för att utveckla för Windows-enheter, så det är vad den här självstudien kommer att använda. Du kan också använda Visual Studio Code, även om det finns skillnader i stöd mellan de två verktygen.

I följande tabell visas utvecklingsscenarier som stöds för Windows-containrar i Visual Studio Code och Visual Studio.

Visuell Studio-kod Visual Studio 2017/2019
Azure-tjänster Azure Functions
Azure Stream Analytics
Språk C# (felsökning stöds inte) C
C#
Mer information Azure IoT Edge för Visual Studio Code
Azure IoT Hub
Azure IoT Edge Tools för Visual Studio 2017
Azure IoT Edge Tools för Visual Studio 2019

Installera containermotorn

IoT Edge moduler paketeras som containrar, så du behöver en containermotor på utvecklingsdatorn för att skapa och hantera containrarna. Vi rekommenderar att du använder Docker Desktop för utveckling på grund av dess många funktioner och popularitet som containermotor. Med Docker Desktop på en Windows-dator kan du växla mellan Linux-containrar och Windows-containrar så att du enkelt kan utveckla moduler för olika typer av IoT Edge enheter.

Använd Docker-dokumentationen för att installera på utvecklingsdatorn:

Konfigurera Visual Studio och verktyg

IoT-tilläggen för Visual Studio hjälper dig att utveckla IoT Edge moduler. Dessa tillägg tillhandahåller projektmallar, automatiserar skapandet av distributionsmanifestet och gör att du kan övervaka och hantera IoT Edge enheter. I det här avsnittet installerar du Visual Studio och tillägget IoT Edge och konfigurerar sedan ditt Azure-konto för att hantera IoT Hub resurser inifrån Visual Studio.

I den här självstudien lär du dig utvecklingsstegen för Visual Studio 2019. Om du använder Visual Studio 2017 (version 15.7 eller senare) är stegen liknande. Om du hellre vill använda Visual Studio Code läser du anvisningarna i Använda Visual Studio Code för att utveckla och felsöka moduler för Azure IoT Edge.

  1. Förbered Visual Studio 2019 på utvecklingsdatorn.

    • Om du inte redan har Visual Studio på utvecklingsdatorn installerar du Visual Studio 2019 med följande arbetsbelastningar:

      • Azure Development
      • Skrivbordsutveckling med C++
      • .NET Core plattformsoberoende utveckling
    • Om du redan har Visual Studio 2019 på utvecklingsdatorn följer du stegen i Ändra Visual Studio för att lägga till de arbetsbelastningar som krävs.

  2. Ladda ned och installera Azure IoT Edge Tools-tillägget för Visual Studio 2019.

    Om du använder Visual Studio 2017 (version 15.7 eller senare) laddar du ned och installerar Azure IoT Edge Tools för Visual Studio 2017.

  3. När installationen är klar öppnar du Visual Studio 2019 och väljer Fortsätt utan kod.

  4. Välj Visa>Cloud Explorer.

  5. Välj profilikonen i molnutforskaren och logga in på ditt Azure-konto om du inte redan är inloggad.

  6. När du loggar in visas dina Azure-prenumerationer. Expandera prenumerationen som har din IoT-hubb.

  7. Under din prenumeration expanderar du IoT Hubs och sedan din IoT-hubb. Du bör se en lista över dina IoT-enheter och kan använda den här utforskaren för att hantera dem.

    Komma åt IoT Hub resurser i Cloud Explorer

Skapa ett containerregister

I den här självstudien skapar du en modul och skapar en containeravbildning från filerna. Sedan pushar du avbildningen till ett register som lagrar och hanterar dina avbildningar. Slutligen, distribuerar du din avbildning från ditt register så det kör på din IoT Edge-enhet.

Du kan använda valfritt Docker-kompatibelt register för att lagra dina containeravbildningar. Två populära Docker-registertjänster är Azure Container Registry och Docker Hub. I den här kursen använder vi Azure Container Registry.

Om du inte redan har ett containerregister följer du dessa steg för att skapa ett nytt i Azure:

  1. I Azure Portal väljer du Skapa en resurs>Container>Containerregister.

  2. Skapa containerregistret genom att ange följande värden:

    Fält Värde
    Prenumeration Välj en prenumeration i listrutan.
    Resursgrupp Vi rekommenderar att du använder samma resursgrupp för alla testresurser som du skapar i snabbstarterna och självstudierna om IoT Edge. Till exempel IoTEdgeResources.
    Registernamn Ange ett unikt namn.
    Location Välj en plats i närheten av dig.
    SKU Välj Grundläggande.
  3. Välj Skapa.

  4. Välj ditt nyligen skapade containerregister i avsnittet Resurser på Azure Portal startsida för att öppna det.

  5. I det vänstra fönstret i containerregistret väljer du Åtkomstnycklar på menyn under Inställningar.

  6. Aktivera Admin användare med växlingsknappen och visa användarnamn och lösenord för containerregistret.

  7. Kopiera värdena för inloggningsserver, användarnamn och lösenord och spara dem någonstans bekvämt. Du använder dessa värden i den här självstudien för att ge åtkomst till containerregistret.

Skapa ett nytt modulprojekt

Tillägget Azure IoT Edge Tools innehåller projektmallar för alla IoT Edge modulspråk som stöds i Visual Studio. Dessa mallar har alla filer och kod som du behöver för att distribuera en fungerande modul för att testa IoT Edge eller ge dig en startpunkt för att anpassa mallen med din egen affärslogik.

  1. Välj Nyttprojekt för fil...>>

  2. I det nya projektfönstret söker du efter IoT Edge och väljer projektet Azure IoT Edge (Windows amd64). Klicka på Nästa.

    Skapa ett nytt Azure IoT Edge-projekt

  3. I fönstret Konfigurera det nya projektet byter du namn på projektet och lösningen till något beskrivande som CSharpTutorialApp. Klicka på Skapa för att skapa projektet.

    Konfigurera ett nytt Azure IoT Edge-projekt

  4. I fönstret Lägg till modul konfigurerar du projektet med följande värden:

    Fält Värde
    Visual Studio-mall Välj C#-modul.
    Modulnamn Acceptera standard-IotEdgeModule1.
    Url för lagringsplats En bildlagringsplats innehåller namnet på containerregistret och namnet på containeravbildningen. Containeravbildningen fylls i i förväg från modulprojektets namnvärde. Ersätt localhost:5000 med värdet för inloggningsservern från azure-containerregistret. Du kan hämta värdet för inloggningsservern från sidan Översikt i containerregistret i Azure Portal.

    Den slutliga avbildningslagringsplatsen ser ut som <registernamnet.azurecr.io/iotedgemodule1>.

    Konfigurera projektet för målenhet, modultyp och containerregister

  5. Välj Lägg till för att skapa modulen.

När det nya projektet har lästs in i Visual Studio-fönstret kan du bekanta dig med de filer som det skapade:

  • Ett IoT Edge projekt med namnet CSharpTutorialApp.
    • Mappen Moduler innehåller pekare till de moduler som ingår i projektet. I det här fallet bör det bara vara IotEdgeModule1.
    • Den dolda .env-filen innehåller autentiseringsuppgifterna i containerregistret. Dessa autentiseringsuppgifter delas med din IoT Edge-enhet så att den har åtkomst till att hämta containeravbildningarna.
    • Den deployment.template.json filen är en mall som hjälper dig att skapa ett distributionsmanifest. Ett distributionsmanifest är en fil som definierar exakt vilka moduler du vill distribuera på en enhet, hur de ska konfigureras och hur de kan kommunicera med varandra och molnet.

      Tips

      I avsnittet registerautentiseringsuppgifter fylls adressen i automatiskt från den information du angav när du skapade lösningen. Referensvariablerna för användarnamn och lösenord som lagras i .env-filen. Detta gäller för säkerhet eftersom .env-filen är git ignorerad, men distributionsmallen är inte det.

  • Ett IoT Edge modulprojekt med namnet IotEdgeModule1.
    • Den program.cs filen innehåller standardkoden för C#-modulen som medföljer projektmallen. Standardmodulen tar indata från en källa och skickar den vidare till IoT Hub.
    • Module.json-filen innehåller information om modulen, inklusive den fullständiga avbildningslagringsplatsen, avbildningsversionen och vilken Dockerfile som ska användas för varje plattform som stöds.

Ange IoT Edge körningsversion

Det IoT Edge tillägget är som standard den senaste stabila versionen av IoT Edge-körningen när distributionstillgångarna skapas.

Windows-containrar stöds endast i den långsiktiga 1.1-supportversionen eller den tidigare 1.0-versionen. Om du vill utveckla moduler för enheter som använder Windows-containrar uppdaterar du IoT Edge-körningsversionen i Visual Studio så att den matchar den IoT Edge versionen på dessa enheter.

  1. I Solution Explorer högerklickar du på namnet på projektet och väljer Ange IoT Edge körningsversion.

    Högerklicka på projektnamnet och välj ange IoT Edge körningsversion.

  2. Använd den nedrullningsbara menyn för att välja den körningsversion som dina IoT Edge enheter kör och välj sedan OK för att spara ändringarna.

  3. Återskapa distributionsmanifestet med den nya körningsversionen. Högerklicka på namnet på projektet och välj Generera distribution för IoT Edge.

Ange dina registerautentiseringsuppgifter för IoT Edge-agenten

IoT Edge-körningen behöver dina registerautentiseringsuppgifter för att hämta containeravbildningarna till den IoT Edge enheten. Det IoT Edge tillägget försöker hämta information om containerregistret från Azure och fylla i den i distributionsmallen.

  1. Öppna filen deployment.template.json i modullösningen.

  2. Leta upp egenskapen registryCredentials i de $edgeAgent önskade egenskaperna. Registeradressen bör fyllas i automatiskt från den information du angav när du skapade projektet och sedan ska fälten användarnamn och lösenord innehålla variabelnamn. Exempel:

    "registryCredentials": {
      "<registry name>": {
        "username": "$CONTAINER_REGISTRY_USERNAME_<registry name>",
        "password": "$CONTAINER_REGISTRY_PASSWORD_<registry name>",
        "address": "<registry name>.azurecr.io"
      }
    }
    
  3. Öppna .env-filen i modullösningen. (Den är dold som standard i Solution Explorer, så du kan behöva välja knappen Visa alla filer för att visa den.)

  4. Lägg till värdena användarnamn och lösenord som du kopierade från azure-containerregistret.

  5. Spara ändringarna i .env-filen.

Anteckning

I den här självstudien används autentiseringsuppgifter för administratörsinloggning för Azure Container Registry, vilket är praktiskt för utvecklings- och testscenarier. När du är redo för produktionsscenarier rekommenderar vi ett alternativ för autentisering med minst privilegier, till exempel tjänstens huvudnamn. Mer information finns i Hantera åtkomst till containerregistret.

Granska exempelkoden

Lösningsmallen som du skapade innehåller exempelkod för en IoT Edge modul. Den här exempelmodulen tar helt enkelt emot meddelanden och skickar dem sedan vidare. Pipelinefunktionen visar ett viktigt begrepp i IoT Edge, vilket är hur moduler kommunicerar med varandra.

Varje modul kan ha flera indata- och utdataköer deklarerade i sin kod. Den IoT Edge hubben som körs på enheten dirigerar meddelanden från utdata från en modul till indata för en eller flera moduler. Den specifika koden för att deklarera indata och utdata varierar mellan olika språk, men konceptet är detsamma för alla moduler. Mer information om routning mellan moduler finns i Deklarera vägar.

C#-exempelkoden som medföljer projektmallen använder Klassen ModuleClient från IoT Hub SDK för .NET.

  1. Leta reda på metoden SetInputMessageHandlerAsync i filen program.cs.

  2. Metoden SetInputMessageHandlerAsync konfigurerar en indatakö för att ta emot inkommande meddelanden. Granska den här metoden och se hur den initierar en indatakö med namnet input1.

    Hitta indatanamnet i konstruktorn SetInputMessageHandlserAsync

  3. Leta sedan upp metoden SendEventAsync .

  4. Metoden SendEventAsync bearbetar mottagna meddelanden och konfigurerar en utdatakö för att skicka vidare dem. Granska den här metoden och se att den initierar en utdatakö med namnet output1.

    Hitta utdatanamnet i Konstruktorn SendEventAsync

  5. Öppna filen deployment.template.json .

  6. Leta reda på modulegenskapen för de $edgeAgent önskade egenskaperna.

    Det bör finnas två moduler i listan här. En är modulen SimulatedTemperatureSensor , som ingår i alla mallar som standard för att tillhandahålla simulerade temperaturdata som du kan använda för att testa dina moduler. Den andra är modulen IotEdgeModule1 som du skapade som en del av det här projektet.

    Den här modulegenskapen deklarerar vilka moduler som ska ingå i distributionen till din enhet eller dina enheter.

  7. Leta reda på egenskapen routes för de $edgeHub önskade egenskaperna.

    En av funktionerna i IoT Edge-hubbmodulen är att dirigera meddelanden mellan alla moduler i en distribution. Granska värdena i egenskapen routes. En väg, IotEdgeModule1ToIoTHub, använder ett jokertecken (*) för att inkludera alla meddelanden som kommer från en utdatakö i modulen IotEdgeModule1. Dessa meddelanden hamnar i $upstream, vilket är ett reserverat namn som anger IoT Hub. Den andra vägen, sensorToIotEdgeModule1, tar meddelanden som kommer från modulen SimulatedTemperatureSensor och dirigerar dem till input1-indatakön för modulen IotEdgeModule1.

    Granska vägar i deployment.template.json

Skapa och push-överföra lösningen

Du har granskat modulkoden och distributionsmallen för att förstå några viktiga distributionsbegrepp. Nu är du redo att skapa containeravbildningen IotEdgeModule1 och push-överföra den till containerregistret. Med IoT-verktygstillägget för Visual Studio genererar det här steget även distributionsmanifestet baserat på informationen i mallfilen och modulinformationen från lösningsfilerna.

Logga in på Docker

Ange dina autentiseringsuppgifter för containerregistret till Docker på utvecklingsdatorn så att den kan push-överföra containeravbildningen så att den lagras i registret.

  1. Öppna PowerShell eller en kommandotolk.

  2. Logga in på Docker med autentiseringsuppgifterna för Azure-containerregistret som du sparade när du skapade registret.

    docker login -u <ACR username> -p <ACR password> <ACR login server>
    

    Du kan få en säkerhetsvarning som rekommenderar att du använder --password-stdin. Även om den bästa metoden rekommenderas för produktionsscenarier ligger den utanför omfånget för den här självstudien. Mer information finns i docker-inloggningsreferensen .

Skapa och push-överföra

Utvecklingsdatorn har nu åtkomst till ditt containerregister och dina IoT Edge enheter kommer också att göra det. Det är dags att omvandla projektkoden till en containeravbildning.

  1. Högerklicka på projektmappen CSharpTutorialApp och välj Skapa och skicka IoT Edge moduler.

    Skapa och push-överföra IoT Edge moduler

    Kommandot build and push startar tre åtgärder. Först skapas en ny mapp i lösningen med namnet config som innehåller det fullständiga distributionsmanifestet, som är inbyggt i information i distributionsmallen och andra lösningsfiler. För det andra körs docker build den för att skapa containeravbildningen baserat på lämplig dockerfile för målarkitekturen. Sedan körs docker push den för att push-överföra avbildningslagringsplatsen till containerregistret.

    Den här processen kan ta flera minuter första gången, men det går snabbare nästa gång du kör kommandona.

  2. Öppna filen deployment.windows-amd64.json i den nyligen skapade konfigurationsmappen. (Konfigurationsmappen kanske inte visas i Solution Explorer i Visual Studio. Om så är fallet väljer du ikonen Visa alla filer i Solution Explorer aktivitetsfältet.)

  3. Leta upp bildparametern i avsnittet IotEdgeModule1. Observera att avbildningen innehåller den fullständiga avbildningslagringsplatsen med taggen namn, version och arkitektur från module.json-filen.

  4. Öppna filen module.json i mappen IotEdgeModule1.

  5. Ändra versionsnumret för modulbilden. (Versionen, inte $schema-versionen.) Öka till exempel korrigeringsversionsnumret till 0.0.2 som om vi hade gjort en liten korrigering i modulkoden.

    Tips

    Modulversioner aktiverar versionskontroll och gör att du kan testa ändringar på en liten uppsättning enheter innan du distribuerar uppdateringar till produktion. Om du inte ökar modulversionen innan du skapar och push-överför skriver du över lagringsplatsen i containerregistret.

  6. Spara ändringarna i module.json-filen.

  7. Högerklicka på projektmappen CSharpTutorialApp igen och välj Skapa och skicka IoT Edge moduler igen.

  8. Öppna filen deployment.windows-amd64.json igen. Observera att en ny fil inte skapades när du körde kompilerings- och push-kommandot igen. I stället uppdaterades samma fil för att återspegla ändringarna. IotEdgeModule1-avbildningen pekar nu på containerns version 0.0.2. Den här ändringen i distributionsmanifestet är hur du talar om för IoT Edge enheten att det finns en ny version av en modul att hämta.

  9. Om du vill kontrollera vad build- och push-kommandot gjorde går du till Azure Portal och går till containerregistret.

  10. I containerregistret väljer du Lagringsplatseroch sedan iotedgemodule1. Kontrollera att båda versionerna av avbildningen har push-överförts till registret.

    Visa båda avbildningsversionerna i containerregistret

Felsöka

Om du får fel när du skapar och push-överför modulens avbildning har det ofta att göra med Docker-konfigurationen på utvecklingsdatorn. Använd följande kontroller för att granska konfigurationen:

  • Körde du docker login kommandot med de autentiseringsuppgifter som du kopierade från containerregistret? Dessa autentiseringsuppgifter skiljer sig från de som du använder för att logga in på Azure.
  • Stämmer containerlagringsplatsen? Har den rätt containerregisternamn och rätt modulnamn? Öppna filen module.json i mappen IotEdgeModule1 för att kontrollera. Lagringsplatsens värde bör se ut som <registernamn.azurecr.io/iotedgemodule1>.
  • Om du använde ett annat namn än IotEdgeModule1 för modulen, är det namnet konsekvent i hela lösningen?
  • Kör datorn samma typ av containrar som du skapar? Den här självstudien gäller för Windows IoT Edge-enheter, så dina Visual Studio-filer bör ha tillägget windows-amd64 och Docker Desktop ska köra Windows-containrar.

Distribuera moduler till enheten

Du har verifierat att de skapade containeravbildningarna lagras i containerregistret, så det är dags att distribuera dem till en enhet. Kontrollera att din IoT Edge enheten är igång.

  1. Öppna Cloud Explorer i Visual Studio och expandera informationen för din IoT-hubb.

  2. Välj namnet på den enhet som du vill distribuera till. I listan Åtgärder väljer du Skapa Distribution.

    Skapa distribution för en enskild enhet

  3. I Utforskaren navigerar du till projektets konfigurationsmapp och väljer filen deployment.windows-amd64.json . Den här filen finns ofta på C:\Users\<username>\source\repos\CSharpTutorialApp\CSharpTutorialApp\config\deployment.windows-amd64.json

    Använd inte deployment.template.json-filen, som inte har de fullständiga modulbildvärdena i den.

  4. Expandera informationen för din IoT Edge-enhet i Cloud Explorer för att se modulerna på enheten.

  5. Använd knappen Uppdatera för att uppdatera enhetens status för att se att modulerna SimulatedTemperatureSensor och IotEdgeModule1 har distribuerats till enheten.

    Visa moduler som körs på din IoT Edge enhet

Visa meddelanden från enheten

Koden IotEdgeModule1 tar emot meddelanden via indatakön och skickar dem vidare genom utdatakön. Distributionsmanifestet deklarerade vägar som skickade meddelanden från SimulatedTemperatureSensor till IotEdgeModule1 och sedan vidarebefordrade meddelanden från IotEdgeModule1 till IoT Hub. Med Azure IoT Edge-verktygen för Visual Studio kan du se meddelanden när de tas emot IoT Hub från dina enskilda enheter.

  1. I Visual Studio Cloud Explorer väljer du namnet på den IoT Edge enhet som du distribuerade till.

  2. På menyn Åtgärder väljer du Starta övervakning Inbyggd händelseslutpunkt.

  3. Titta på avsnittet Utdata i Visual Studio för att se meddelanden som kommer till din IoT-hubb.

    Det kan ta några minuter för båda modulerna att starta. Den IoT Edge körningen måste ta emot det nya distributionsmanifestet, hämta modulavbildningarna från containerkörningen och starta sedan varje ny modul.

    Visa inkommande enhet till molnmeddelanden

Visa ändringar på enheten

Om du vill se vad som händer på själva enheten använder du kommandona i det här avsnittet för att granska IoT Edge-körning och moduler som körs på enheten.

Kommandona i det här avsnittet gäller för din IoT Edge enhet, inte utvecklingsdatorn. Om du använder en virtuell dator för din IoT Edge enhet ansluter du till den nu. I Azure går du till översiktssidan för den virtuella datorn och väljer Anslut för att få åtkomst till fjärrskrivbordsanslutningen. Öppna ett kommando eller Ett PowerShell-fönster på enheten för att köra iotedge kommandona.

  • Visa alla moduler som har distribuerats till enheten och kontrollera deras status:

    iotedge list
    

    Du bör se fyra moduler: de två IoT Edge-körningsmodulerna SimulatedTemperatureSensor och IotEdgeModule1. Alla fyra bör visas som aktiva.

  • Granska loggarna efter en specifik modul:

    iotedge logs <module name>
    

    IoT Edge moduler är skiftlägeskänsliga.

    Loggarna SimulatedTemperatureSensor och IotEdgeModule1 bör visa de meddelanden som de bearbetar. EdgeAgent-modulen ansvarar för att starta de andra modulerna, så loggarna innehåller information om hur du implementerar distributionsmanifestet. Om någon modul inte visas eller inte körs kommer edgeAgent-loggarna förmodligen att ha felen. EdgeHub-modulen ansvarar för kommunikationen mellan modulerna och IoT Hub. Om modulerna är igång, men meddelandena inte kommer till din IoT-hubb, kommer edgeHub-loggarna förmodligen att ha felen.

Rensa resurser

Om du planerar att fortsätta med nästa rekommenderade artikel kan du behålla de resurser och konfigurationer som du skapat och använda dem igen. Du kan även fortsätta att använda samma IoT Edge-enhet som en testenhet.

Annars kan du ta bort de lokala konfigurationerna och De Azure-resurser som du använde i den här artikeln för att undvika avgifter.

Ta bort Azure-resurser

Det går inte att ångra borttagningen av Azure-resurser och resursgrupper. Var noga så att du inte tar bort fel resursgrupp eller resurser av misstag. Om du har skapat IoT-hubben i en befintlig resursgrupp som har resurser som du vill behålla tar du bara bort själva IoT-hubbresursen, inte resursgruppen.

Ta bort resurser:

  1. Logga in på Azure-portalen och välj Resursgrupper.

  2. Välj namnet på resursgruppen som innehåller dina IoT Edge-testresurser.

  3. Granska listan över resurser som finns i resursgruppen. Om du vill ta bort alla kan du välja Ta bort resursgrupp. Om du bara vill ta bort några av dem kan du klicka i varje resurs och ta bort dem individuellt.

Nästa steg

I den här självstudien konfigurerar du Visual Studio 2019 på utvecklingsdatorn och distribuerar din första IoT Edge modul från den. Nu när du känner till de grundläggande begreppen kan du prova att lägga till funktioner i en modul så att den kan analysera data som passerar genom den. Välj önskat språk:

CC#