Quickstart: Uw eerste IoT Edge-module implementeren op een Windows-apparaat

Van toepassing op:ja-pictogram IoT Edge 1.1 Andere versies: IoT Edge 1.2, IoT Edge 1.3

Van toepassing op:IoT Edge 1.2 vinkje IoT Edge 1.2 IoT Edge 1.3 vinkje IoT Edge 1.3 Andere versies:IoT Edge 1.1

Probeer Azure IoT Edge uit in deze quickstart door containercode te implementeren in een Linux op Windows IoT Edge-apparaat. Met IoT Edge kunt u code op uw apparaten op afstand beheren zodat u meer van uw workloads naar de rand kunt verzenden. Voor deze quickstart raden we u aan uw eigen Windows Client-apparaat te gebruiken om te zien hoe eenvoudig het is om Azure IoT Edge te gebruiken voor Linux in Windows. Als u Windows Server of een Azure-VM wilt gebruiken om uw implementatie te maken, volgt u de stappen in de instructies voor het installeren en inrichten van Azure IoT Edge voor Linux op een Windows-apparaat.

In deze snelstart leert u het volgende:

  • Maak een IoT-hub.
  • Een IoT Edge-apparaat registreren in uw IoT-hub.
  • Installeer en start de IoT Edge voor Linux in Windows Runtime op uw apparaat.
  • Implementeer een module op afstand op een IoT Edge apparaat en verzend telemetrie.

Diagram met de architectuur van deze quickstart voor uw apparaat en cloud.

In deze quickstart wordt uitgelegd hoe u uw Azure-IoT Edge voor Linux instelt op een Windows-apparaat. Vervolgens implementeert u een module van de Azure Portal op uw apparaat. De module die u gaat gebruiken, is een gesimuleerde sensor waarmee temperatuur-, vochtigheids- en drukgegevens worden gegenereerd. Andere Zelfstudies voor Azure IoT Edge bouwen voort op het werk dat u hier doet door modules te implementeren waarmee de gesimuleerde gegevens voor zakelijke inzichten worden geanalyseerd.

Als u nog geen actief abonnement op Azure hebt, maakt u een gratis Azure-account aan voordat u begint.

Vereisten

Bereid uw omgeving voor op Azure CLI.

Maak een cloudresourcegroep om alle resources te beheren die u in deze quickstart gaat gebruiken.

az group create --name IoTEdgeResources --location westus2

Zorg ervoor dat uw IoT Edge apparaat voldoet aan de volgende vereisten:

  • Systeemvereisten

    • Windows 10 1/11 (Pro, Enterprise, IoT Enterprise) 1 Windows 10 minimale build 17763 waarop alle huidige cumulatieve updates zijn geïnstalleerd.
  • Hardwarevereisten

    • Minimaal gratis geheugen: 1 GB
    • Minimale vrije schijfruimte: 10 GB

Notitie

In deze quickstart wordt PowerShell gebruikt om een implementatie van IoT Edge voor Linux in Windows te maken. U kunt ook Windows Admin Center gebruiken. Als u Windows Admin Center wilt gebruiken om uw implementatie te maken, volgt u de stappen in de handleiding voor het installeren en inrichten van Azure IoT Edge voor Linux op een Windows-apparaat.

Een IoT-hub maken

Begin met het maken van een IoT-hub met de Azure CLI.

Diagram met de stap voor het maken van een I o T-hub.

Het gratis niveau van Azure IoT Hub werkt voor deze quickstart. Als u in het verleden IoT Hub hebt gebruikt en al een hub hebt gemaakt, kunt u die IoT-hub gebruiken.

Met de volgende code wordt een gratis F1-hub gemaakt in de resourcegroep IoTEdgeResources. Vervang {hub_name} door een unieke naam voor uw IoT-hub. Het kan enkele minuten duren voordat een IoT-hub is gemaakt.

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

Als u een foutmelding krijgt omdat u al één gratis hub in uw abonnement hebt, wijzigt u de SKU in S1. Als u een foutmelding krijgt dat de naam van de IoT-hub niet beschikbaar is, heeft iemand anders al een hub met die naam. Probeer een andere naam.

Een IoT Edge-apparaat registreren

Registreer een IoT Edge-apparaat bij uw net gemaakte IoT Hub.

Diagram met de stap voor het registreren van een apparaat met een IoT Hub-identiteit.

Maak een apparaat-id voor uw gesimuleerde apparaat, zodat het met uw IoT-hub kan communiceren. De apparaat-id is opgeslagen in de cloud, en u gebruikt een unieke apparaatverbindingsreeks om een fysiek apparaat te koppelen aan een apparaat-id.

IoT Edge apparaten zich gedragen en anders kunnen worden beheerd dan gewone IoT-apparaten. Gebruik de --edge-enabled vlag om aan te geven dat deze identiteit voor een IoT Edge apparaat is.

  1. Voer in Azure Cloud Shell de volgende opdracht in om een apparaat met de naam myEdgeDevice te maken in uw hub.

    az iot hub device-identity create --device-id myEdgeDevice --edge-enabled --hub-name {hub_name}
    

    Als er een fout optreedt over iothubowner beleidssleutels, controleert u of Cloud Shell de nieuwste versie van de Azure IoT-extensie uitvoert.

  2. Bekijk de verbindingsreeks voor uw apparaat. Hiermee wordt uw fysieke apparaat aan de bijbehorende identiteit in IoT Hub gekoppeld. Het bevat de naam van uw IoT-hub, de naam van uw apparaat en een gedeelde sleutel waarmee verbindingen tussen de twee worden geverifieerd.

    az iot hub device-identity connection-string show --device-id myEdgeDevice --hub-name {hub_name}
    
  3. Kopieer de waarde van de sleutel connectionString uit de JSON-uitvoer en sla deze op. Deze waarde is de verbindingsreeks van het apparaat. U gebruikt deze om de IoT Edge runtime in de volgende sectie te configureren.

    Schermopname van de connectionString-uitvoer in Cloud Shell.

De IoT Edge-runtime installeren en starten

Installeer IoT Edge voor Linux op Windows op uw apparaat en configureer deze met het apparaat connection string.

Diagram met de stap om de IoT Edge runtime te starten.

Voer de volgende PowerShell-opdrachten uit op het doelapparaat waarop u Azure IoT Edge voor Linux in Windows wilt implementeren. Als u wilt implementeren op een extern doelapparaat met behulp van PowerShell, gebruikt u Remote PowerShell om een verbinding tot stand te brengen met een extern apparaat en voert u deze opdrachten op afstand uit op dat apparaat.

  1. Voer in een PowerShell-sessie met verhoogde bevoegdheid de volgende opdracht uit om Hyper-V in te schakelen. Raadpleeg Hyper-V op Windows 10 voor meer informatie.

    Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
    
  2. Voer in een PowerShell-sessie met verhoogde bevoegdheid elk van de volgende opdrachten uit om IoT Edge voor Linux in Windows te downloaden.

    $msiPath = $([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi'))
    $ProgressPreference = 'SilentlyContinue'
    ​Invoke-WebRequest "https://aka.ms/AzEflowMSI" -OutFile $msiPath
    
    • X64/AMD64

      $msiPath = $([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi'))
      $ProgressPreference = 'SilentlyContinue'
      Invoke-WebRequest "https://aka.ms/AzEFLOWMSI-CR-X64" -OutFile $msiPath
      
    • ARM64

      $msiPath = $([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi'))
      $ProgressPreference = 'SilentlyContinue'
      Invoke-WebRequest "https://aka.ms/AzEFLOWMSI-CR-ARM64" -OutFile $msiPath
      
  3. Installeer IoT Edge voor Linux op Windows op uw apparaat.

    Start-Process -Wait msiexec -ArgumentList "/i","$([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi'))","/qn"
    
  4. Stel het uitvoeringsbeleid op het doelapparaat AllSigned in op als dit nog niet is gebeurd. U kunt het huidige uitvoeringsbeleid controleren in een PowerShell-prompt met verhoogde bevoegdheid met behulp van:

    Get-ExecutionPolicy -List
    

    Als het uitvoeringsbeleid niet local machineAllSignedis, kunt u het uitvoeringsbeleid instellen met behulp van:

    Set-ExecutionPolicy -ExecutionPolicy AllSigned -Force
    
  5. Maak de IoT Edge voor Linux in Windows-implementatie.

    Deploy-Eflow
    
  6. Voer 'Y' in om de licentievoorwaarden te accepteren.

  7. Voer 'O' of 'R' in om optionele diagnostische gegevens in of uit te schakelen, afhankelijk van uw voorkeur. Hieronder ziet u een geslaagde implementatie.

    Een geslaagde implementatie zegt 'Implementatie geslaagd' aan het einde van de berichten

  8. Richt uw apparaat in met behulp van het apparaat connection string dat u in de vorige sectie hebt opgehaald. Vervang de tekst van de tijdelijke aanduiding door uw eigen waarde.

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

Uw IoT Edge-apparaat is nu geconfigureerd. Het is gereed voor de uitvoering van modules die in de cloud zijn geïmplementeerd.

Een module implementeren

Beheer uw Azure IoT Edge-apparaat vanuit de cloud om een module te implementeren waarmee telemetriegegevens worden verzonden naar IoT Hub.

Diagram met de stap voor het implementeren van een module.

Een van de belangrijkste mogelijkheden van Azure IoT Edge is het implementeren van code op uw IoT Edge apparaten vanuit de cloud. IoT Edge-modules zijn uitvoerbare pakketten die zijn geïmplementeerd als containers. In deze sectie implementeert u een vooraf gebouwde module vanuit de sectie IoT Edge Modules van Azure Marketplace rechtstreeks vanuit Azure IoT Hub.

De module die u in deze sectie implementeert, simuleert een sensor en verzendt gegenereerde gegevens. Deze module is een handig stukje code wanneer u aan de slag gaat met IoT Edge, omdat u de gesimuleerde gegevens kunt gebruiken voor ontwikkel- en testdoeleinden. Als u precies wilt zien wat deze module doet, kunt u de broncode van de gesimuleerde temperatuursensor bekijken.

Volg deze stappen om uw eerste module te implementeren vanuit Azure Marketplace.

  1. Meld u aan bij de Azure Portal en ga naar uw IoT-hub.

  2. Selecteer IoT Edge in het menu aan de linkerkant onder Apparaatbeheer.

  3. Selecteer de apparaat-id van het doelapparaat in de lijst met apparaten.

    Wanneer u een nieuw IoT Edge apparaat maakt, wordt de statuscode 417 -- The device's deployment configuration is not set in de Azure Portal weergegeven. Deze status is normaal en betekent dat het apparaat klaar is om een module-implementatie te ontvangen.

  4. Selecteer op de bovenste balk Modules instellen.

    Schermopname van het selecteren van Set Modules.

  5. Open onder IoT Edge Modules het vervolgkeuzemenu Toevoegen en selecteer vervolgens Marketplace-module.

    Schermopname van het vervolgkeuzemenu Toevoegen.

  6. Zoek en selecteer in IoT Edge Module Marketplace de Simulated Temperature Sensor module.

    De module wordt toegevoegd aan de sectie IoT Edge Modules met de gewenste actieve status.

  7. Selecteer Volgende: Routes om door te gaan naar de volgende stap in de wizard.

    Schermopname van doorgaan naar de volgende stap nadat de module is toegevoegd.

  8. Verwijder op het tabblad Routes de standaardroute, route en selecteer vervolgens Volgende: Controleren en maken om door te gaan naar de volgende stap van de wizard.

    Notitie

    Routes worden samengesteld met behulp van naam- en waardeparen. Op deze pagina ziet u twee routes. De standaardroute, route, verzendt alle berichten naar IoT Hub (die wordt aangeroepen$upstream). Er is automatisch een tweede route, SimulatedTemperatureSensorToIoTHub, gemaakt toen u de module uit Azure Marketplace hebt toegevoegd. Met deze route worden alle berichten van de gesimuleerde temperatuurmodule verzonden naar IoT Hub. U kunt de standaardroute verwijderen, omdat deze in dit geval overbodig is.

    Schermopname van het verwijderen van de standaardroute en vervolgens naar de volgende stap gaan.

  9. Controleer het JSON-bestand en selecteer Vervolgens Maken. Het JSON-bestand definieert alle modules die u op uw IoT Edge apparaat implementeert. U ziet de module SimulatedTemperatureSensor en de twee runtimemodules EdgeAgent en edgeHub.

    Notitie

    Wanneer u een nieuwe implementatie bij een IoT Edge-apparaat indient, wordt er niets naar uw apparaat gepusht. In plaats daarvan voert het apparaat regelmatig query’s uit naar eventuele nieuwe instructies. Als het apparaat een manifest van een bijgewerkte implementatie vindt, wordt de informatie over de nieuwe implementatie gebruikt om installatiekopieën van de module op te halen uit de cloud en wordt een lokale uitvoering van de modules gestart. Dit proces kan enkele minuten duren.

  10. Nadat u de informatie over de implementatie van de module hebt gemaakt, gaat de wizard terug naar de pagina met apparaatdetails. Bekijk de implementatiestatus op het tabblad Modules .

    U ziet drie modules: $edgeAgent, $edgeHub en SimulatedTemperatureSensor. Als een of meer modules JA hebben onder OPGEGEVEN IN IMPLEMENTATIE, maar niet onder GERAPPORTEERD PER APPARAAT, wordt het IoT Edge apparaat nog steeds gestart. Wacht enkele minuten en vernieuw de pagina.

    Schermopname van de gesimuleerde temperatuursensor in de lijst met geïmplementeerde modules.

De gegenereerde gegevens weergeven

In deze snelstart hebt u een nieuw IoT Edge-apparaat gemaakt en de IoT Edge-runtime erop geïnstalleerd. Vervolgens hebt u de Azure Portal gebruikt om een IoT Edge-module te implementeren om op het apparaat uit te voeren zonder dat u wijzigingen hoeft aan te brengen in het apparaat zelf.

De module die u hebt gepusht, genereert voorbeeldomgevingsgegevens die u later kunt gebruiken om te testen. De gesimuleerde sensor bewaakt zowel een machine als de omgeving rond die machine. Deze sensor kan zich bijvoorbeeld in een serverruimte, in een fabriek of op een windturbine bevinden. De berichten die worden verzonden zijn omgevingstemperatuur en vochtigheid, machinetemperatuur en -druk en een tijdstempel. IoT Edge zelfstudies gebruiken de gegevens die door deze module zijn gemaakt als testgegevens voor analyse.

  1. Meld u aan bij uw IoT Edge voor Linux op de virtuele Windows-machine met behulp van de volgende opdracht in uw PowerShell-sessie:

    Connect-EflowVm
    

    Notitie

    Het enige account dat is toegestaan voor SSH naar de virtuele machine, is de gebruiker die deze heeft gemaakt.

  2. Zodra u bent aangemeld, kunt u de lijst met actieve IoT Edge modules controleren met behulp van de volgende Linux-opdracht:

    sudo iotedge list
    

    Controleer of uw temperatuursensor, agent en hub actief zijn.

  3. Bekijk de berichten die vanuit de temperatuursensormodule naar de cloud worden verzonden met behulp van de volgende Linux-opdracht:

    sudo iotedge logs SimulatedTemperatureSensor -f
    

    Belangrijk

    IoT Edge opdrachten hoofdlettergevoelig zijn wanneer ze verwijzen naar modulenamen.

    Bekijk de uitvoerlogboeken van de module Gesimuleerde temperatuursensor.

U kunt ook de Azure IoT Hub-extensie voor Visual Studio Code gebruiken om berichten te bekijken die binnenkomen bij uw IoT-hub.

Resources opschonen

Als u verder wilt gaan met de IoT Edge zelfstudies, slaat u deze stap over. U kunt het apparaat gebruiken dat u hebt geregistreerd en ingesteld in deze quickstart. Anders kunt u de Azure-resources die u hebt gemaakt verwijderen om kosten te voorkomen.

Als u uw virtuele machine en IoT-hub in een nieuwe resourcegroep hebt gemaakt, kunt u die groep en alle bijbehorende resources verwijderen. Als u niet de hele groep wilt verwijderen, kunt u in plaats daarvan afzonderlijke resources verwijderen.

Belangrijk

Controleer de inhoud van de resourcegroep om ervoor te zorgen dat er niets is dat u wilt behouden. Het verwijderen van een resourcegroep kan niet ongedaan worden gemaakt.

Gebruik de volgende opdracht om de groep IoTEdgeResources te verwijderen. Het verwijderen kan enkele minuten duren.

az group delete --name IoTEdgeResources

U kunt controleren of de resourcegroep wordt verwijderd met behulp van deze opdracht om de lijst met resourcegroepen weer te geven.

az group list

Verwijder IoT Edge voor Linux in Windows

Gebruik de volgende opdrachten als u de Azure IoT Edge voor Linux in Windows-installatie van uw apparaat wilt verwijderen.

  1. Instellingen openen in Windows
  2. Programma's toevoegen of verwijderen selecteren
  3. Azure IoT Edge LTS-app selecteren
  4. Verwijderen selecteren
  1. Instellingen openen in Windows
  2. Programma's toevoegen of verwijderen selecteren
  3. Azure IoT Edge-app selecteren
  4. Verwijderen selecteren

Volgende stappen

In deze snelstart hebt u een IoT Edge-apparaat gemaakt en de Azure IoT Edge-cloudinterface gebruikt om code te implementeren op het apparaat. U hebt nu een testapparaat dat onbewerkte gegevens over de omgeving genereert.

In de volgende zelfstudie leert u hoe u de activiteit en status van uw apparaat kunt bewaken vanuit de Azure Portal.