Cvičení – Připojení simulovaný kávovar do aplikace

Dokončeno

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.

Illustration that shows a Coffee machine.

Přidání kávovaru do IoT Central

Nejprve zaregistrujte zařízení:

  1. V aplikaci IoT Central přejděte na Zařízení a pak + Nový.
  2. 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:

  1. Výběrem Připojení kávovaru – 001 v seznamu zařízení zobrazíte podrobnosti o zařízení.

  2. Výběrem Připojení otevřete panel Skupiny připojení zařízení.

  3. Nechte tuto stránku otevřenou, nebo si poznamenejte hodnoty Obor ID, ID zařízení a Primární klíč.

    Screenshot that shows device connection information.

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.

  1. 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
    
  2. 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
    
  3. V Cloud Shellu spusťte následující příkaz, abyste spustili aplikaci:

    dotnet run
    
  4. 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.

  1. Přejděte na stránku Zařízení v aplikaci Azure IoT Central.

  2. V seznamu zařízení vyberte ccm-001 , abyste zobrazili podrobnosti o zařízení.

  3. Výběrem možnosti Vlastnosti zobrazíte formulář.

  4. 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.

  1. Přejděte na stránku Zařízení v aplikaci Azure IoT Central.

  2. V seznamu zařízení vyberte ccm-001 , abyste zobrazili podrobnosti o zařízení.

  3. Výběrem možnosti Vlastnosti zobrazíte formulář.

  4. 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.

  1. 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
    
  2. 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í:

Screenshot that shows the Telemetry page for the connected coffee machine device template.

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].