Kurz: Generování dat simulovaného zařízení
Platí pro: IoT Edge 1.1
Důležité
Datum ukončení podpory ioT Edge 1.1 bylo 13. prosince 2022. Informace o způsobu podpory tohoto produktu, služby, technologie nebo rozhraní API najdete v tématu věnovaném životnímu cyklu produktů Microsoftu. Další informace o aktualizaci na nejnovější verzi IoT Edge najdete v tématu Aktualizace IoT Edge.
V tomto článku používáme trénovací data strojového učení k simulaci zařízení odesílajícího telemetrii do Azure IoT Hubu. Jak je uvedeno v úvodu, tento kurz používá sadu dat simulace snížení výkonu motoru Turbofan k simulaci dat ze sady leteckých motorů pro trénování a testování.
V našem experimentálním scénáři víme, že:
- Data se skládají z vícenásobných časových řad.
- Každá datová sada je rozdělená na trénovací a testovací podmnožiny.
- Každá časová řada je z jiného modulu.
- Každý motor začíná různými stupni počátečního opotřebení a výrobní variace.
Pro účely tohoto kurzu použijeme podmnožinu trénovacích dat jedné datové sady (FD003).
Ve skutečnosti by každý modul byl nezávislým zařízením IoT. Za předpokladu, že nemáte k dispozici kolekci motorů turbofan připojených k internetu, vytvoříme pro tato zařízení softwarový stand-in.
Simulátor je program v jazyce C#, který používá rozhraní API služby IoT Hub k programové registraci virtuálních zařízení ve službě IoT Hub. Pak načteme data pro každé zařízení z podmnožině dat poskytnuté NASA a pošleme je do centra IoT pomocí simulovaného zařízení IoT. Veškerý kód pro tuto část kurzu najdete v adresáři DeviceHarness úložiště.
Projekt DeviceHarness je projekt .NET Core napsaný v jazyce C#, který se skládá ze čtyř tříd:
- Program: Vstupní bod pro provádění zodpovědný za zpracování uživatelských vstupů a celkové koordinace.
- TrainingFileManager: Zodpovídá za čtení a analýzu vybraného datového souboru.
- CycleData: Představuje jeden řádek dat v souboru převedený na formát zprávy.
- TurbofanDevice: Zodpovídá za vytvoření zařízení IoT, které odpovídá jednomu zařízení (časové řadě), v datech a přenosu dat do IoT Hubu.
Dokončení úkolů popsaných v tomto článku by mělo trvat přibližně 20 minut.
Skutečné ekvivalenty práce v tomto kroku by pravděpodobně prováděli vývojáři zařízení a cloudoví vývojáři.
V této části kurzu se naučíte:
- Začleňte do vývojového prostředí externí projekt.
- K vygenerování simulovaných dat zařízení IoT použijte ukázkový projekt DeviceHarness.
- Zobrazení vygenerovaných dat ve službě IoT Hub
Požadavky
Tento článek je součástí série kurzů o používání služby Azure Machine Learning ve službě IoT Edge. Každý článek v řadě vychází z práce v předchozím článku. Pokud jste se k tomuto článku dostali přímo, navštivte první článek série.
Konfigurace editoru Visual Studio Code a sestavení projektu DeviceHarness
Otevřete relaci vzdálené plochy pro vývojový virtuální počítač.
V editoru
C:\source\IoTEdgeAndMlSample\DeviceHarness
Visual Studio Code otevřete složku.Vzhledem k tomu, že na tomto počítači používáte rozšíření poprvé, některá rozšíření se aktualizují a nainstalují jejich závislosti. Může se zobrazit výzva k aktualizaci rozšíření. Pokud ano, vyberte Znovu načíst okno.
Pokud se v okně výstupu zobrazí chyby OmniSharp, budete muset odinstalovat rozšíření C#.
Zobrazí se výzva k přidání požadovaných prostředků pro DeviceHarness. Vyberte Ano a přidejte je.
- Zobrazení oznámení může trvat několik sekund.
- Pokud jste toto oznámení zmeškali, zkontrolujte ikonu zvonku v pravém dolním rohu.
Výběrem možnosti Obnovit obnovíte závislosti balíčku.
Pokud tato oznámení nedostanou, zavřete Visual Studio Code, odstraňte adresář bin a obj v
C:\source\IoTEdgeAndMlSample\DeviceHarness
nástroji Visual Studio Code a znovu otevřete složku DeviceHarness.Ověřte, že je vaše prostředí správně nastavené, a to tak, že aktivujete úlohu sestavení, ctrl + Shift + B nebo terminálového>spuštění sestavení.
Zobrazí se výzva, abyste vybrali úlohu sestavení, která se má spustit. Vyberte Sestavit.
Sestavení se spustí a vypíše zprávu o úspěchu.
Toto sestavení můžete nastavit jako výchozí úlohu sestavení výběrem možnosti Terminál>konfigurovat výchozí úlohu sestavení... a zvolením možnosti Sestavení z výzvy.
Připojení ke službě IoT Hub a spuštění deviceHarness
Teď, když máme projektové sestavení, připojte se k centru IoT, abyste měli přístup ke připojovací řetězec a monitorovali průběh generování dat.
Přihlášení k Azure ve Visual Studio Code
Přihlaste se k předplatnému Azure v editoru Visual Studio Code tak,
Ctrl + Shift + P
že otevřete paletu příkazů nebo zobrazte>paletu příkazů.Vyhledejte příkaz Azure: Přihlásit se.
Otevře se okno prohlížeče a zobrazí se výzva k zadání přihlašovacích údajů. Když budete přesměrováni na stránku s úspěchem, můžete prohlížeč zavřít.
Připojení k centru IoT a načtení připojovací řetězec centra
V dolní části Průzkumníka editoru Visual Studio Code vyberte rámec služby Azure IoT Hub a rozbalte ho.
V rozbaleném rámečku klikněte na Vybrat IoT Hub.
Po zobrazení výzvy vyberte své předplatné Azure a pak centrum IoT.
Kliknutím na ... napravo od služby Azure IoT Hub zobrazíte další akce. Vyberte Kopírovat připojovací řetězec IoT Hubu.
Spuštění projektu DeviceHarness
Výběrem možnosti Zobrazit>terminál otevřete terminál editoru Visual Studio Code.
Pokud se výzva nezobrazí, stiskněte Enter.
Zadejte
dotnet run
v terminálu.Po zobrazení výzvy k zadání připojovacího řetězce ioT Hubu vložte připojovací řetězec zkopírované v předchozí části.
V rámci zařízení Azure IoT Hubu klikněte na tlačítko Aktualizovat.
Všimněte si, že zařízení se přidají do IoT Hubu a že se zařízení zobrazují zeleně, aby bylo možné označit, že se data odesílají přes toto zařízení. Jakmile zařízení odesílají zprávy do centra IoT, odpojí se a zobrazí se modře.
Zprávy odeslané do centra můžete zobrazit tak, že kliknete pravým tlačítkem na libovolné zařízení a vyberete Spustit monitorování integrovaného koncového bodu události. Zprávy se zobrazí v podokně výstupu v editoru Visual Studio Code.
Ukončete monitorování kliknutím v podokně výstupu služby Azure IoT Hub a zvolte Zastavit monitorování integrovaného koncového bodu události.
Nechte aplikaci běžet na dokončení, což trvá několik minut.
Kontrola aktivity ve službě IoT Hub
Data odeslaná nástrojem DeviceHarness přešla do vašeho centra IoT, kde můžete ověřit na webu Azure Portal.
Otevřete web Azure Portal a přejděte do centra IoT vytvořeného pro účely tohoto kurzu.
V nabídce levého podokna v části Monitorování vyberte Metriky.
Na stránce definice grafu klikněte na rozevírací seznam Metrika , posuňte se dolů v seznamu a vyberte Směrování: data doručená do úložiště. Graf by měl ukázat špičku, kdy byla data směrována do úložiště.
Ověření dat ve službě Azure Storage
Data, která jsme právě odeslali do vašeho centra IoT, byla směrována do kontejneru úložiště, který jsme vytvořili v předchozím článku. Pojďme se podívat na data v našem účtu úložiště.
Na webu Azure Portal přejděte ke svému účtu úložiště.
V navigátoru účtu úložiště vyberte Průzkumník služby Storage (Preview).
V Průzkumníku úložiště vyberte kontejnery objektů blob a pak
devicedata
.V podokně obsahu klikněte na složku pro název centra IoT a za ním rok, měsíc, den a hodinu. Při zápisu dat se zobrazí několik složek představujících minuty.
Kliknutím do jedné z těchto složek vyhledejte datové soubory označené jako 00 a 01 odpovídající oddílu.
Soubory se zapisují ve formátu Avro . Poklikáním na jeden z těchto souborů otevřete jinou kartu prohlížeče a částečně vykreslíte data. Pokud se zobrazí výzva k otevření souboru v programu, můžete zvolit VS Code a zobrazí se správně.
Není nutné se pokoušet číst ani interpretovat data právě teď; uděláme to v dalším článku.
Vyčištění prostředků
Tento kurz je součástí sady, kde každý článek vychází z práce provedené v předchozích článcích. Počkejte prosím, až vyčistíte všechny prostředky, dokud dokončíte konečný kurz.
Další kroky
V tomto článku jsme použili projekt .NET Core k vytvoření sady virtuálních zařízení IoT a jejich odesílání dat do centra IoT a do kontejneru Azure Storage. Tento projekt simuluje skutečný scénář, kdy fyzická zařízení IoT odesílají data do IoT Hubu a dál do kurátorovaného úložiště. Tato data zahrnují čtení senzorů, provozní nastavení, signály selhání a režimy atd. Jakmile se shromažďuje dostatek dat, použijeme je k trénování modelů, které předpovídají zbývající životnost zařízení (RUL). Toto strojové učení si předvedeme v dalším článku.
Pokračujte k dalšímu článku a natrénujte model strojového učení s daty.