Dela via


Snabbstart: Distribuera din första IoT Edge-modul till en Windows-enhet

Gäller för: Ja-ikon 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.

Prova Azure IoT Edge i den här snabbstarten genom att distribuera containerbaserad kod till en Linux-enhet på Windows IoT Edge-enhet. Med IoT Edge kan du fjärrhantera kod på dina enheter så att du kan skicka fler av dina arbetsbelastningar till gränsen. I den här snabbstarten rekommenderar vi att du använder en egen Windows-klientenhet för att se hur enkelt det är att använda Azure IoT Edge för Linux i Windows. Om du vill använda Windows Server eller en virtuell Azure-dator för att skapa distributionen följer du stegen i instruktionsguiden för att installera och etablera Azure IoT Edge för Linux på en Windows-enhet.

I den här snabbstarten lär du dig att:

  • Skapa en IoT-hubb.
  • Registrera en IoT Edge-enhet till din IoT Hub.
  • Installera och starta IoT Edge för Linux på Windows-körning på enheten.
  • Fjärrdistribuera en modul till en IoT Edge-enhet och skicka telemetri.

Diagram som visar arkitekturen för den här snabbstarten för din enhet och ditt moln.

Den här snabbstarten beskriver hur du konfigurerar Azure IoT Edge för Linux på Windows-enheten. Sedan distribuerar du en modul från Azure-portalen till din enhet. Modulen som du använder är en simulerad sensor som genererar temperatur, luftfuktighet och tryckdata. Andra Azure IoT Edge-självstudier bygger på det arbete du utför här genom att distribuera 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.

Skapa en molnresursgrupp för att hantera alla resurser som du använder i den här snabbstarten.

az group create --name IoTEdgeResources --location westus2

Kontrollera att din IoT Edge-enhet uppfyller följande krav:

  • Systemkrav

    • Windows 101/11 (Pro, Enterprise, IoT Enterprise) 1 Windows 10 minimum build 17763 med alla aktuella kumulativa uppdateringar installerade.
  • Maskinvarukrav

    • Minsta lediga minne: 1 GB
    • Minsta lediga diskutrymme: 10 GB

Kommentar

Den här snabbstarten använder PowerShell för att skapa en distribution av IoT Edge för Linux i Windows. Du kan också använda Administrationscenter för Windows. Om du vill använda Windows Admin Center för att skapa distributionen följer du stegen i instruktionsguiden för att installera och etablera Azure IoT Edge för Linux på en Windows-enhet.

Skapa en IoT-hubb

Börja med att skapa en IoT-hubb med Azure CLI.

Diagram som visar steget för att skapa en I o T-hubb.

Den kostnadsfria nivån för Azure 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-hubb.

az iot hub create --resource-group IoTEdgeResources --name {hub_name} --sku F1 --partition-count 2

Om du får ett fel eftersom du redan har en kostnadsfri hubb i din prenumeration ändrar du SKU:n till S1. Om du får ett felmeddelande om att IoT Hub-namnet inte är tillgängligt har någon annan redan en hubb med det namnet. Prova med ett nytt namn.

Registrera en IoT Edge-enhet

Registrera en IoT Edge-enhet med IoT-hubben som du nyss skapade.

Diagram som visar steget för att registrera en enhet med en IoT Hub-identitet.

Skapa en enhetsidentitet för den simulerade enheten 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.

IoT Edge-enheter fungerar och kan hanteras på ett annat sätt än vanliga IoT-enheter. --edge-enabled Använd flaggan för att deklarera att den här identiteten är för en IoT Edge-enhet.

  1. 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 iothubowner principnycklar kontrollerar du att Cloud Shell kör den senaste versionen av Azure IoT-tillägget.

  2. Visa niska veze för din enhet, som länkar din fysiska enhet till dess identitet i IoT Hub. Den innehåller namnet på din IoT-hubb, namnet på enheten och en delad nyckel som autentiserar anslutningar mellan de två.

    az iot hub device-identity connection-string show --device-id myEdgeDevice --hub-name {hub_name}
    
  3. Kopiera värdet för connectionString-nyckeln från JSON-utdata och spara det. Det här värdet är enhetens anslutningssträng. Du använder den för att konfigurera IoT Edge-körningen i nästa avsnitt.

    Skärmbild som visar connectionString-utdata i Cloud Shell.

Installera och starta IoT Edge-körningen

Installera IoT Edge för Linux på Windows på din enhet och konfigurera det med enheten niska veze.

Diagram som visar steget för att starta IoT Edge-körningen.

Kör följande PowerShell-kommandon på målenheten där du vill distribuera Azure IoT Edge för Linux i Windows. Om du vill distribuera till en fjärrmålenhet med Hjälp av PowerShell använder du Fjärr-PowerShell för att upprätta en anslutning till en fjärrenhet och fjärrkör dessa kommandon på den enheten.

  1. I en upphöjd PowerShell-session kör du följande kommando för att aktivera Hyper-V. Mer information finns i Hyper-V i Windows 10.

    Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
    
  2. I en upphöjd PowerShell-session kör du vart och ett av följande kommandon för att ladda ned IoT Edge för Linux i Windows.

    $msiPath = $([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi'))
    $ProgressPreference = 'SilentlyContinue'
    ​Invoke-WebRequest "https://aka.ms/AzEflowMSI" -OutFile $msiPath
    
  3. Installera IoT Edge för Linux på Windows på din enhet.

    Start-Process -Wait msiexec -ArgumentList "/i","$([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi'))","/qn"
    
  4. Ange körningsprincipen på målenheten till AllSigned om den inte redan är det. Du kan kontrollera den aktuella körningsprincipen i en upphöjd PowerShell-prompt med hjälp av:

    Get-ExecutionPolicy -List
    

    Om körningsprincipen för inte AllSignedär kan du ange körningsprincipen med hjälp avlocal machine:

    Set-ExecutionPolicy -ExecutionPolicy AllSigned -Force
    
  5. Skapa IoT Edge för Linux i Windows-distributionen.

    Deploy-Eflow
    
  6. Ange "Y" för att godkänna licensvillkoren.

  7. Ange "O" eller "R" för att växla Valfria diagnostikdata på eller av, beroende på vad du föredrar. En lyckad distribution visas nedan.

    En lyckad distribution säger

  8. Etablera enheten med hjälp av enheten niska veze som du hämtade i föregående avsnitt. Ersätt platshållartexten med ditt eget värde.

    Provision-EflowVm -provisioningType ManualConnectionString -devConnString "<CONNECTION_STRING_HERE>"​
    

IoT Edge-enheten har nu konfigurerats. 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 skickar telemetridata till IoT Hub.

Diagram som visar steget för att distribuera en modul.

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 distribuera din första modul från Azure Marketplace.

  1. Logga in på Azure-portalen och gå till din IoT-hubb.

  2. På menyn till vänster väljer du Enheter under menyn Enhetshantering .

  3. Välj målenhetens enhets-ID i listan över enheter.

    När du skapar en ny IoT Edge-enhet visas statuskoden 417 -- The device's deployment configuration is not set i Azure-portalen. Den här statusen är normal och innebär att enheten är redo att ta emot en moduldistribution.

  4. I det övre fältet väljer du Ange moduler.

    Skärmbild som visar hur du väljer Ange moduler.

  5. Under IoT Edge-moduler öppnar du den nedrullningsbara menyn Lägg till och väljer sedan Marketplace-modul.

    Skärmbild som visar den nedrullningsbara menyn Lägg till.

  6. 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 .

  7. Välj Nästa: Vägar för att fortsätta till nästa steg i guiden.

    Skärmbild som visar hur du fortsätter till nästa steg när modulen har lagts till.

  8. På fliken Vägar tar du bort standardvägen, vägen och väljer sedan Nästa: Granska + skapa för att fortsätta till nästa steg i guiden.

    Kommentar

    Vägar skapas med hjälp av namn- och värdepar. Du bör se två vägar på den här sidan. Standardvägen, vägen, skickar alla meddelanden till IoT Hub (som kallas $upstream). En andra väg, 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. Du kan ta bort standardvägen eftersom den är redundant i det här fallet.

    Skärmbild som visar hur du tar bort standardvägen och sedan går vidare till nästa steg.

  9. 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.

    Kommentar

    När du skickar en ny distribution till en IoT Edge-enhet distribueras ingenting till enheten. 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.

  10. 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.

    Skärmbild som visar simulerad temperatursensor i listan över distribuerade moduler.

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 för att köras på enheten utan att behöva göra ändringar i själva enheten.

Modulen som du pushade genererar 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. Meddelandena som skickas är omgivningstemperatur och luftfuktighet, maskintemperatur och tryck samt en tidsstämpel. I självstudierna i IoT Edge används data som skapats av den här modulen som testdata för analys.

  1. Logga in på din IoT Edge för Linux på en virtuell Windows-dator med följande kommando i PowerShell-sessionen:

    Connect-EflowVm
    

    Kommentar

    Det enda konto som tillåts för SSH till den virtuella datorn är användaren som skapade det.

  2. När du är inloggad kan du kontrollera listan över IoT Edge-moduler som körs med hjälp av följande Linux-kommando:

    sudo iotedge list
    

    Kontrollera att temperatursensorn, agenten och hubben körs.

  3. Visa meddelandena som skickas från temperatursensormodulen till molnet med hjälp av följande Linux-kommando:

    sudo iotedge logs SimulatedTemperatureSensor -f
    

    Viktigt!

    IoT Edge-kommandon är skiftlägeskänsliga när de refererar till modulnamn.

    Visa utdataloggarna för modulen Simulerad temperatursensor.

Du kan också använda Azure IoT Hub-tillägget för Visual Studio Code för att se när meddelanden kommer till din IoT-hubb.

Rensa resurser

Om du vill fortsätta med IoT Edge-självstudierna hoppar du över det här steget. Du kan använda den enhet som 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. Om du inte vill ta bort hela gruppen kan du ta bort enskilda resurser i stället.

Viktigt!

Kontrollera innehållet i resursgruppen för att se till att det inte finns något du vill behålla. Att ta bort en resursgrupp kan inte ångras.

Använd följande kommando för att ta bort gruppen IoTEdgeResources . Borttagningen kan ta några minuter.

az group delete --name IoTEdgeResources

Du kan bekräfta att resursgruppen har tagits bort med hjälp av det här kommandot för att visa listan över resursgrupper.

az group list

Avinstallera IoT Edge för Linux i Windows

Om du vill ta bort Azure IoT Edge för Linux på Windows-installationen från enheten använder du följande kommandon.

  1. Öppna inställningar i Windows
  2. Välj Lägg till eller ta bort program
  3. Välj Azure IoT Edge LTS-app
  4. Välj Avinstallera

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älsotillstånd från Azure-portalen.