Quickstart: Uw eerste IoT Edge-module implementeren op een Windows-apparaat
Van toepassing op: IoT Edge 1.5 IoT Edge 1.4
Belangrijk
IoT Edge 1.5 LTS en IoT Edge 1.4 LTS worden ondersteund releases. IoT Edge 1.4 LTS eindigt op 12 november 2024. Raadpleeg IoT Edge bijwerken als u een eerdere versie hebt.
Probeer Azure IoT Edge uit in deze quickstart door containercode te implementeren op een Linux op een 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 voor Linux in Windows te gebruiken. 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 ioT Edge voor Linux in Windows Runtime op uw apparaat.
- Implementeer op afstand een module op een IoT Edge-apparaat en verzend telemetrie.
In deze quickstart wordt uitgelegd hoe u uw Azure IoT Edge voor Linux-apparaat instelt op een Windows-apparaat. Vervolgens implementeert u een module vanuit Azure Portal op uw apparaat. De module die u gaat gebruiken, is een gesimuleerde sensor waarmee temperatuur-, vochtigheids- en drukgegevens worden gegenereerd. Andere Azure IoT Edge-zelfstudies bouwen voort op het werk dat u hier doet door modules te implementeren die de gesimuleerde gegevens voor zakelijke inzichten analyseren.
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.
Gebruik de Bash-omgeving in Azure Cloud Shell. Zie quickstart voor Bash in Azure Cloud Shell voor meer informatie.
Installeer de Azure CLI, indien gewenst, om CLI-referentieopdrachten uit te voeren. Als u in Windows of macOS werkt, kunt u Azure CLI uitvoeren in een Docker-container. Zie De Azure CLI uitvoeren in een Docker-container voor meer informatie.
Als u een lokale installatie gebruikt, meldt u zich aan bij Azure CLI met behulp van de opdracht az login. Volg de stappen die worden weergegeven in de terminal, om het verificatieproces te voltooien. Raadpleeg Aanmelden bij Azure CLI voor aanvullende aanmeldingsopties.
Installeer de Azure CLI-extensie bij het eerste gebruik, wanneer u hierom wordt gevraagd. Raadpleeg Extensies gebruiken met Azure CLI voor meer informatie over extensies.
Voer az version uit om de geïnstalleerde versie en afhankelijke bibliotheken te vinden. Voer az upgrade uit om te upgraden naar de nieuwste versie.
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 101/11 (Pro, Enterprise, IoT Enterprise) 1 Windows 10 minimum build 17763 met alle huidige cumulatieve updates geïnstalleerd.
Hardwarevereisten
- Minimaal gratis geheugen: 1 GB
- Minimale vrije schijfruimte: 10 GB
Een IoT Hub maken
Begin met het maken van een IoT-hub met de Azure CLI.
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 er een fout optreedt omdat u al één gratis hub in uw abonnement hebt, wijzigt u de SKU in S1
. Als u een foutbericht 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.
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 gedragen zich en kunnen anders worden beheerd dan typische IoT-apparaten. Gebruik de --edge-enabled
vlag om te declareren dat deze identiteit voor een IoT Edge-apparaat is.
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 u een foutmelding krijgt over
iothubowner
beleidssleutels, controleert u of Cloud Shell de nieuwste versie van de Azure IoT-extensie uitvoert.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}
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.Uw verbindingsreeks ziet er bijvoorbeeld ongeveer als volgt uit
HostName=contoso-hub.azure-devices.net;DeviceId=myEdgeDevice;SharedAccessKey=<DEVICE_SHARED_ACCESS_KEY>
.
De IoT Edge-runtime installeren en starten
Installeer IoT Edge voor Linux in Windows op uw apparaat en configureer het met het apparaat verbindingsreeks.
Voer de volgende PowerShell-opdrachten uit op het doelapparaat waar u Azure IoT Edge voor Linux wilt implementeren in Windows. Als u wilt implementeren op een extern doelapparaat met behulp van PowerShell, gebruikt u Externe PowerShell om een verbinding met een extern apparaat tot stand te brengen en deze opdrachten op afstand op dat apparaat uit te voeren.
Voer in een PowerShell-sessie met verhoogde bevoegdheid de volgende opdracht uit om Hyper-V in te schakelen. Raadpleeg Hyper-V in Windows 10 voor meer informatie.
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
Voer in een PowerShell-sessie met verhoogde bevoegdheid elk van de volgende opdrachten uit om IoT Edge voor Linux in Windows te downloaden.
X64/AMD64
$msiPath = $([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi')) $ProgressPreference = 'SilentlyContinue' Invoke-WebRequest "https://aka.ms/AzEFLOWMSI_1_4_LTS_X64" -OutFile $msiPath
ARM64
$msiPath = $([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi')) $ProgressPreference = 'SilentlyContinue' Invoke-WebRequest "https://aka.ms/AzEFLOWMSI_1_4_LTS_ARM64" -OutFile $msiPath
Installeer IoT Edge voor Linux in Windows op uw apparaat.
Start-Process -Wait msiexec -ArgumentList "/i","$([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi'))","/qn"
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
local machine
nietAllSigned
is, kunt u het uitvoeringsbeleid instellen met behulp van:Set-ExecutionPolicy -ExecutionPolicy AllSigned -Force
Maak de IoT Edge voor Linux-implementatie in Windows.
Deploy-Eflow
Voer 'Y' in om de licentievoorwaarden te accepteren.
Voer O of R in om optionele diagnostische gegevens in of uit te schakelen, afhankelijk van uw voorkeur. Hieronder ziet u een geslaagde implementatie.
Richt uw apparaat in met behulp van het apparaat verbindingsreeks 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.
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 uit de sectie IoT Edge-modules van Microsoft-artefactregister.
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.
Meld u aan bij Azure Portal en ga naar uw IoT Hub.
Selecteer Apparaten in het menu aan de linkerkant onder het menu Apparaatbeheer.
Selecteer de apparaat-id van het doelapparaat in de lijst met apparaten.
Notitie
Wanneer u een nieuw IoT Edge-apparaat maakt, wordt de statuscode
417 -- The device's deployment configuration is not set
weergegeven in Azure Portal. Deze status is normaal en betekent dat het apparaat gereed is voor het ontvangen van een module-implementatie.Selecteer op de bovenste balk Modules instellen.
Kies welke modules u wilt uitvoeren op uw apparaat. U kunt kiezen uit modules die u al hebt gemaakt, modules uit Microsoft-artefactregister of modules die u zelf hebt gemaakt. In deze quickstart implementeert u een module uit de Microsoft-artefactregister.
Selecteer Toevoegen in de sectie IoT Edge-modules en kies vervolgens IoT Edge-module.
Werk de volgende module-instellingen bij:
Instelling Weergegeven als Naam van IoT-module SimulatedTemperatureSensor
URI installatiekopie mcr.microsoft.com/azureiotedge-simulated-temperature-sensor:latest
Beleid voor opnieuw opstarten altijd Gewenste status actief Selecteer Volgende: Routes om door te gaan met het configureren van routes.
Voeg een route toe waarmee alle berichten van de gesimuleerde temperatuurmodule naar IoT Hub worden verzonden.
Instelling Weergegeven als Naam SimulatedTemperatureSensorToIoTHub
Weergegeven als FROM /messages/modules/SimulatedTemperatureSensor/* INTO $upstream
Selecteer Volgende: Beoordelen en maken.
Controleer het JSON-bestand en selecteer Vervolgens Maken. Het JSON-bestand definieert alle modules die u op uw IoT Edge-apparaat implementeert.
Notitie
Wanneer u een nieuwe implementatie naar een IoT Edge-apparaat verzendt, wordt er niets naar uw apparaat gepusht. In plaats daarvan voert het apparaat regelmatig query’s op IoT Hub uit naar eventuele nieuwe instructies. Als het apparaat een bijgewerkt distributiemanifest 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 in beslag nemen.
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 van de modules Ja hebben onder Opgegeven in Implementatie, maar niet onder Gerapporteerd door apparaat, wordt uw IoT Edge-apparaat nog steeds gestart. Wacht enkele minuten en vernieuw de pagina.
Als u problemen ondervindt met het implementeren van modules, raadpleegt u Problemen met IoT Edge-apparaten oplossen vanuit Azure Portal.
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 Azure Portal gebruikt om een IoT Edge-module te implementeren die op het apparaat moet worden uitgevoerd 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 voor het 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 het verzendt, 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.
Meld u aan bij uw IoT Edge voor Linux op een virtuele Windows-machine met behulp van de volgende opdracht in uw PowerShell-sessie:
Connect-EflowVm
Notitie
Het enige account dat is toegestaan om SSH naar de virtuele machine toe te staan, is de gebruiker die deze heeft gemaakt.
Zodra u bent aangemeld, kunt u de lijst met actieve IoT Edge-modules controleren met behulp van de volgende Linux-opdracht:
sudo iotedge list
Bekijk de berichten die vanuit de temperatuursensormodule naar de cloud worden verzonden met behulp van de volgende Linux-opdracht:
sudo iotedge logs SimulatedTemperatureSensor -f
Tip
IoT Edge-opdrachten zijn hoofdlettergevoelig wanneer ze verwijzen naar modulenamen.
Resources opschonen
Als u door wilt gaan naar 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 er zeker van te zijn 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 bevestigen dat de resourcegroep is verwijderd met behulp van deze opdracht om de lijst met resourcegroepen weer te geven.
az group list
IoT Edge voor Linux verwijderen in Windows
Als u de Installatie van Azure IoT Edge voor Linux op Windows wilt verwijderen van uw apparaat, gebruikt u de volgende opdrachten.
- Instellingen openen in Windows
- Programma's toevoegen of verwijderen selecteren
- Azure IoT Edge-app selecteren
- 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 Azure Portal.