Alıştırma - Simüle edilmiş kahve makinenizi uygulamaya Bağlan
Fiziksel bir cihazı bağlamadan önce senaryonuzu doğrulamak için, cihaz modelinde tanımlanan davranışları uygulayan bir cihaz simülatörü kullanın.
IoT özellikli kahve makineleri örneğinde su sıcaklığı ve nem gibi telemetri verilerini izlemek, makinenin durumunu gözlemlemek, en uygun sıcaklığı ayarlamak, garanti durumunu almak ve komut göndermek için IoT Central'a bir kahve makinesi simülatörü bağlayabileceğinizi unutmayın.
Burada C# uygulamasıyla bir cihazın simülasyonunu yapacak ve bunu Azure IoT Central uygulamasına bağlayacaksınız.
Kahve makinesini IoT Central'a ekleme
İlk olarak cihazı kaydedin:
- IoT Central uygulamanızda Cihazlar'a ve ardından + Yeni'ye gidin.
- Yeni cihaz oluştur formunda Cihaz Kimliği'niccm-001 ve Cihaz adınıBağlan ed Coffee Machine - 001 olarak değiştirin. Cihaz şablonunun Atanmamışve Bu cihazın Benzetimini Yap seçeneğinin Hayır olduğundan emin olun ve Oluştur'u seçin.
Bağlan ed Coffee Machine - 001 cihazı artık Kayıtlı durumu ve Şablonu Atanmamış olan cihazlar listesinde gösterilir. Önceki ünitede C# uygulama koduna baktık ve cihaz sağlanırken model kimliğinin gönderildiğini doğruladık. Bu, IoT Central'ın cihaz ilk kez bağlandığında doğru cihaz şablonunu atamasını sağlar.
Bağlantı bilgilerini alma
C# uygulamasını çalıştırmak için aşağıdaki yapılandırma değerlerine ihtiyacınız vardır:
Cihaz ayrıntılarını görüntülemek için cihaz listesinden Bağlan kahve makinesi - 001'i seçin.
Cihaz bağlantı grupları panelini açmak için Bağlan seçin.
Bu sayfayı açık tutun veya Kimlik kapsamı, Cihaz kimliği ve Birincil anahtar değerlerini not edin.
C# uygulaması tarafından kullanılan ortam değişkenlerini ayarlamak için Azure Cloud Shell'i kullanın.
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>
Ortam değişkenlerini yazdırın ve doğru tanımlandıklarını onaylayın.
printenv ID_SCOPE DEVICE_ID DEVICE_KEY
C# uygulaması oluşturma
Aşağıdaki adımlarda kahve makinesi cihaz simülatörünü uygulayan bir istemci uygulamasının nasıl oluşturulacağı gösterilmektedir.
Bahşiş
Bu alıştırmada C# uygulamasını Azure Cloud Shell'de oluşturarak yerel makinenize herhangi bir şey yüklemenize gerek olmayacaktır.
Aşağıdaki komutu Azure Cloud Shell'de yürüterek
coffee-maker
adlı bir klasör oluşturun ve oluşturduğunuz klasöre geçin:mkdir ~/coffee-maker cd ~/coffee-maker
Cloud Shell'de aşağıdaki komutu yürüterek klasörünüzdeki
coffee-maker
kaynak dosyaları indirin: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
Şu komutu Cloud Shell’de yürüterek uygulamayı başlatın:
dotnet run
Uygulamanın Cloud Shell penceresinde başlatıldığından ve Device successfully connected to Azure IoT Central (Cihaz Azure IoT Central'a başarıyla bağlandı) ve Telemetry send: (Telemetri gönderildi) iletilerinin göründüğünden emin olun.
Tebrikler! Uygulamanız çalışıyor ve IoT Central ile iletişim kurabiliyor!
Çalışmanızı denetleyin
Şu ana kadar bir Azure IoT Central uygulamasıyla çalıştınız ve kahve makinesini Azure IoT Central’a bağladınız. Uzak kahve makinenizi izlemeye ve yönetmeye başlama yolundasınız. Burada, daha önce tanımladığınız Bağlan Kahve Makinesi şablonunu kullanarak kurulumunuzu ve bağlantınızı doğrulamak için bir dakikanızı ayırın. Özellikler formunda en uygun sıcaklığı güncelleştirecek, makinenizin durumunu güncelleştirmek için komutları çalıştıracak ve bağlı kahve makinesi telemetrinizi görüntüleyeceksiniz.
Uygulamanızı kahve makinesiyle eşitlemek için özellikleri güncelleştirme
Uygulamanızdaki kahve makinesine yapılandırma verileri göndermek için, cihaz şablonunda tanımladığınız Özellikler formunu kullanın.
Azure IoT Central uygulamanızdaki Cihazlar sayfasına gidin.
Cihaz ayrıntılarını görüntülemek için cihaz listesinden ccm-001'i seçin.
Formu görüntülemek için Özellikler’i seçin.
En uygun sıcaklık olarak 95 girin. Ardından Kaydet'i seçin.
Özellik değiştirildiğinde, özellik Beklemede olarak işaretlenir: kahve makinesi ayar değişikliğini kabul edene kadar kullanıcı arabiriminde. Ardından özelliği Kabul Edildi: şimdi olarak işaretlenir.
Dekont
Ayarın başarıyla güncelleştirilmesi veri akışı gerçekleştiğini gösterir ve bağlantınızı doğrular. Telemetri ölçümleri, en uygun sıcaklık güncelleştirmesine yanıt verecektir.
Bulut özelliklerini güncelleştirme
Kahve makinesinin yapılandırma verilerini güncelleştirmek için, cihaz şablonunda tanımladığınız Özellikler formunu kullanın.
Azure IoT Central uygulamanızdaki Cihazlar sayfasına gidin.
Cihaz ayrıntılarını görüntülemek için cihaz listesinden ccm-001'i seçin.
Formu görüntülemek için Özellikler’i seçin.
Kahve Makinesi En Yüksek Sıcaklık (°C) olarak 99 ve Kahve Makinesi En Düşük Sıcaklık (°C) olarak 92 girin. Ardından Kaydet'i seçin.
Bulut özellikleri cihazla eşitlenmez, yalnızca IoT Central uygulamasında bulunur.
Kahve makinesinde komut çalıştırma
Bir sonraki alıştırma için cihazınızın Komutlar sayfasına gidin. Komut kurulumunu doğrulamak için IoT Central ile uzaktan kahve makinesinde komut çalıştırmanız gerekir. Komutlar başarılı olursa, onay iletileri kahve makinesinden geri gönderilir.
Çalıştır'ı seçerek uzaktan kahve hazırlamaya başlayın.
Kahve makinesi şu üç koşula uyulmuşsa başlar:
- Fincan algılandı
- Bakımda değil
- Zaten kahve hazırlanmakta değil
Dekont
Kahve hazırlamayı başarıyla başlattıktan sonra Telemetri sayfasında gösterildiği gibi makinenin durumu Kahve Hazırlanılıyor olarak değişir.
Simüle edilmiş kahve makinesinin konsol günlüğünde onay iletilerini arayın.
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
Komutlar sayfasında Çalıştır'ı seçerek bakım modunu ayarlayın. Kahve makinesi bakım modunda değilse bakım olarak ayarlanır.
Kahve makinesinin konsol günlüğünde onay iletilerini arayın.
Dekont
Gerçek hayatta teknisyenin gerekli onarımları gerçekleştirmek için makineyi çevrimdışı duruma alıp işi bittiğinde tekrar çevrimiçi yapması gibi, kahve makinesi de siz istemci kodunu yeniden başlatana kadar bakım modunda kalmaya devam eder.
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
Kahve makinesi telemetrisini görüntüleme
Kahve makinesi için Telemetri sayfasına gidin. Bu sayfayı cihaz şablonunu oluştururken tanımladınız:
Önemli
Uygulamanın size istenmeyen bildirimler/e-postalar göndermesini önlemek için C# uygulamasını en fazla 60 dakika çalıştırmanız önerilir. Modül üzerinde çalışmadığınızda uygulamayı durdurmak, günlük ileti kotasını doldurmanızı da önler. Uygulamanın çalışma zamanını tanımlamak için bir bayrak ekleyebilirsiniz: dotnet run -n [TimeInSeconds]
.