Alıştırma - Simüle edilmiş kahve makinenizi uygulamaya Bağlan

Tamamlandı

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.

Illustration that shows a Coffee machine.

Kahve makinesini IoT Central'a ekleme

İlk olarak cihazı kaydedin:

  1. IoT Central uygulamanızda Cihazlar'a ve ardından + Yeni'ye gidin.
  2. 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:

  1. Cihaz ayrıntılarını görüntülemek için cihaz listesinden Bağlan kahve makinesi - 001'i seçin.

  2. Cihaz bağlantı grupları panelini açmak için Bağlan seçin.

  3. Bu sayfayı açık tutun veya Kimlik kapsamı, Cihaz kimliği ve Birincil anahtar değerlerini not edin.

    Screenshot that shows device connection information.

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.

  1. 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
    
  2. 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
    
  3. Şu komutu Cloud Shell’de yürüterek uygulamayı başlatın:

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

  1. Azure IoT Central uygulamanızdaki Cihazlar sayfasına gidin.

  2. Cihaz ayrıntılarını görüntülemek için cihaz listesinden ccm-001'i seçin.

  3. Formu görüntülemek için Özellikler’i seçin.

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

  1. Azure IoT Central uygulamanızdaki Cihazlar sayfasına gidin.

  2. Cihaz ayrıntılarını görüntülemek için cihaz listesinden ccm-001'i seçin.

  3. Formu görüntülemek için Özellikler’i seçin.

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

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

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

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