Zelfstudie: Een omgeving instellen voor machine learning op IoT Edge

Van toepassing op:ja-pictogram IoT Edge 1.1

Belangrijk

IoT Edge 1.1-einddatum voor ondersteuning was 13 december 2022. Raadpleeg het levenscyclusbeleid van Microsoft voor informatie over hoe dit product of deze service, technologie of API wordt ondersteund. Zie Update IoT Edge voor meer informatie over het bijwerken naar de nieuwste versie van IoT Edge.

In dit artikel leert u hoe u uw omgeving voorbereidt voor ontwikkeling en implementatie. Stel eerst een ontwikkelingsmachine in met alle hulpprogramma's die u nodig hebt. Maak vervolgens de benodigde cloudresources in Azure.

In dit deel van de zelfstudie leert u het volgende:

  • Een virtuele machine instellen voor ontwikkeling.
  • Een IoT Hub- en cloudopslag instellen voor de ontwikkelomgeving die u wilt gebruiken.

Vereisten

Dit artikel maakt deel uit van een reeks voor een zelfstudie over het gebruik van Azure Machine Learning in IoT Edge. Elk artikel in de reeks is gebaseerd op het werk in het vorige artikel. Als u rechtstreeks bij dit artikel terecht bent gekomen, gaat u naar de eerste artikel in de reeks.

De virtuele machine voor ontwikkeling instellen

Deze stap wordt doorgaans uitgevoerd door een cloudontwikkelaar. Een deel van de software is wellicht ook handig voor gegevenswetenschappers.

We hebben een PowerShell-script gemaakt waarmee een virtuele Azure-machine wordt gemaakt waarop veel van de vereiste onderdelen al zijn geconfigureerd. Met de virtuele machine die we maken, moet geneste virtualisatie kunnen worden gewerkt. Daarom kiezen we voor de standaardapparaatgrootte Standard_D8s_v3.

De virtuele machine voor ontwikkeling wordt ingesteld met:

De virtuele machine voor ontwikkelaars is niet strikt noodzakelijk. Alle ontwikkelhulpprogramma's kunnen worden uitgevoerd op een lokale computer. U wordt echter ten zeerste aangeraden om de virtuele machine te gebruiken om een gelijkmatig werkgebied te hebben.

Het duurt langer dan 30 minuten om de virtuele machine te maken en configureren.

  1. Kloon of download de voorbeeldopslagplaats Machine Learning en IoT Edge naar uw lokale computer.

  2. Open PowerShell als beheerder en ga naar de \IoTEdgeAndMlSample\DevVM-map onder de hoofdmap waarin u de code hebt gedownload. De hoofdmap voor uw bron wordt srcdir genoemd.

    cd c:\srcdir\IoTEdgeAndMlSample\DevVM
    

    De DevVM-map bevat de bestanden die nodig zijn om een virtuele Azure-machine te maken die geschikt is voor het voltooien van deze zelfstudie.

  3. Voer de volgende opdracht uit om de uitvoering van scripts toe te staan. Kies Ja op alles wanneer u daarom wordt gevraagd.

    Set-ExecutionPolicy Bypass -Scope Process
    
  4. Voer Create-AzureDevVM.ps1 uit.

    .\Create-AzureDevVm.ps1
    

    Geef de volgende informatie op wanneer u daarom wordt gevraagd:

    • Azure-abonnements-id: uw abonnements-id, die u kunt vinden bij Azure-abonnementen in de portal.
    • Naam resourcegroep: de naam van een nieuwe of bestaande resourcegroep in Azure.
    • Locatie: kies een Azure-locatie waarin de virtuele machine wordt gemaakt, zoals US - west 2 of Europa - noord. Zie Azure-locaties voor meer informatie.
    • Gebruikersnaam: geef een makkelijk te onthouden naam voor het beheerdersaccount voor de virtuele machine.
    • Wachtwoord: stel een wachtwoord voor het beheerdersaccount voor de virtuele machine in.

    Het script wordt enkele minuten uitgevoerd terwijl de volgende stappen worden uitgevoerd:

    1. hiermee wordt de Az-module van Azure PowerShell geïnstalleerd.
    2. U wordt gevraagd zich aan te melden bij Azure.
    3. Hiermee wordt de informatie voor het maken van uw virtuele machine bevestigd. Druk op y of Enter om door te gaan.
    4. Hiermee wordt de resourcegroep gemaakt als deze niet bestaat.
    5. Hiermee wordt de virtuele machine geïmplementeerd.
    6. Hiermee wordt Hyper-V ingeschakeld op de virtuele machine.
    7. Hiermee wordt software geïnstalleerd die nodig is voor ontwikkeling en de voorbeeldopslagplaats gekloond.
    8. Hiermee start u de virtuele machine op.
    9. Hiermee wordt een RDP-bestand op uw desktop gemaakt om verbinding te maken met de virtuele machine.

    Als u om de naam van de virtuele machine wordt gevraagd zodat deze opnieuw kan worden opgestart, kunt u de naam kopiëren vanuit de scriptuitvoer. In de uitvoer wordt ook het pad naar het RDP-bestand weergegeven om verbinding te maken met de virtuele machine.

Een planning voor automatisch afsluiten instellen

Voor het verlagen van de kosten is de virtuele machine voor ontwikkeling gemaakt met een planning voor automatisch afsluiten die is ingesteld op 1900 PST. Mogelijk moet u deze instelling bijwerken, afhankelijk van uw locatie en planning. U werkt de planning voor afsluiten als volgt bij:

  1. Ga in Azure Portal naar de virtuele machine dat door het script is gemaakt.

  2. Selecteer in het menu in het linkerdeelvenster onder Bewerkingen de optie Automatisch afsluiten.

  3. Pas de Geplande afsluiting en Tijdzone aan uw wensen aan en selecteer Opslaan.

Verbinding maken met de virtuele machine voor ontwikkeling

Nu we een virtuele machine hebben gemaakt, moeten we de installatie van de software die nodig is voor het afronden van de zelfstudie voltooien.

  1. Dubbelklik op het RDP-bestand dat door het script is gemaakt op uw desktop.

  2. Er wordt een dialoogvenster weergegeven met de mededeling dat de uitgever van de externe verbinding niet bekend is. Dit is acceptabel, dus selecteer Verbinden.

  3. Geef het beheerderswachtwoord op dat u hebt opgegeven om de virtuele machine te maken en klik op OK.

  4. U wordt gevraagd om het certificaat voor de virtuele machine te accepteren. Selecteer Ja.

Visual Studio Code-extensies installeren

Nu u verbinding hebt gemaakt met de virtuele machine voor ontwikkeling, voegt u een aantal nuttige extensies toe aan Visual Studio Code om de ontwikkelingservaring eenvoudiger te maken.

  1. Maak verbinding met de virtuele machine voor ontwikkeling, open een PowerShell-venster en ga naar de map C:\source\IoTEdgeAndMlSample\DevVM. Deze map is gemaakt door het script waarmee de virtuele machine is gemaakt.

    cd C:\source\IoTEdgeAndMlSample\DevVM
    
  2. Voer de volgende opdracht uit om de uitvoering van scripts toe te staan. Kies Ja op alles wanneer u daarom wordt gevraagd.

    Set-ExecutionPolicy Bypass -Scope Process
    
  3. Voer het script voor Visual Studio Code-extensies uit.

    .\Enable-CodeExtensions.ps1
    
  4. Het script wordt gedurende een aantal minuten uitgevoerd. Hierdoor worden VS Code-extensies geïnstalleerd:

    • Azure IoT Edge
    • Azure IoT Hub
    • Python
    • C#
    • Docker
    • PowerShell

IoT Hub en Storage instellen

Deze stappen worden doorgaans uitgevoerd door een cloudontwikkelaar.

Azure IoT Hub is het hart van elke IoT-toepassing omdat hiermee een veilige communicatie tussen IoT-apparaten en de cloud wordt verwerkt. Dit is het belangrijkste coördinatiepunt voor de werking van de IoT Edge machine learning-oplossing.

  • In IoT Hub worden routes gebruikt om inkomende gegevens van IoT-apparaten naar andere downstreamservices om te leiden. Wij gebruiken IoT Hub-routes om apparaatgegevens naar Azure Storage te verzenden. In Azure Storage worden de apparaatgegevens door Azure Machine Learning gebruikt voor het trainen van onze RUL-classificatie (Remaining Useful Life).

  • Later in de zelfstudie gebruiken we IoT Hub om ons Azure IoT Edge-apparaat te configureren en beheren.

In deze sectie gebruikt u een script om een Azure IoT-hub en een Azure Storage-account te maken. In Azure Portal configureert u vervolgens een route waardoor gegevens die door de hub zijn ontvangen, worden doorgestuurd naar een Azure Storage-container. Het uitvoeren van deze stappen duurt circa 10 minuten.

  1. Maak verbinding met de virtuele machine voor ontwikkeling, open een PowerShell-venster en ga naar de IoTHub-map.

    cd C:\source\IoTEdgeAndMlSample\IoTHub
    
  2. Voer het aanmaakscript uit. Gebruik dezelfde waarden voor de abonnements-id, locatie en resourcegroep als voor het maken van de virtuele machine voor ontwikkeling.

    .\New-HubAndStorage.ps1 -SubscriptionId <subscription id> -Location <location> -ResourceGroupName <resource group>
    
    • U wordt gevraagd zich aan te melden bij Azure.
    • Het script bevestigt de informatie voor het maken van uw hub en opslagaccount. Druk op y of Enter om door te gaan.

Het uitvoeren van het script duurt circa twee minuten. Na voltooiing van het script worden de naam van de IoT-hub en het opslagaccount weergegeven.

De route voor opslag in IoT Hub controleren

Als onderdeel van het maken van de IoT-hub worden ook een aangepast eindpunt en een route gemaakt door het script dat we in de vorige sectie hebben uitgevoerd. IoT Hub-routes bestaan uit een query-expressie en een eindpunt. Als een bericht overeenkomt met de expressie, worden de gegevens via de route naar het gekoppelde eindpunt verzonden. Eindpunten kunnen Event Hubs, Service Bus-wachtrijen en Onderwerpen zijn. In dit geval is het eindpunt een blobcontainer in een opslagaccount. We gebruiken Azure Portal om de route te controleren die door ons script is gemaakt.

  1. Open Azure Portal en ga naar de resourcegroep die u voor deze zelfstudie gebruikt.

  2. Selecteer in de lijst met resources de IoT-hub dat door het script is gemaakt. De naam hiervan eindigt op willekeurige tekens zoals IotEdgeAndMlHub-jrujej6de6i7w.

  3. Selecteer in het menu van het linkerdeelvenster onder Hubinstellingende optie Berichtroutering.

  4. Op de pagina Berichtroutering selecteert u het tabblad Aangepaste eindpunten.

  5. Vouw de sectie Opslag uit:

    Schermopname van de opslag met de naam turbofanDeviceStorage in de lijst met aangepaste eindpunten in de I o T Hub-portal.

    We zien dat turbofanDeviceStorage in de lijst met aangepaste eindpunten staat. Let op de volgende kenmerken over dit eindpunt:

    • Het verwijst naar de blob-opslagcontainer die u hebt gemaakt met de naam devicedata, aangegeven door Containernaam.
    • De bestandsnaamindeling heeft het woord 'partitie' in de naam. We vinden dat deze indeling handiger is voor de bestandsbewerkingen die we verderop in deze zelfstudie met Azure Notebooks gaan uitvoeren.
    • De Status moet In orde zijn.
  6. Selecteer het tabblad Routes.

  7. Selecteer de route met de naam turbofanDeviceDataToStorage.

  8. U ziet op de pagina Details van routes dat het eindpunt van de route het eindpunt turbofanDeviceStorage is.

    Schermopname met details over de route turbofanDeviceDataToStorage.

  9. Bekijk de Routeringsquery. Deze is ingesteld op true. Deze instelling betekent dat alle apparaattelemetrieberichten met deze route overeenkomen en dat alle berichten daarom worden verzonden naar het turbofanDeviceStorage-eindpunt.

  10. U kunt deze pagina gewoon sluiten omdat er geen bewerkingen zijn uitgevoerd.

Resources opschonen

Deze zelfstudie maakt deel uit van een reeks, waarvan elk artikel is gebaseerd op het werk dat in de voorgaande artikelen is uitgevoerd. Wacht met het opschonen van resources totdat u de laatste zelfstudie hebt uitgevoerd.

Volgende stappen

In dit artikel hebben we een IoT-hub gemaakt en hebben we een route geconfigureerd naar een Azure Storage-account. Hierna verzenden we gegevens van een set gesimuleerde apparaten via de IoT-hub naar het opslagaccount. Later in de zelfstudie nadat we onze IoT Edge-apparaat en modules hebben geconfigureerd, kijken we opnieuw naar routes en besteden we meer aandacht aan de routeringsquery.

Ga verder naar het volgende artikel om een gesimuleerd apparaat dat u wilt bewaken, te maken.