Skapa och etablera en IoT Edge Linux på en Windows enhet med hjälp av symmetriska nycklar

Gäller för:  Ja-ikonen IoT Edge 1,1

Den här artikeln innehåller instruktioner för att registrera och etablera en IoT Edge Linux på Windows enhet.

Varje enhet som ansluter till en IoT-hubb har ett enhets-ID som används för att spåra kommunikation från moln till enhet eller 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-hubb. För manuell etablering har du två alternativ för att autentisera IoT Edge enheter:

  • Symmetriska nycklar: När du skapar en ny enhetsidentitet i IoT Hub skapar tjänsten två nycklar. Du placerar en av nycklarna på enheten och den visar nyckeln som ska 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 för Linux på Windows-enhet 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 device provisioning-tjänsten:

Förutsättningar

Den här artikeln beskriver hur du registrerar IoT Edge-enhet och installerar IoT Edge för Linux på Windows. Dessa uppgifter har olika krav och verktyg som används för att utföra dem. Kontrollera 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.

Krav på enheten

En Windows enhet med följande minimikrav:

  • Systemkrav

    • Windows 101/11(Pro, Enterprise, IoT Enterprise)
    • Windows Server 20191/2022
      Minst 1 Windows 10 och Windows Server 2019 minst version 17763 med alla aktuella kumulativa uppdateringar installerade.
  • Maskinvarukrav

    • Minsta lediga minne: 1 GB
    • Minsta lediga diskutrymme: 10 GB
  • Stöd för virtualisering

  • Nätverksstöd

    • Windows Server har ingen standardväxel. Innan du kan distribuera EFLOW till en Windows Server-enhet måste du skapa en virtuell växel. Mer information finns i Skapa virtuell växel för Linux på Windows.
    • Windows Desktop-versioner har en standardväxel som kan användas för EFLOW-installation. Om det behövs kan du skapa en egen anpassad virtuell växel.

Tips

Om du vill använda GPU-accelererade Linux-moduler i din Azure IoT Edge för Linux Windows distribution finns det flera konfigurationsalternativ att överväga.

Du måste installera rätt drivrutiner beroende på GPU-arkitekturen och du kan behöva åtkomst till en Windows Insider Program version. Information om hur du fastställer dina konfigurationsbehov och uppfyller dessa krav finns i GPU-acceleration för Azure IoT Edge för Linux på Windows.

Se till att du tar dig tid att uppfylla kraven för GPU-acceleration nu. Du måste starta om installationsprocessen om du vill ha GPU-acceleration under installationen.

Utvecklarverktyg

Du kan använda PowerShell eller Windows Administrationscenter för att hantera IoT Edge enheter. Varje verktyg har sina egna förutsättningar:

Om du vill använda PowerShell kan du använda följande steg för att förbereda målenheten för installation av Azure IoT Edge för Linux på Windows och distributionen av den virtuella Linux-datorn:

  1. Ange körningsprincipen på målenheten till AllSigned . Du kan kontrollera den aktuella körningsprincipen i en upphöjd PowerShell-kommandotolk med följande kommando:

    Get-ExecutionPolicy -List
    

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

    Set-ExecutionPolicy -ExecutionPolicy AllSigned -Force
    

Mer information om modulen Azure IoT Edge Linux on Windows PowerShell finns i Referens för PowerShell-funktioner.

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.

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

  2. I den vänstra rutan väljer du IoT Edge på menyn och väljer sedan Lägg till en IoT Edge enhet.

    Lägga till IoT Edge en enhet från Azure Portal

  3. 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.
  4. 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.

Använd Azure Portal för att visa alla IoT Edge i din IoT-hubb

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.

  1. IoT Edge i portalen klickar du på enhets-ID:t i listan över IoT Edge enheter.
  2. Kopiera värdet för antingen primär anslutningssträng eller sekundär anslutningssträng.

Installera IoT Edge

Distribuera Azure IoT Edge för Linux på Windows på målenheten.

Installera IoT Edge linux på Windows på målenheten.

Anteckning

Följande PowerShell-process beskriver hur du distribuerar IoT Edge för Linux på Windows till den lokala enheten. Om du vill distribuera till en fjärransluten målenhet med PowerShell kan du använda Fjärr-PowerShell för att upprätta en anslutning till en fjärransluten enhet och köra dessa kommandon via fjärranslutning på enheten.

  1. I en upphöjd PowerShell-session kör du vart och ett av följande kommandon för att ladda IoT Edge för Linux på Windows.

    $msiPath = $([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi'))
    $ProgressPreference = 'SilentlyContinue'
    Invoke-WebRequest "https://aka.ms/AzEflowMSI" -OutFile $msiPath
    
  2. Installera IoT Edge linux på Windows på enheten.

    Start-Process -Wait msiexec -ArgumentList "/i","$([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi'))","/qn"
    

    Du kan ange anpassade IoT Edge linux på Windows-installation och VHDX-kataloger genom att lägga till parametrarna och INSTALLDIR="<FULLY_QUALIFIED_PATH>" VHDXDIR="<FULLY_QUALIFIED_PATH>" i installationskommandot.

  3. Ange körningsprincipen på målenheten till AllSigned om den inte redan är det. Se PowerShell-krav för kommandon för att kontrollera den aktuella körningsprincipen och ange körningsprincipen till AllSigned .

  4. Skapa IoT Edge Linux på Windows distribution. Distributionen skapar din virtuella Linux-dator och installerar IoT Edge körtid åt dig.

    Deploy-Eflow
    

    Tips

    Som standard skapar kommandot din Deploy-Eflow virtuella Linux-dator med 1 GB RAM-minne, 1 virtuell processorkärna och 16 GB diskutrymme. De resurser som din virtuella dator behöver är dock starkt beroende av de arbetsbelastningar som du distribuerar. Om den virtuella datorn inte har tillräckligt med minne för att stödja dina arbetsbelastningar går det inte att starta.

    Du kan anpassa den virtuella datorns tillgängliga resurser med hjälp Deploy-Eflow av kommandots valfria parametrar.

    Kommandot nedan skapar till exempel en virtuell dator med 4 vCPU-kärnor, 4 GB RAM-minne (representeras i MB) och 20 GB diskutrymme:

    Deploy-Eflow -cpuCount 4 -memoryInMB 4096 -vmDiskSize 20
    

    Information om alla valfria parametrar som är tillgängliga finns i PowerShell-funktioner för IoT Edge för Linux på Windows.

    Du kan tilldela en GPU till distributionen för att aktivera GPU-accelererade Linux-moduler. För att få åtkomst till dessa funktioner måste du installera förutsättningarna som beskrivs i GPU-acceleration för Azure IoT Edge för Linux på Windows.

    Om du vill använda gpu-genomströmning lägger du till parametrarna gpuName, gpuPassthroughType och gpuCount i Deploy-Eflow kommandot. Information om alla valfria parametrar som är tillgängliga finns i PowerShell-funktioner för IoT Edge för Linux på Windows.

    Varning

    Aktivering av genomströmning för maskinvaruenheter kan öka säkerhetsriskerna. Microsoft rekommenderar en drivrutin för enhetminskning från DIN GPU-leverantör, i förekommande fall. Mer information finns i Distribuera grafikenheter med diskret enhetstilldelning.

  5. Ange "Y" för att godkänna licensvillkoren.

  6. Ange "O" eller "R" för att aktivera eller inaktivera valfria diagnostikdata, beroende på vad du föredrar.

  7. När distributionen är klar rapporterar PowerShell-fönstret Distributionen lyckades.

    En lyckad distribution säger "Distributionen lyckades" i slutet av meddelandena, PNG.

    När distributionen är klar är du redo att etablera enheten.

Etablera enheten med dess molnidentitet

Du är redo att konfigurera din enhet med dess molnidentitet och autentiseringsinformation.

Om du vill etablera enheten med symmetriska nycklar behöver du enhetens anslutningssträng.

Du kan använda administrationscentret Windows eller en upphöjd PowerShell-session för att etablera dina enheter.

Kör följande kommando i en upphöjd PowerShell-session på målenheten. Ersätt platshållartexten med dina egna värden.

Provision-EflowVm -provisioningType ManualConnectionString -devConnString "PASTE_DEVICE_CONNECTION_STRING_HERE"

Mer information om kommandot Provision-EflowVM finns i PowerShell functions for IoT Edge for Linux on Windows.

Kontrollera att konfigurationen lyckades

Kontrollera att IoT Edge för Linux på Windows har installerats och konfigurerats på din IoT Edge enhet.

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

    Connect-EflowVm
    

    Anteckning

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

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

    sudo iotedge list
    
  3. Om du behöver felsöka IoT Edge tjänsten använder du följande Linux-kommandon.

    1. Hämta tjänstloggarna.

      sudo journalctl -u iotedge
      
    2. Använd verktyget check för att verifiera enhetens konfiguration och anslutningsstatus.

      sudo iotedge check
      

När du skapar IoT Edge en ny 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.

Nästa steg