Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:
IoT Edge 1.1
Belangrijk
IoT Edge 1.1 einddatum van de 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 IoT Edge-bijwerken voor meer informatie over het bijwerken naar de nieuwste versie van IoT Edge.
In dit artikel gebruiken we machine learning-trainingsgegevens om een apparaat te simuleren dat telemetrie verzendt naar Azure IoT Hub. Zoals vermeld in de inleiding, gebruikt deze tutorial de turbofan engine degradatie simulatiegegevens om gegevens te genereren van een set vliegtuigmotoren voor training en testen.
In ons experimentele scenario weten we dat:
- De gegevens bestaan uit meerdere multivariate tijdreeksen.
- Elke gegevensset is onderverdeeld in trainings- en testsubsets.
- Elke tijdreeks is afkomstig van een andere engine.
- Elke motor begint met verschillende mate van initiële slijtage en productievariatie.
Voor deze zelfstudie gebruiken we de subset van trainingsgegevens van één dataset (FD003).
In werkelijkheid zou elke engine een onafhankelijk IoT-apparaat zijn. Ervan uitgaande dat u geen verzameling turbofan-engines met internetverbinding beschikbaar hebt, bouwen we een software-stand-in voor deze apparaten.
De simulator is een C#-programma dat gebruikmaakt van de IoT Hub-API's om virtuele apparaten programmatisch te registreren bij IoT Hub. Vervolgens lezen we de gegevens voor elk apparaat uit de door NASA geleverde gegevenssubset en verzenden deze naar uw IoT-hub met behulp van een gesimuleerd IoT-apparaat. Alle code voor dit gedeelte van de zelfstudie vindt u in de map DeviceHarness van de opslagplaats.
Het DeviceHarness-project is een .NET Core-project dat is geschreven in C# en bestaat uit vier klassen:
- Programma: Het ingangspunt voor de uitvoering die verantwoordelijk is voor het verwerken van gebruikersinvoer en algemene coördinatie.
- TrainingFileManager: Verantwoordelijk voor het lezen en parseren van het geselecteerde gegevensbestand.
- CycleData: Vertegenwoordigt één rij met gegevens in een bestand dat is geconverteerd naar berichtindeling.
- TurbofanDevice: Verantwoordelijk voor het maken van een IoT-apparaat, dat overeenkomt met één apparaat (tijdreeks), in de gegevens en het verzenden van de gegevens naar IoT Hub.
Het duurt ongeveer 20 minuten voordat de taken die in dit artikel worden beschreven, zijn voltooid.
Het werkelijke equivalent van het werk in deze stap wordt waarschijnlijk uitgevoerd door apparaatontwikkelaars en cloudontwikkelaars.
In deze sectie van de zelfstudie leert u het volgende:
- Neem een extern project op in uw ontwikkelomgeving.
- Gebruik het voorbeeldproject DeviceHarness om gesimuleerde IoT-apparaatgegevens te genereren.
- Gegenereerde gegevens weergeven in uw IoT Hub.
Vereiste voorwaarden
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 bouwt voort op het werk in het vorige artikel. Als u rechtstreeks bij dit artikel bent aangekomen, bezoek dan het eerste artikel in de reeks.
Visual Studio Code configureren en DeviceHarness-project bouwen
Open een extern bureaubladsessie naar uw ontwikkel-VM.
Open de
C:\source\IoTEdgeAndMlSample\DeviceHarnessmap in Visual Studio Code.Omdat u voor het eerst extensies op deze computer gebruikt, zullen sommige extensies worden geüpdatet en hun afhankelijkheden installeren. Mogelijk wordt u gevraagd om de extensie bij te werken. Als dit het gewenste is, selecteert u Venster opnieuw laden.
Als OmniSharp-fouten worden weergegeven in het uitvoervenster, moet u de C#-extensie verwijderen.
U wordt gevraagd om vereiste assets toe te voegen voor DeviceHarness. Selecteer Ja om ze toe te voegen.
- Het kan enkele seconden duren voordat de melding wordt weergegeven.
- Als u deze melding hebt gemist, controleert u het belpictogram in de rechterbenedenhoek.
Selecteer Herstellen om de pakketafhankelijkheden te herstellen.
Als u deze meldingen niet ontvangt, sluit u Visual Studio Code, verwijdert u de bin- en obj-mappen in
C:\source\IoTEdgeAndMlSample\DeviceHarness, opent u Visual Studio Code en opent u de map DeviceHarness opnieuw.Controleer of uw omgeving correct is ingesteld door een build, Ctrl + Shift + B of Terminal>Run Build-taak te activeren.
U wordt gevraagd om de build-taak te selecteren die moet worden uitgevoerd. Selecteer Build.
De build wordt uitgevoerd en geeft een succesbericht.
U kunt deze build de standaard build-taak maken door Terminal>Configure Default Build Task te selecteren... en Build te kiezen in de prompt.
Verbinding maken met IoT Hub en DeviceHarness uitvoeren
Nu we het project hebben gebouwd, maakt u verbinding met uw IoT-hub om toegang te krijgen tot de verbindingsreeks en de voortgang van het genereren van gegevens te bewaken.
Aanmelden bij Azure in Visual Studio Code
Meld u aan bij uw Azure-abonnement in Visual Studio Code door het opdrachtenpalet te openen via
Ctrl + Shift + Pof Weergave>Opdrachtenpalet.Zoek naar de opdracht Azure: Aanmelden.
Er wordt een browservenster geopend en u wordt gevraagd om uw referenties. Wanneer u wordt omgeleid naar een geslaagde pagina, kunt u de browser sluiten.
Verbinding maken met uw IoT-hub en hubverbindingsreeks ophalen
Selecteer in het onderste gedeelte van Visual Studio Code Explorer het Azure IoT Hub-frame om het uit te vouwen.
Klik in het uitgevouwen frame op IoT Hub selecteren.
Wanneer u hierom wordt gevraagd, selecteert u uw Azure-abonnement en vervolgens uw IoT-hub.
Klik op ... rechts van Azure IoT Hub voor meer acties. Selecteer De IoT Hub-verbindingsreeks kopiëren.
Het DeviceHarness-project uitvoeren
Selecteer Terminal weergeven> om de Visual Studio Code-terminal te openen.
Als u geen prompt ziet, drukt u op Enter.
Voer '
dotnet run' in de terminal in.Wanneer u wordt gevraagd om de IoT Hub-verbindingsreeks, plakt u de verbindingsreeks die u in de vorige sectie hebt gekopieerd.
Klik in het frame voor Azure IoT Hub-apparaten op de knop Vernieuwen.
Houd er rekening mee dat apparaten worden toegevoegd aan de IoT Hub en dat de apparaten groen worden weergegeven om aan te geven dat gegevens via dat apparaat worden verzonden. Nadat de apparaten berichten naar de IoT-hub hebben verzonden, worden ze losgekoppeld en blauw weergegeven.
U kunt berichten bekijken die naar de hub worden verzonden door met de rechtermuisknop op elk apparaat te klikken en Ingebouwde gebeurteniseindpunt starten te selecteren. De berichten worden weergegeven in het uitvoervenster in Visual Studio Code.
Stop bewaking door in het uitvoervenster van Azure IoT Hub te klikken en bewaking van ingebouwd gebeurteniseindpunt stoppen te kiezen.
Laat de toepassing worden uitgevoerd tot voltooiing. Dit duurt enkele minuten.
IoT Hub controleren op activiteit
De gegevens die door DeviceHarness worden verzonden, zijn naar uw IoT-hub gegaan, waar u kunt verifiëren in Azure Portal.
Open Azure Portal en navigeer naar de IoT-hub die voor deze zelfstudie is gemaakt.
Selecteer in het linkerdeelvenster onder Bewaking de optie Metrische gegevens.
Klik op de grafiekdefinitiepagina op de vervolgkeuzelijst Metric, schuif omlaag in de lijst en selecteer Routing: gegevens die naar opslag worden geleverd. In de grafiek moet de piek worden weergegeven van wanneer de gegevens naar de opslag zijn gerouteerd.
Gegevens valideren in Azure Storage
De gegevens die we zojuist naar uw IoT-hub hebben verzonden, zijn doorgestuurd naar de opslagcontainer die we in het vorige artikel hebben gemaakt. Laten we eens kijken naar de gegevens in ons opslagaccount.
Ga in Azure Portal naar uw opslagaccount.
Selecteer Storage Explorer (preview) in de navigator van het opslagaccount.
Selecteer vervolgens
devicedatablobcontainers in storage explorer.Klik in het inhoudsvenster op de map voor de naam van de IoT-hub, gevolgd door jaar, maand, dag en uur. U ziet verschillende mappen die de minuten vertegenwoordigen wanneer de gegevens zijn geschreven.
Klik in een van deze mappen om gegevensbestanden te vinden met het label 00 en 01 die overeenkomen met de partitie.
De bestanden zijn geschreven in Avro-formaat. Dubbelklik op een van deze bestanden om een ander browsertabblad te openen en gedeeltelijk de gegevens weer te geven. Als u wordt gevraagd het bestand in een programma te openen, kunt u VS Code kiezen en wordt het correct weergegeven.
Het is niet nodig om de gegevens op dit moment te lezen of te interpreteren; we doen het in het volgende artikel.
De hulpbronnen opschonen
Deze zelfstudie maakt deel uit van een set waarin elk artikel voortbouwt op het werk dat in de vorige artikelen is uitgevoerd. Wacht met het opruimen van resources tot u de laatste tutorial hebt voltooid.
Volgende stappen
In dit artikel hebben we een .NET Core-project gebruikt voor het maken van een set virtuele IoT-apparaten en het verzenden van gegevens naar onze IoT-hub en naar een Azure Storage-container. Dit project simuleert een praktijkscenario waarbij fysieke IoT-apparaten gegevens verzenden naar een IoT Hub en verder naar een gecureerde opslag. Deze gegevens omvatten sensormetingen, operationele instellingen, foutsignalen en modi, enzovoort. Zodra er voldoende gegevens zijn verzameld, gebruiken we deze om modellen te trainen die de resterende levensduur (RUL) voor het apparaat voorspellen. In het volgende artikel laten we deze machine learning zien.
Ga door naar het volgende artikel om een machine learning-model te trainen met de gegevens.