Förbereda utvecklings- och testmiljön för IoT Edge

Gäller för:IoT Edge 1.4 checkmark IoT Edge 1.4

Viktigt!

IoT Edge 1.4 är den version som stöds. Om du har en tidigare version läser du Uppdatera IoT Edge.

IoT Edge flyttar din befintliga affärslogik till enheter som arbetar vid gränsen. För att förbereda dina program och arbetsbelastningar för att köras som IoT Edge-moduler måste du skapa dem som containrar. Den här artikeln innehåller vägledning om hur du konfigurerar utvecklingsmiljön så att du kan skapa en IoT Edge-lösning. När du har konfigurerat utvecklingsmiljön kan du lära dig hur du utvecklar dina egna IoT Edge-moduler.

I alla IoT Edge-lösningar finns det minst två datorer att tänka på: IoT Edge-enheten (eller enheterna) som kör IoT Edge-modulen och utvecklingsdatorn som skapar, testar och distribuerar moduler. Den här artikeln fokuserar främst på utvecklingsdatorn. I testsyfte kan de två datorerna vara desamma. Du kan köra IoT Edge på utvecklingsdatorn och distribuera moduler till den.

Operativsystem

IoT Edge körs på en specifik uppsättning operativsystem som stöds. När du utvecklar för IoT Edge kan du använda de flesta operativsystem som kan köra en containermotor. Containermotorn är ett krav på utvecklingsdatorn att skapa dina moduler som containrar och skicka dem till ett containerregister.

Om utvecklingsdatorn inte kan köra IoT Edge går du vidare till avsnittet Testverktyg i den här artikeln för att lära dig hur du testar och felsöker lokalt.

Operativsystemen för utvecklingsdatorn och IoT Edge-enheterna behöver inte matcha. Containeroperativsystemet måste dock vara konsekvent med utvecklingsdatorn och IoT Edge-enheten. Du kan till exempel utveckla moduler på en Windows-dator och distribuera dem till en Linux-enhet. Windows-datorn måste köra Linux-containrar för att skapa modulerna för Linux-enheten.

Containermotor

Det centrala begreppet IoT Edge är att du kan fjärrdistribuera din affärs- och molnlogik till enheter genom att paketera den i containrar. För att skapa containrar behöver du en containermotor på utvecklingsdatorn.

Den enda containermotor som stöds för IoT Edge-enheter i produktion är Moby. Alla containermotorer som är kompatibla med Open Container Initiative, till exempel Docker, kan dock skapa IoT Edge-modulavbildningar.

Utvecklingsverktyg

Azure IoT Edge-utvecklingsverktyg är ett kommandoradsverktyg för att utveckla och testa IoT Edge-moduler. Du kan skapa nya IoT Edge-scenarier, skapa modulbilder, köra moduler i en simulator och övervaka meddelanden som skickas till IoT Hub. Verktyget iotedgedev är det rekommenderade verktyget för att utveckla IoT Edge-moduler.

Både Visual Studio och Visual Studio Code har tillägg för att utveckla IoT Edge-lösningar. Dessa tillägg tillhandahåller språkspecifika mallar som hjälper dig att skapa och distribuera nya IoT Edge-scenarier. Azure IoT Edge-tilläggen för Visual Studio och Visual Studio Code hjälper dig att koda, skapa, distribuera och felsöka dina IoT Edge-lösningar. Du kan skapa en hel IoT Edge-lösning som innehåller flera moduler och tilläggen uppdaterar automatiskt en mall för distributionsmanifestet med varje ny modultillägg. Tilläggen möjliggör även hantering av IoT-enheter från Visual Studio eller Visual Studio Code. Du kan distribuera moduler till en enhet, övervaka statusen och visa meddelanden när de kommer till IoT Hub. Slutligen använder båda tilläggen utvecklingsverktyget IoT EdgeHub för att aktivera lokal körning och felsökning av moduler på utvecklingsdatorn.

Utvecklingsverktyg för IoT Edge

Azure IoT Edge-utvecklingsverktyget förenklar IoT Edge-utvecklingen med kommandoradsfunktioner. Det här verktyget innehåller CLI-kommandon för att utveckla, felsöka och testa moduler. IoT Edge dev-verktyget fungerar med ditt utvecklingssystem, oavsett om du har installerat beroendena på datorn manuellt eller använder den fördefinierade IoT Edge Dev Container för att köra verktyget iotedgedev i en container.

Mer information och för att komma igång finns i Wiki för IoT Edge-utvecklingsverktyg.

Visual Studio Code-tillägg

Azure IoT Edge-tillägget för Visual Studio Code innehåller IoT Edge-modulmallar som bygger på programmeringsspråk som C, C#, Java, Node.js och Python. Mallar för Azure-funktioner i C# ingår också.

Viktigt!

Azure IoT Edge Visual Studio Code-tillägget är i underhållsläge. Verktyget iotedgedev är det rekommenderade verktyget för att utveckla IoT Edge-moduler.

Mer information och nedladdning finns i Azure IoT Edge för Visual Studio Code.

Förutom IoT Edge-tilläggen kan det vara bra att installera ytterligare tillägg för utveckling. Du kan till exempel använda Docker-stöd för Visual Studio Code för att hantera dina avbildningar, containrar och register. Dessutom har alla större språk som stöds tillägg för Visual Studio Code som kan hjälpa dig när du utvecklar moduler.

Azure IoT Hub-tillägget är användbart som en följeslagare för Azure IoT Edge-tillägget.

Visual Studio 2017/2019-tillägget

Azure IoT Edge-verktygen för Visual Studio tillhandahåller en IoT Edge-modulmall som bygger på C# och C.

Viktigt!

Azure IoT Edge Visual Studio-tilläggen är i underhållsläge. Verktyget iotedgedev är det rekommenderade verktyget för att utveckla IoT Edge-moduler.

Mer information och nedladdning finns i Azure IoT Edge Tools for Visual Studio 2017 eller Azure IoT Edge Tools för Visual Studio 2019.

Testverktyg

Det finns flera testverktyg som hjälper dig att simulera IoT Edge-enheter eller felsöka moduler mer effektivt. Tabellen nedan visar en jämförelse på hög nivå mellan verktygen och följande enskilda avsnitt beskriver varje verktyg mer specifikt.

Endast IoT Edge-körningen stöds för produktionsdistributioner, men med följande verktyg kan du simulera eller enkelt skapa IoT Edge-enheter i utvecklings- och testsyfte. Dessa verktyg är inte ömsesidigt uteslutande, men kan fungera tillsammans för en fullständig utvecklingsupplevelse.

Verktyg Kallas även för Plattformar som stöds Bäst för
Utvecklingsverktyg för IoT EdgeHub iotedgehubdev Windows, Linux, macOS Simulera en enhet för att felsöka moduler.
IoT Edge dev-container iotedgedev Windows, Linux, macOS Utveckla utan att installera beroenden.

Utvecklingsverktyg för IoT EdgeHub

Azure IoT EdgeHub dev-verktyget ger en lokal utvecklings- och felsökningsupplevelse. Verktyget hjälper dig att starta IoT Edge-moduler utan IoT Edge-körningen så att du kan skapa, utveckla, testa, köra och felsöka IoT Edge-moduler och lösningar lokalt. Du behöver inte skicka avbildningar till ett containerregister och distribuera dem till en enhet för testning.

IoT EdgeHub dev-verktyget har utformats för att fungera tillsammans med tilläggen Visual Studio och Visual Studio Code samt med utvecklingsverktyget IoT Edge. Dev-verktyget stöder utveckling av inre loopar samt testning av yttre loopar, så det integreras även med andra DevOps-verktyg.

Viktigt!

IoT EdgeHub dev-verktyget är i underhållsläge. Överväg att använda en virtuell Linux-dator med IoT Edge-körning installerad, fysisk enhet eller EFLOW.

Mer information och om du vill installera finns i Azure IoT EdgeHub dev tool.

IoT Edge dev-container

Azure IoT Edge dev-containern är en Docker-container som har alla beroenden som du behöver för IoT Edge-utveckling. Den här containern gör det enkelt att komma igång med vilket språk du vill utveckla i, inklusive C#, Python, Node.js och Java. Allt du behöver installera är en containermotor, till exempel Docker eller Moby, för att hämta containern till utvecklingsdatorn.

Mer information finns i Azure IoT Edge dev container.

DevOps-verktyg

När du är redo att utveckla storskaliga lösningar för omfattande produktionsscenarier kan du dra nytta av moderna DevOps-principer, inklusive automatisering, övervakning och strömlinjeformade programvaruteknikprocesser. IoT Edge har tillägg som stöder DevOps-verktyg som Azure DevOps, Azure DevOps Projects och Jenkins. Om du vill anpassa en befintlig pipeline eller använda ett annat DevOps-verktyg som CircleCI eller TravisCI kan du göra det med CLI-funktionerna som ingår i IoT Edge dev-verktyget.

Mer information, vägledning och exempel finns på följande sidor: