Ćwiczenie — Połączenie symulowanego ekspresu do kawy do aplikacji

Ukończone

Aby zweryfikować scenariusz przed połączeniem urządzenia fizycznego, użyj symulatora urządzenia, który implementuje zachowania zdefiniowane w modelu urządzenia.

Pamiętaj, że w przykładzie ekspresów do kawy z włączoną obsługą IoT połączysz symulator ekspresu do kawy z usługą IoT Central na potrzeby monitorowania danych telemetrycznych, takich jak temperatura wody i wilgotność, obserwuj stan maszyny, ustawiasz optymalną temperaturę, odbierasz stan gwarancji i wysyłasz polecenia.

W tym miejscu zasymulujesz urządzenie za pomocą aplikacji w języku C# i połączysz je z aplikacją usługi Azure IoT Central.

Illustration that shows a Coffee machine.

Dodawanie ekspresu do kawy do usługi IoT Central

Najpierw zarejestruj urządzenie:

  1. W aplikacji usługi IoT Central przejdź do pozycji Urządzenia , a następnie pozycję + Nowy.
  2. W formularzu Tworzenie nowego urządzenia zmień identyfikator urządzenia na ccm-001 i Nazwę urządzenia na Połączenie ed Coffee Machine — 001. Upewnij się, że szablon Urządzenia ma wartość Nieprzypisane, a następnie wybierz pozycję Symuluj to urządzenie, a następnie wybierz pozycję Utwórz.

Urządzenie Połączenie ed Coffee Machine — 001 jest teraz wyświetlane na liście urządzeń ze stanem Zarejestrowane i Szablon Nieprzypisane. W poprzedniej lekcji przyjrzeliśmy się kodowi aplikacji języka C# i potwierdziliśmy, że identyfikator modelu jest wysyłany podczas aprowizacji urządzenia. Umożliwia to usłudze IoT Central przypisanie poprawnego szablonu urządzenia podczas pierwszego nawiązywania połączenia z urządzeniem.

Pobieranie informacji o połączeniu

Aby uruchomić aplikację w języku C#, potrzebne są następujące wartości konfiguracji:

  1. Wybierz Połączenie ekspresu do kawy — 001 na liście urządzeń, aby wyświetlić szczegóły urządzenia.

  2. Wybierz Połączenie, aby otworzyć panel Grupy połączeń urządzeń.

  3. Pozostaw tę stronę otwartą lub zanotuj wartości z pól Zakres identyfikatorów, Identyfikator urządzenia i Klucz podstawowy.

    Screenshot that shows device connection information.

Użyj usługi Azure Cloud Shell, aby ustawić zmienne środowiskowe używane przez aplikację języka 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>

Wydrukuj zmienne środowiskowe i upewnij się, że są one poprawnie zdefiniowane.

printenv ID_SCOPE DEVICE_ID DEVICE_KEY

Tworzenie aplikacji w języku C#

W poniższych krokach pokazano, jak utworzyć aplikację kliencką, która implementuje symulator urządzenia do kawy.

Napiwek

W tym ćwiczeniu utworzysz aplikację języka C# w usłudze Azure Cloud Shell, aby nie trzeba było instalować żadnych elementów na komputerze lokalnym.

  1. Wykonaj następujące polecenie w usłudze Azure Cloud Shell, aby utworzyć folder coffee-maker, a następnie przejdź do:

    mkdir ~/coffee-maker
    cd ~/coffee-maker
    
  2. Wykonaj następujące polecenie w usłudze Cloud Shell, aby pobrać pliki źródłowe w coffee-maker folderze:

    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. Wykonaj następujące polecenie w usłudze Cloud Shell, aby uruchomić aplikację:

    dotnet run
    
  4. Sprawdź, czy aplikacja uruchamia się w oknie usługi Cloud Shell z komunikatem Device successfully connected to Azure IoT Central (Urządzenie pomyślnie połączono z usługą Azure IoT Central) oraz z komunikatami Telemetry send: (Dane telemetryczne przesłane).

Gratulacje! Aplikacja jest włączona, uruchomiona i komunikuje się z usługą IoT Central!

Sprawdź swoją pracę

Wiesz już, jak korzystać z aplikacji Azure IoT Central i połączyć ekspres do kawy z usługą Azure IoT Central. Możesz zacząć monitorować zdalny ekspres do kawy i zarządzać nim. W tym miejscu pośmieć chwilę na zweryfikowanie konfiguracji i połączenia przy użyciu zdefiniowanego wcześniej szablonu Połączenie ekspresu do kawy. Zaktualizujesz optymalną temperaturę w formularzu Ustawienia, uruchomisz polecenia aktualizujące stan maszyny i wyświetlisz dane telemetryczne połączonego ekspresu do kawy.

Aktualizowanie właściwości w celu synchronizowania aplikacji z ekspresem do kawy

Za pomocą zdefiniowanego w szablonie urządzenia formularza Właściwości wyślij dane konfiguracji z aplikacji do ekspresu do kawy.

  1. Przejdź do strony Urządzenia w aplikacji usługi Azure IoT Central.

  2. Wybierz pozycję ccm-001 z listy urządzeń, aby wyświetlić szczegóły urządzenia.

  3. Wybierz pozycję Właściwości, aby wyświetlić formularz.

  4. Wprowadź 95 jako optymalną temperaturę. Następnie wybierz opcję Zapisz.

Po zmianie właściwości właściwość jest oznaczona jako Oczekujące: teraz w interfejsie użytkownika do momentu potwierdzenia zmiany ustawienia przez ekspres do kawy. Właściwość jest następnie oznaczona jako Zaakceptowano: teraz.

Uwaga

Pomyślna aktualizacja ustawienia oznacza przepływ danych i weryfikuje połączenie. Pomiary telemetrii będą odpowiadać zaktualizowanemu ustawieniu optymalnej temperatury.

Aktualizowanie właściwości chmury

Za pomocą zdefiniowanego w szablonie urządzenia formularza Właściwości zaktualizuj dane konfiguracji dla ekspresu do kawy.

  1. Przejdź do strony Urządzenia w aplikacji usługi Azure IoT Central.

  2. Wybierz pozycję ccm-001 z listy urządzeń, aby wyświetlić szczegóły urządzenia.

  3. Wybierz pozycję Właściwości, aby wyświetlić formularz.

  4. Wprowadź wartość 99 jako maksymalną temperaturę ekspresu do kawy (°C) i 92 jako minimalną temperaturę ekspresu do kawy (°C). Następnie wybierz opcję Zapisz.

Właściwości chmury nie są synchronizowane z urządzeniem. Istnieją one tylko w aplikacji usługi IoT Central.

Uruchamianie poleceń na ekspresie do kawy

Przejdź do strony Polecenia dla swojego urządzenia, aby wykonać poniższe ćwiczenie. Aby zweryfikować konfigurację poleceń, możesz zdalnie uruchomić polecenia na ekspresie do kawy z usługi IoT Central. Jeśli polecenia zostaną wykonane pomyślnie, z ekspresu do kawy zostaną wysłane komunikaty z potwierdzeniem.

  1. Zdalnie uruchom zaparzanie, wybierając polecenie Uruchom.

    Ekspres do kawy rozpoczyna się, jeśli spełnione są następujące trzy warunki:

    • Wykryto kubek
    • Ekspres nie jest w trybie konserwacji
    • Obecnie nie trwa parzenie kawy

    Uwaga

    Po pomyślnym uruchomieniu parzenia kawy stan urządzenia zmieni się na Parzenie, co jest widoczne na stronie Telemetria.

    Poszukaj komunikatów potwierdzających w dzienniku konsoli symulowanego ekspresu do kawy.

    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. Ustaw tryb konserwacji, wybierając polecenie Uruchom na stronie Polecenia. Ekspres do kawy zostanie ustawiony na konserwację, jeśli nie jest jeszcze w trybie konserwacji.

    Poszukaj komunikatów potwierdzenia w dzienniku konsoli ekspresu do kawy.

    Uwaga

    Podobnie jak w rzeczywistości, gdy technik przełącza urządzenie w tryb offline w celu wykonania niezbędnych napraw, zanim ponownie przełączy je w tryb online, ekspres do kawy pozostaje w trybie konserwacji aż do ponownego uruchomienia kodu klienta.

    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
    

Wyświetlanie danych telemetrycznych dotyczących ekspresu do kawy

Przejdź do strony Telemetria dla ekspresu do kawy. Ta strona została zdefiniowana podczas tworzenia szablonu urządzenia:

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

Ważne

Zaleca się uruchomienie aplikacji języka C# nie więcej niż 60 minut, aby zapobiec wysyłaniu niechcianych powiadomień/wiadomości e-mail przez aplikację. Zatrzymanie aplikacji, gdy nie pracujesz z modułem, zapobiega także wyczerpaniu dziennego limitu przydziału komunikatów. Możesz dodać flagę, aby zdefiniować czas działania aplikacji: dotnet run -n [TimeInSeconds].