Cvičení – Připojení simulovaný kávovar do aplikace
Pokud chcete před připojením fyzického zařízení ověřit svůj scénář, použijte simulátor zařízení, který implementuje chování definované v modelu zařízení.
Vzpomeňte si, že v příkladu kávovarů s podporou IoT připojíte simulátor kávovaru ke službě IoT Central pro monitorování telemetrie, jako je teplota vody a vlhkost vody, sledování stavu počítače, nastavení optimální teploty, příjem stavu záruky a odeslání příkazů.
Tady budete simulovat zařízení s aplikací v jazyce C# a připojit ho k aplikaci Azure IoT Central.
Přidání kávovaru do IoT Central
Nejprve zaregistrujte zařízení:
- V aplikaci IoT Central přejděte na Zařízení a pak + Nový.
- Ve formuláři Vytvořit nové zařízení změňte ID zařízení na ccm-001 a název zařízení na Připojení kávovar - 001. Ujistěte se, že je šablonazařízení nepřiřazená a simulujte toto zařízení, a pak vyberte Vytvořit.
Zařízení Připojení coffee machine - 001 se teď zobrazuje v seznamu zařízení se stavem Zaregistrovaný a šablona Nepřiřazeno. V předchozí lekci jsme se podívali na kód aplikace jazyka C# a potvrdili, že se PŘI zřizování zařízení odesílá ID modelu. To umožňuje službě IoT Central přiřadit správnou šablonu zařízení při prvním připojení zařízení.
Získání informací o připojení
Ke spuštění aplikace jazyka C# potřebujete následující konfigurační hodnoty:
Výběrem Připojení kávovaru – 001 v seznamu zařízení zobrazíte podrobnosti o zařízení.
Výběrem Připojení otevřete panel Skupiny připojení zařízení.
Nechte tuto stránku otevřenou, nebo si poznamenejte hodnoty Obor ID, ID zařízení a Primární klíč.
Pomocí Azure Cloud Shellu nastavte proměnné prostředí používané aplikací jazyka C#.
export ID_SCOPE=<The ID scope you made a note of previously>
export DEVICE_ID=<The Device ID you made a note of previously>
export DEVICE_KEY=<The Primary key you made a note of previously>
Vytiskněte proměnné prostředí a ověřte, že jsou správně definované.
printenv ID_SCOPE DEVICE_ID DEVICE_KEY
Vytvoření aplikace v jazyce C#
Následující kroky ukazují, jak vytvořit klientskou aplikaci, která implementuje simulátor zařízení kávovaru.
Tip
V tomto cvičení vytvoříte aplikaci V# v Azure Cloud Shellu, abyste na místním počítači nemuseli nic instalovat.
Spuštěním následujícího příkazu ve službě Azure Cloud Shell vytvořte složku
coffee-maker
a přejděte do ní:mkdir ~/coffee-maker cd ~/coffee-maker
Spuštěním následujícího příkazu v Cloud Shellu stáhněte zdrojové soubory ve složce
coffee-maker
:wget https://raw.githubusercontent.com/Azure-Samples/iot-central-docs-samples/main/monitor-manage-device-with-iotcentral/CoffeeMaker-csharp.csproj wget https://raw.githubusercontent.com/Azure-Samples/iot-central-docs-samples/main/monitor-manage-device-with-iotcentral/CoffeeMaker.cs wget https://raw.githubusercontent.com/Azure-Samples/iot-central-docs-samples/main/monitor-manage-device-with-iotcentral/Parameters.cs wget https://raw.githubusercontent.com/Azure-Samples/iot-central-docs-samples/main/monitor-manage-device-with-iotcentral/Program.cs
V Cloud Shellu spusťte následující příkaz, abyste spustili aplikaci:
dotnet run
Ověřte, že se aplikace spustí v okně služby Cloud Shell se zprávou Zařízení bylo úspěšně připojeno k Azure IoT Central a Odesílání telemetrických dat: zprávy.
Blahopřejeme! Vaše aplikace je v provozu, spuštěná a komunikuje s IoT Central!
Kontrola práce
Pracovali jste s aplikací Azure IoT Central a připojili jste kávovar k Azure IoT Central. Jste na cestě začít monitorovat a spravovat vzdálený kávovar. Tady chvíli trvá, než ověříte nastavení a připojení pomocí šablony Připojení kávovaru, kterou jste definovali dříve. Optimální teplotu aktualizujte ve formuláři Vlastnosti, spuštěním příkazů aktualizujte stav zařízení a zobrazte telemetrii připojeného kávovaru.
Aktualizace vlastností pro synchronizaci aplikace s kávovarem
Pomocí formuláře Vlastnosti, který jste definovali v šabloně zařízení, můžete odesílat konfigurační data do kávovaru z vaší aplikace.
Přejděte na stránku Zařízení v aplikaci Azure IoT Central.
V seznamu zařízení vyberte ccm-001 , abyste zobrazili podrobnosti o zařízení.
Výběrem možnosti Vlastnosti zobrazíte formulář.
Jako optimální teplotu zadejte 95. Pak vyberte Uložit.
Při změně vlastnosti se vlastnost označí jako Čeká na vyřízení: v uživatelském rozhraní, dokud kávovar změnu nastavení nepotvrdí. Vlastnost se pak označí jako Akceptovaná: nyní.
Poznámka:
Úspěšné aktualizace v nastavení indikují tok dat a ověří připojení. Telemetrické měrné systémy zareagují aktualizací optimální teploty.
Aktualizace vlastností cloudu
Pomocí formuláře Vlastnosti, který jste definovali v šabloně zařízení, aktualizujte konfigurační data kávovaru.
Přejděte na stránku Zařízení v aplikaci Azure IoT Central.
V seznamu zařízení vyberte ccm-001 , abyste zobrazili podrobnosti o zařízení.
Výběrem možnosti Vlastnosti zobrazíte formulář.
Zadejte 99 jako maximální teplotu kávovaru (°C) a 92 jako minimální teplotu kávovaru (°C). Pak vyberte Uložit.
Vlastnosti cloudu se se zařízením nesynchronizují, existují jenom v aplikaci IoT Central.
Spouštění příkazů v kávovaru
Pro účely následujícího cvičení přejděte na stránku Příkazy vašeho zařízení. Nastavení příkazů ověříte tak, že z IoT Central vzdáleně spustíte příkazy v kávovaru. V případě, že se příkazy provedou úspěšně, odešlou se z kávovaru zpět potvrzující zprávy.
Spusťte vzdáleně vaření kávy tím, že zvolíte Spustit.
Kávovar se spustí, pokud jsou splněny tyto tři podmínky:
- Byl zjištěn šálek.
- Kávovar není ve stavu údržby.
- Právě se nevaří káva.
Poznámka:
Jakmile úspěšně spustíte vaření kávy, stav zařízení se změní na Brewing (Vaření kávy), jak je uvedeno na stránce Telemetrie.
Vyhledejte potvrzující zprávy v protokolu konzoly na simulovaném kávovaru.
Set up the device client. Device successfully connected to Azure IoT Central - Set handler for "SetMaintenanceMode" command. - Set handler for "StartBrewing" command. - Set handler to receive "OptimalTemperature" updates. - Update "DeviceWarrantyExpired" reported property on the initial startup. * Property: Update - { "DeviceWarrantyExpired": True } is Completed. Telemetry send: Temperature: 97ºC Humidity: 25.4% Cup Detected: Y Brewing: N Maintenance Mode: N Telemetry send: Temperature: 94.3ºC Humidity: 22.4% Cup Detected: Y Brewing: N Maintenance Mode: N * Property: Received - { "OptimalTemperature": 95°C }. * Property: Update - {"OptimalTemperature ": 95°C } is InProgress. Telemetry send: Temperature: 96.2ºC Humidity: 53.5% Cup Detected: N Brewing: N Maintenance Mode: N * Property: Update - {"OptimalTemperature ": 95°C } is Completed. Telemetry send: Temperature: 95.9ºC Humidity: 35.3% Cup Detected: N Brewing: N Maintenance Mode: N Telemetry send: Temperature: 96.4ºC Humidity: 75.5% Cup Detected: N Brewing: N Maintenance Mode: N * Start brewing command received Telemetry send: Temperature: 94.2ºC Humidity: 86.3% Cup Detected: Y Brewing: Y Maintenance Mode: N Telemetry send: Temperature: 94.8ºC Humidity: 85.4% Cup Detected: Y Brewing: Y Maintenance Mode: N Telemetry send: Temperature: 96.7ºC Humidity: 93.7% Cup Detected: Y Brewing: Y Maintenance Mode: N
Nastavte režim údržby tím, že zvolíte Spustit na stránce Příkazy. Kávovar se nastaví na údržbu, pokud ještě není v režimu údržby.
V protokolu konzoly kávovaru vyhledejte potvrzovací zprávy.
Poznámka:
Stejně jako v reálném životě, když technik zařízení vyřadí z provozu, aby mohl provést nezbytné opravy, než ho zase zapne a zprovozní, i kávovar zůstane dál v režimu údržby, dokud nerestartujete klientský kód.
Set up the device client. Device successfully connected to Azure IoT Central - Set handler for "SetMaintenanceMode" command. - Set handler for "StartBrewing" command. - Set handler to receive "OptimalTemperature" updates. - Update "DeviceWarrantyExpired" reported property on the initial startup. * Property: Update - { "DeviceWarrantyExpired": False } is Completed. Telemetry send: Temperature: 96.8ºC Humidity: 39.2% Cup Detected: Y Brewing: N Maintenance Mode: N Telemetry send: Temperature: 96.8ºC Humidity: 57.7% Cup Detected: Y Brewing: N Maintenance Mode: N Telemetry send: Temperature: 97.2ºC Humidity: 45.2% Cup Detected: Y Brewing: N Maintenance Mode: N * Maintenance command received Telemetry send: Temperature: 96ºC Humidity: 54.7% Cup Detected: Y Brewing: N Maintenance Mode: Y Telemetry send: Temperature: 95.6ºC Humidity: 22.1% Cup Detected: Y Brewing: N Maintenance Mode: Y Telemetry send: Temperature: 95.3ºC Humidity: 92% Cup Detected: Y Brewing: N Maintenance Mode: Y * Start brewing command received - Warning: The device is in maintenance mode. Telemetry send: Temperature: 94.5ºC Humidity: 85.5% Cup Detected: Y Brewing: N Maintenance Mode: Y Telemetry send: Temperature: 96.9ºC Humidity: 62.7% Cup Detected: Y Brewing: N Maintenance Mode: Y Telemetry send: Temperature: 97.6ºC Humidity: 47.3% Cup Detected: Y Brewing: N Maintenance Mode: Y
Zobrazení telemetrie kávovaru
Přejděte na stránku Telemetrie kávovaru. Tuto stránku jste definovali při vytváření šablony zařízení:
Důležité
Doporučujeme, abyste aplikaci v jazyce C# spustili maximálně 60 minut nebo tak, aby aplikace neposílala nežádoucí oznámení nebo e-maily. Zastavení aplikace v době, kdy právě nepracujete na modulu, vám také umožní vyhnout se vyčerpání denní kvóty zpráv. Můžete přidat příznak pro definování doby běhu aplikace: dotnet run -n [TimeInSeconds]
.