Gyakorlat – szimulált kávégép Csatlakozás az alkalmazáshoz
A forgatókönyv fizikai eszköz csatlakoztatása előtt történő ellenőrzéséhez használjon egy eszközszimulátort, amely megvalósítja az eszközmodellben meghatározott viselkedéseket.
Ne feledje, hogy az IoT-kompatibilis kávégép-példában egy kávégép-szimulátort fog csatlakoztatni az IoT Centralhoz a telemetriai adatok, például a vízhőmérséklet és a páratartalom monitorozásához, a gép állapotának megfigyeléséhez, az optimális hőmérséklet beállításához, a jótállási állapot fogadásához és a parancsok küldéséhez.
Itt egy C#-alkalmazással szimulálhat egy eszközt, és csatlakoztathatja az Azure IoT Central-alkalmazáshoz.
Kávégép hozzáadása az IoT Centralhoz
Először regisztrálja az eszközt:
- Az IoT Central-alkalmazásban keresse meg az Eszközök , majd az Új lehetőséget.
- Az új eszközűrlapon módosítsa az eszközazonosítótccm-001-re, az eszköz nevét pedig Csatlakozás kávégép - 001-esre. Győződjön meg arról, hogy az eszközsablon nincs hozzárendelve, és az eszközszimulálása nem, majd válassza a Létrehozás lehetőséget.
A Csatlakozás kávéfőző – 001 eszköz mostantól megjelenik a regisztrált és a nem hozzárendelt sablon állapotú eszközök listájában. Az előző leckében megvizsgáltuk a C#-alkalmazás kódját, és meggyőződtünk arról, hogy a rendszer elküldi a modellazonosítót az eszköz kiépítésekor. Ez lehetővé teszi, hogy az IoT Central a megfelelő eszközsablont rendelje hozzá az eszköz első csatlakoztatásakor.
Kapcsolatadatok lekérése
A C#-alkalmazás futtatásához a következő konfigurációs értékekre van szükség:
Válassza Csatlakozás kávégép – 001 lehetőséget az eszközök listájában az eszköz részleteinek megtekintéséhez.
Válassza a Csatlakozás az Eszközkapcsolatcsoportok panel megnyitásához.
Tartsa megnyitva ezt a lapot, vagy jegyezze fel az azonosító hatókörét, az eszköz azonosítóját, és az elsődleges kulcs értékét.
Az Azure Cloud Shell használatával állítsa be a C#-alkalmazás által használt környezeti változókat.
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>
Nyomtassa ki a környezeti változókat, és ellenőrizze, hogy helyesen vannak-e definiálva.
printenv ID_SCOPE DEVICE_ID DEVICE_KEY
C#-alkalmazás létrehozása
Az alábbi lépések bemutatják, hogyan hozhat létre egy ügyfélalkalmazást, amely implementálja a kávégép-eszközszimulátort.
Tipp.
Ebben a gyakorlatban az Azure Cloud Shellben hozza létre a C# alkalmazást, hogy ne kelljen semmit telepítenie a helyi gépére.
Hajtsa végre az alábbi parancsot az Azure Cloud Shellben, így létrehozhatja és megnyithatja a(z)
coffee-maker
mappát:mkdir ~/coffee-maker cd ~/coffee-maker
Hajtsa végre a következő parancsot a Cloud Shellben a mappában lévő forrásfájlok letöltéséhez
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
Az alkalmazás indításához futtassa az alábbi parancsot a Cloud Shellben:
dotnet run
A Cloud Shell ablakában a következő üzenetekkel ellenőrizze, hogy az alkalmazás elindult-e: Eszköz sikeresen csatlakoztatva az Azure IoT Centralhoz, valamint Telemetria küldése:.
Gratulálunk! Az alkalmazás működik, és kommunikál az Azure IoT Centrallal.
Ellenőrizze munkáját
Mostanra dolgozott már az Azure IoT Central alkalmazással, és csatlakoztatta a kávégépét az Azure IoT Centralhoz. Már úton van a távoli kávégép monitorozásához és kezeléséhez. Itt szánjon egy kis időt a beállítás és a kapcsolat ellenőrzésére a korábban definiált Csatlakozás kávégép-sablon használatával. A Tulajdonságok űrlapon frissítse az optimális hőmérsékletet, futtasson parancsokat a gép állapotának frissítéséhez, és tekintse meg a csatlakoztatott kávéfőző telemetriai adatait.
A tulajdonságok frissítése az alkalmazás kávégéppel való szinkronizálásához
Használja az eszközsablonban meghatározott Tulajdonságok űrlapot a konfigurációs adatoknak az alkalmazásból a kávéfőzőnek való elküldéséhez.
Lépjen az Azure IoT Central-alkalmazás Eszközök oldalára.
Válassza a ccm-001 elemet az eszközök listájából az eszköz részleteinek megtekintéséhez.
Válassza a Tulajdonságok elemet az űrlap megtekintéséhez.
Optimális hőmérsékletnek írja be a 95 értéket. Ezután válassza a Mentés gombra.
A tulajdonság módosításakor a tulajdonság Függőben állapotúként van megjelölve: most a felhasználói felületen, amíg a kávégép nem nyugtázza a beállítás módosítását. A tulajdonság ezután Elfogadásként van megjelölve: most.
Megjegyzés:
A beállításokban megjelenő sikeres frissítés azt jelzi, hogy áramlanak az adatok, és érvényes a kapcsolat. A telemetriai mérésekben látható az optimális hőmérséklet frissítése.
Felhőtulajdonságok frissítése
Használja az eszközsablonban meghatározott Tulajdonságok űrlapot a kávéfőző konfigurációs adatainak frissítéséhez.
Lépjen az Azure IoT Central-alkalmazás Eszközök oldalára.
Válassza a ccm-001 elemet az eszközök listájából az eszköz részleteinek megtekintéséhez.
Válassza a Tulajdonságok elemet az űrlap megtekintéséhez.
Adja meg a 99-et a Kávéfőző maximális hőmérsékleteként (°C) és 92-et a Kávéfőző minimális hőmérsékleteként (°C). Ezután válassza a Mentés gombra.
A felhőtulajdonságok nincsenek szinkronizálva az eszközzel, csak az IoT Central alkalmazásban léteznek.
Parancsok futtatása a kávégépen
Navigáljon a következő gyakorlat eszközének Parancsok lapjára. A parancsok beállításának ellenőrzéséhez távolról futtasson parancsokat a kávégépen az IoT-központból. Ha a parancsok sikeresek voltak, a kávéfőzőtől megerősítő üzeneteket kap.
Indítsa el távolról a főzést a Futtatás paranccsal.
A kávéfőző akkor indul el, ha ez a három feltétel teljesül:
- Csésze észlelve
- Nincs karbantartás alatt
- Még nem főz
Megjegyzés:
Ha sikeresen elindította a főzést, a gép állapota Főz értékre vált a Telemetria lapon.
Keressen megerősítő üzeneteket a szimulált kávéfőző konzoljának naplójában.
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
Állítsa be a karbantartási módot a Parancsok lap Futtatás parancsával. A kávéfőző akkor lesz karbantartásra állítva, ha még nincs karbantartási módban.
A megerősítő üzeneteket a kávéfőző konzolnaplójában keresheti meg.
Megjegyzés:
Ahogy a valós életben a technikus offline állapotba helyezi a gépet a szükséges javítások elvégzése idejére, a kávégép is karbantartási módban marad, amíg nem indítja újra az ügyfélkódot.
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
A kávéfőző telemetriai adatainak megtekintése
Navigáljon a kávéfőző Telemetria lapjára. Ezt a lapot az eszközsablon létrehozásakor definiálta:
Fontos
Javasoljuk, hogy legfeljebb 60 percig futtassa a C#-alkalmazást, hogy megakadályozza, hogy az alkalmazás nemkívánatos értesítéseket/e-maileket küldjön Önnek. Ha leállítja az alkalmazást, amikor nem a modulban dolgozik, szintén meggátolja a napi üzenetkvóta kimerítését. Hozzáadhat egy jelölőt az alkalmazás futási idejének meghatározásához: dotnet run -n [TimeInSeconds]
.