Öğretici: Azure IoT Central uygulamanızda yeni bir IoT ağ geçidi cihaz türü tanımlama

Bu öğreticide bir Akıllı Bina ağ geçidi cihaz şablonu oluşturacaksınız. Akıllı Bina ağ geçidi cihazının diğer aşağı akış cihazlarıyla ilişkileri vardır.

Ağ geçidi cihazı ile aşağı akış cihazları arasındaki ilişkiyi gösteren diyagram.

Ağ geçidi cihazı şunları da yapabilir:

  • Sıcaklık gibi kendi telemetri verilerini gönderin.
  • Bir işleç tarafından yapılan yazılabilir özellik güncelleştirmelerine yanıt verin. Örneğin, bir işleç telemetri gönderme aralığını değiştirebilir.
  • Cihazı yeniden başlatma gibi komutlara yanıt verin.

Bu öğreticide aşağıdakilerin nasıl yapılacağını öğreneceksiniz:

  • Aşağı akış cihaz şablonları oluşturma
  • Ağ geçidi cihaz şablonu oluşturma
  • Cihaz şablonunu yayımlama
  • Simülasyon cihazlarını oluşturma

Önkoşullar

Bu öğreticideki adımları tamamlamak için şunları yapmanız gerekir:

Aşağı akış cihaz şablonları oluşturma

Bu öğreticide, sanal aşağı akış cihazları oluşturmak için Başlangıç Hobo MX-100 Temp Sensor cihazı ve RS40 Doluluk Algılayıcısı cihazı için cihaz şablonları kullanılır.

Bir Küme Hobo MX-100 Geçici Algılayıcı cihazı için cihaz şablonu oluşturmak için:

  1. Sol bölmede Cihaz Şablonları'nı seçin. Ardından + Yeni'yi seçerek şablonu eklemeye başlayın.

  2. Set Hobo MX-100 Temp Sensor cihazının kutucuğunu görene kadar aşağı kaydırın. Kutucuğu ve ardından İleri: Gözden Geçir'i seçin.

  3. Cihaz şablonunu uygulamanıza eklemek için Gözden Geçir sayfasında Oluştur'u seçin.

RS40 Doluluk Algılayıcısı cihazı için cihaz şablonu oluşturmak için:

  1. Sol bölmede Cihaz Şablonları'nı seçin. Ardından + Yeni'yi seçerek şablonu eklemeye başlayın.

  2. Rigado RS40 Occupancy Sensor cihazının kutucuğunu görene kadar aşağı kaydırın. Kutucuğu ve ardından İleri: Gözden Geçir'i seçin.

  3. Cihaz şablonunu uygulamanıza eklemek için Gözden Geçir sayfasında Oluştur'u seçin.

Artık iki aşağı akış cihaz türü için cihaz şablonlarınız var:

Aşağı akış cihaz şablonlarını gösteren ekran görüntüsü.

Ağ geçidi cihaz şablonu oluşturma

Bu öğreticide, sıfırdan bir ağ geçidi cihazı için bir cihaz şablonu oluşturacaksınız. Bu şablonu daha sonra uygulamanızda bir sanal ağ geçidi cihazı oluşturmak için kullanırsınız.

Uygulamanıza yeni bir ağ geçidi cihaz şablonu eklemek için:

  1. Sol bölmede Cihaz Şablonları'nı seçin. Ardından + Yeni'yi seçerek şablonu eklemeye başlayın.

  2. Şablon türünü seçin sayfasında IoT Cihazı kutucuğunu ve ardından İleri: Özelleştir'i seçin.

  3. Cihazı özelleştir sayfasında Bu bir ağ geçidi cihazı onay kutusunu seçin.

  4. Şablon adı olarak Akıllı Bina ağ geçidi cihazı yazın ve ardından İleri: Gözden Geçir'i seçin.

  5. Gözden Geçir sayfasında Oluştur'u seçin.

  6. Model oluştur sayfasında Özel model kutucuğunu seçin.

  7. Özellik eklemek için + Yetenek ekle'yi seçin.

  8. Görünen ad olarak Veri Gönder yazın ve özellik türü olarak Özellik'i seçin.

  9. Şema türü olarak Boole değerini seçin, Yazılabilir'i açık olarak ayarlayın ve ardından Kaydet'i seçin.

İlişki ekleme

Ardından aşağı akış cihaz şablonlarının şablonlarına ilişkiler eklersiniz:

  1. Akıllı Bina ağ geçidi cihaz şablonunda İlişkiler'i seçin.

  2. + İlişki ekle'yi seçin. Görüntü adı olarak Çevre Algılayıcısı yazın ve hedef olarak Hobo MX-100'i seçin.

  3. + İlişki ekle'yi yeniden seçin. Görünen ad olarak Occupancy Sensor yazın ve hedef olarak RS40 Occupancy Sensor'u seçin.

  4. Kaydet'i seçin.

Ağ geçidi ilişkilerini gösteren ekran görüntüsü.

Bulut özelliklerini ekleme

Ağ geçidi cihaz şablonu bulut özelliklerini içerebilir. Bulut özellikleri yalnızca IoT Central uygulamasında bulunur ve hiçbir zaman bir cihaza gönderilmez veya cihazdan alınmaz.

Akıllı Bina ağ geçidi cihaz şablonuna bulut özellikleri eklemek için.

  1. Akıllı Bina ağ geçidi cihaz şablonunda Akıllı Bina ağ geçidi cihaz modeli'ni seçin.

  2. Ağ geçidi cihaz şablonunuza iki bulut özelliği eklemek için aşağıdaki tabloda yer alan bilgileri kullanın.

    Görünen ad Yetenek türü Anlam türü Şema
    Son Hizmet Tarihi Bulut özelliği Hiçbiri Tarih
    Müşteri Adı Bulut özelliği Hiçbiri String
  3. Kaydet'i seçin.

Görünüm oluşturma

Oluşturucu olarak, uygulamayı bir operatöre çevre algılayıcısı cihazı hakkında ilgili bilgileri görüntüleyecek şekilde özelleştirebilirsiniz. Özelleştirmeleriniz operatörün uygulamaya bağlı çevre algılayıcı cihazlarını yönetmesini sağlar. Bir operatörün cihazlarla etkileşim kurmak için kullanması için iki tür görünüm oluşturabilirsiniz:

  • Cihaz ve bulut özelliklerini görüntülemek ve düzenlemek için formlar.
  • Cihazları görselleştirmek için görünümler.

Akıllı Bina ağ geçidi cihaz şablonunun varsayılan görünümlerini oluşturmak için:

  1. Akıllı Bina ağ geçidi cihaz şablonunda Görünümler'i seçin.

  2. Varsayılan görünüm oluştur kutucuğunu seçin ve tüm seçeneklerin belirlendiğinden emin olun.

  3. Varsayılan pano görünümlerini oluştur'a tıklayın.

Cihaz şablonunu yayımlama

Sanal ağ geçidi cihazı oluşturabilmeniz veya gerçek bir ağ geçidi cihazına bağlanabilmeniz için önce cihaz şablonunuzu yayımlamanız gerekir.

Ağ geçidi cihaz şablonunu yayımlamak için:

  1. Cihaz şablonları sayfasından Akıllı Bina ağ geçidi cihaz şablonunu seçin.

  2. Yayımla'yı seçin.

  3. Cihaz Şablonu Yayımla iletişim kutusunda Yayımla'yı seçin.

Cihaz şablonu yayımlandıktan sonra Cihazlar sayfasında ve işleçte görünür. Operatör, cihaz örnekleri oluşturmak veya kurallar ve izleme oluşturmak için şablonu kullanabilir. Yayımlanmış bir şablonu düzenlemek uygulama genelinde davranışı etkileyebilir.

Bir cihaz şablonunu yayımladıktan sonra değiştirme hakkında daha fazla bilgi edinmek için bkz . Mevcut cihaz şablonunu düzenleme.

Simülasyon cihazlarını oluşturma

Bu öğreticide sanal aşağı akış cihazları ve sanal ağ geçidi cihazı kullanılır.

Sanal ağ geçidi cihazı oluşturmak için:

  1. Cihazlar sayfasında, cihaz şablonları listesinde Akıllı Bina ağ geçidi cihazı'nı seçin.

  2. Yeni bir cihaz eklemeye başlamak için + Yeni'yi seçin.

  3. Oluşturulan Cihaz Kimliğini ve Cihaz adını koruyun. Sanal anahtarın Evet olduğundan emin olun. Oluştur'u belirleyin.

Sanal aşağı akış cihazları oluşturmak için:

  1. Cihazlar sayfasında, cihaz şablonları listesinde RS40 Doluluk Algılayıcısı'nı seçin.

  2. Yeni bir cihaz eklemeye başlamak için + Yeni'yi seçin.

  3. Oluşturulan Cihaz Kimliğini ve Cihaz adını koruyun. Sanal anahtarın Evet olduğundan emin olun. Oluştur'u belirleyin.

  4. Cihazlar sayfasında, cihaz şablonları listesinde Hobo MX-100'i seçin.

  5. Yeni bir cihaz eklemeye başlamak için + Yeni'yi seçin.

  6. Oluşturulan Cihaz Kimliğini ve Cihaz adını koruyun. Sanal anahtarın Evet olduğundan emin olun. Oluştur'u belirleyin.

Simülasyon cihazlarını gösteren ekran görüntüsü.

Ağ geçidi cihazına aşağı akış cihaz ilişkileri ekleme

Artık uygulamanızda sanal cihazlar olduğuna göre aşağı akış cihazları ile ağ geçidi cihazı arasındaki ilişkileri oluşturabilirsiniz:

  1. Cihazlar sayfasında, cihaz şablonları listesinde Hobo MX-100'e tıklayın ve ardından sanal Hobo MX-100 cihazınızı seçin.

  2. Ağ geçidine ekle'yi seçin.

  3. Ağ geçidine ekle iletişim kutusunda Akıllı Yapı ağ geçidi cihaz şablonunu seçin ve ardından daha önce oluşturduğunuz sanal örneği seçin.

  4. İliştir'i seçin.

  5. Cihazlar sayfasında, cihaz şablonları listesinde RS40 Doluluk Algılayıcısı'nı seçin ve ardından sanal RS40 Doluluk Algılayıcısı cihazınızı seçin.

  6. Ağ geçidine ekle'yi seçin.

  7. Ağ geçidine ekle iletişim kutusunda Akıllı Yapı ağ geçidi cihaz şablonunu seçin ve ardından daha önce oluşturduğunuz sanal örneği seçin.

  8. İliştir'i seçin.

Sanal aşağı akış cihazlarınızın her ikisi de artık sanal ağ geçidi cihazınıza bağlıdır. Ağ geçidi cihazınızın Aşağı Akış Cihazları görünümüne giderseniz ilgili aşağı akış cihazlarını görebilirsiniz:

Ağ geçidine bağlı cihazları gösteren ekran görüntüsü.

Gerçek aşağı akış cihazlarını Bağlan

İstemci uygulaması oluşturma ve Azure IoT Central uygulamanıza bağlama öğreticisinde örnek kod, cihaz şablonundaki model kimliğinin cihazın gönderdiği sağlama yüküne nasıl dahil yapılacağını gösterir.

Aşağı akış cihazı bağladığınızda, sağlama yükünü ağ geçidi cihazının kimliğini içerecek şekilde değiştirebilirsiniz. Model kimliği IoT Central'ın cihazı doğru aşağı akış cihaz şablonuna atamasını sağlar. Ağ geçidi kimliği, IoT Central'ın aşağı akış cihazı ile ağ geçidi arasındaki ilişkiyi kurmasını sağlar. Bu durumda, cihazın gönderdiği sağlama yükü aşağıdaki JSON gibi görünür:

{
  "modelId": "dtmi:rigado:HoboMX100;2",
  "iotcGateway":{
    "iotcGatewayId": "gateway-device-001"
  }
}

Ağ geçidi bir aşağı akış cihazı kaydedip sağlayabilir ve aşağı akış cihazını ağ geçidiyle aşağıdaki gibi ilişkilendirebilir:

var crypto = require('crypto');


var ProvisioningTransport = require('azure-iot-provisioning-device-mqtt').Mqtt;
var SymmetricKeySecurityClient = require('azure-iot-security-symmetric-key').SymmetricKeySecurityClient;
var ProvisioningDeviceClient = require('azure-iot-provisioning-device').ProvisioningDeviceClient;

var provisioningHost = "global.azure-devices-provisioning.net";
var idScope = "<The ID scope from your SAS group enrollment in IoT Central>";
var groupSymmetricKey = "<The primary key from the SAS group enrollment>";
var registrationId = "<The device ID for the downstream device you're creating>";
var modelId = "<The model you're downstream device should use>";
var gatewayId = "<The device ID of your gateway device>";

// Calculate the device key from the group enrollment key
function computeDerivedSymmetricKey(deviceId, masterKey) {
    return crypto.createHmac('SHA256', Buffer.from(masterKey, 'base64'))
        .update(deviceId, 'utf8')
        .digest('base64');
}

var symmetricKey = computeDerivedSymmetricKey(registrationId, groupSymmetricKey);

var provisioningSecurityClient = new SymmetricKeySecurityClient(registrationId, symmetricKey);

var provisioningClient = ProvisioningDeviceClient.create(provisioningHost, idScope, new ProvisioningTransport(), provisioningSecurityClient);

// Use the DPS payload to:
// - specify the device capability model to use.
// - associate the device with a gateway.
var provisioningPayload = {modelId: modelId, iotcGateway: { iotcGatewayId: gatewayId}}

provisioningClient.setProvisioningPayload(provisioningPayload);

provisioningClient.register(function(err, result) {
  if (err) {
    console.log("Error registering device: " + err);
  } else {
    console.log('The registration status is: ' + result.status)
   }
});

Kaynakları temizleme

Daha fazla IoT Central hızlı başlangıcını veya öğreticisini tamamlamayı planlamıyorsanız IoT Central uygulamanızı silebilirsiniz:

  1. IoT Central uygulamanızda Uygulama > Yönetimi'ne gidin.
  2. Sil'i seçin ve eyleminizi onaylayın.

Sonraki adım

Ardından, nasıl yapılacağını öğrenebilirsiniz: