Önceden yapılandırılmış uzaktan izleme çözümündeki cihaz bilgileri meta verileri
Önceden yapılandırılmış Azure IoT Paketi uzaktan izleme çözümü, cihaz meta verilerini yönetmek için bir yaklaşım gösterir. Bu makalede, bu çözümün anlamanıza olanak tanımak için yaklaşımı özetlenir:
- Çözüm hangi cihaz meta verilerini depolar?
- Çözümün cihaz meta verilerini yönetme şekli.
Bağlam
Önceden yapılandırılmış uzaktan izleme çözümü, cihazlarınızın buluta veri göndermesini sağlamak için Azure IoT Hub kullanır. Çözüm, cihazlar hakkındaki bilgileri üç farklı konumda depolar:
Konum | Depolanan bilgiler | Uygulama |
---|---|---|
Kimlik kayıt defteri | Cihaz kimliği, kimlik doğrulama anahtarları, etkin durum | yerleşik olarak IoT Hub |
Cihaz ikizleri | Meta veriler: bildirilen özellikler, istenen özellikler, etiketler | yerleşik olarak IoT Hub |
Cosmos DB | Komut ve yöntem geçmişi | Çözüm için özel |
IoT Hub, IoT hub'ına erişimi yönetmek için bir cihaz kimliği kayıt defteri içerir ve cihaz meta verilerini yönetmek için cihaz ikizlerini kullanır. Komut ve yöntem geçmişini depolayan uzaktan izleme çözümüne özgü bir cihaz kayıt defteri de vardır. Uzaktan izleme çözümü, komut ve yöntem geçmişi için özel bir depo uygulamak üzere Cosmos DB veritabanı kullanır.
Not
Önceden yapılandırılmış uzaktan izleme çözümü, cihaz kimliği kayıt defterini Cosmos DB veritabanındaki bilgilerle eşitlenmiş durumda tutar. Her ikisi de IoT hub'ınıza bağlı her cihazı benzersiz olarak tanımlamak için aynı cihaz kimliğini kullanır.
Cihaz meta verileri
IoT Hub, uzaktan izleme çözümüne bağlı her sanal ve fiziksel cihaz için bir cihaz ikizi tutar. Çözüm, cihazlarla ilişkili meta verileri yönetmek için cihaz ikizlerini kullanır. Cihaz ikizi, IoT Hub tarafından tutulan bir JSON belgesidir ve çözüm, cihaz ikizleriyle etkileşime geçmek için IoT Hub API'sini kullanır.
Cihaz ikizi üç tür meta veri depolar:
- Bildirilen özellikler bir cihaz tarafından IoT hub'ına gönderilir. Uzaktan izleme çözümünde, simülasyon cihazları bildirilen özellikleri başlatma sırasında ve Cihaz durumu komutlarını ve yöntemlerini değiştir'e yanıt olarak gönderir. Bildirilen özellikleri çözüm portalındaki Cihaz listesinde ve Cihaz ayrıntıları'nda görüntüleyebilirsiniz. Bildirilen özellikler salt okunur.
- İstenen özellikler cihazlar tarafından IoT hub'ından alınır. Cihazda gerekli yapılandırma değişikliklerini yapmak cihazın sorumluluğundadır. Değişikliği hub'a bildirilen bir özellik olarak bildirmek de cihazın sorumluluğundadır. çözüm portalı aracılığıyla istediğiniz özellik değerini ayarlayabilirsiniz.
- Etiketler yalnızca cihaz ikizinde bulunur ve hiçbir zaman bir cihazla eşitlenmez. Etiket değerlerini çözüm portalında ayarlayabilir ve cihaz listesini filtrelerken kullanabilirsiniz. Çözüm ayrıca çözüm portalında bir cihaz için görüntülenecek simgeyi tanımlamak için bir etiket kullanır.
Simülasyon cihazlarından bildirilen özelliklere örnek olarak üretici, model numarası, enlem ve boylam verilebilir. Sanal cihazlar ayrıca desteklenen yöntemlerin listesini bildirilen bir özellik olarak döndürür.
Not
Sanal cihaz kodu, IoT Hub’ına geri gönderilen bildirilen özellikleri güncelleştirmek üzere yalnızca istenen Desired.Config.TemperatureMeanValue ve Desired.Config.TelemetryInterval özelliklerini kullanır. Diğer tüm istenen özellik değişiklik istekleri yoksayılır.
Cihaz kayıt defteri Cosmos DB veritabanında depolanan cihaz bilgileri meta verileri JSON belgesi aşağıdaki yapıya sahiptir:
{
"DeviceProperties": {
"DeviceID": "deviceid1",
"HubEnabledState": null,
"CreatedTime": "2016-04-25T23:54:01.313802Z",
"DeviceState": "normal",
"UpdatedTime": null
},
"SystemProperties": {
"ICCID": null
},
"Commands": [],
"CommandHistory": [],
"IsSimulatedDevice": false,
"id": "fe81a81c-bcbc-4970-81f4-7f12f2d8bda8"
}
Not
Cihaz bilgileri, cihazın IoT Hub gönderdiği telemetriyi açıklayan meta verileri de içerebilir. Uzaktan izleme çözümü, panonun dinamik telemetriyi görüntüleme biçimini özelleştirmek için bu telemetri meta verilerini kullanır.
Yaşam döngüsü
Çözüm portalında ilk kez bir cihaz oluşturduğunuzda, çözüm Cosmos DB veritabanında komut ve yöntem geçmişini depolamak için bir giriş oluşturur. Bu noktada çözüm, cihaz kimlik kayıt defterinde cihaz için bir giriş de oluşturur ve bu giriş, cihazın IoT Hub kimlik doğrulaması için kullandığı anahtarları oluşturur. Ayrıca bir cihaz ikizi oluşturur.
Bir cihaz çözüme ilk kez bağlandığında bildirilen özellikleri ve cihaz bilgileri iletisini gönderir. Bildirilen özellik değerleri otomatik olarak cihaz ikizine kaydedilir. Bildirilen özellikler arasında cihaz üreticisi, model numarası, seri numarası ve desteklenen yöntemlerin listesi yer alır. Cihaz bilgileri iletisi, herhangi bir komut parametresiyle ilgili bilgiler de dahil olmak üzere cihazın desteklediği komutların listesini içerir. Çözüm bu iletiyi aldığında Cosmos DB veritabanındaki cihaz bilgilerini güncelleştirir.
Çözüm portalında cihaz bilgilerini görüntüleme ve düzenleme
Çözüm portalındaki cihaz listesi varsayılan olarak şu cihaz özelliklerini sütunlar olarak görüntüler: Durum, DeviceId, Üretici, Model Numarası, Seri Numarası, Üretici Yazılımı, Platform, İşlemci ve Yüklü RAM. Sütun düzenleyicisi'ne tıklayarak sütunları özelleştirebilirsiniz. Cihaz özellikleri Enlem ve Boylam , panodaki Bing Haritası'ndaki konumu belirler.
Çözüm portalındaki Cihaz Ayrıntıları bölmesinde, istediğiniz özellikleri ve etiketleri düzenleyebilirsiniz (bildirilen özellikler salt okunur).
Çözüm portalı kullanarak bir cihazı çözümünüzden kaldırabilirsiniz. Bir cihazı kaldırdığınızda, çözüm cihaz girişini kimlik kayıt defterinden kaldırır ve ardından cihaz ikizini siler. Çözüm, cihazla ilgili bilgileri Cosmos DB veritabanından da kaldırır. Bir cihazı kaldırabilmeniz için devre dışı bırakmanız gerekir.
Cihaz bilgileri ileti işleme
Bir cihaz tarafından gönderilen cihaz bilgileri iletileri telemetri iletilerinden farklıdır. Cihaz bilgileri iletileri, bir cihazın yanıt verebileceği komutları ve tüm komut geçmişini içerir. IoT Hub, bir cihaz bilgi iletisinde yer alan meta veriler hakkında bilgi sahibi değildir ve iletiyi cihazdan buluta iletiyi işlediği şekilde işler. Uzaktan izleme çözümünde, bir Azure Stream Analytics (ASA) işi IoT Hub gelen iletileri okur. DeviceInfo akış analizi işi, "ObjectType": "DeviceInfo" içeren iletiler için filtreler ve bunları bir web işinde çalışan EventProcessorHost konak örneğine iletir. EventProcessorHost örneğindeki mantık, belirli bir cihaz için Cosmos DB kaydını bulmak ve kaydı güncelleştirmek için cihaz kimliğini kullanır.
Not
Cihaz bilgileri iletisi standart bir cihazdan buluta iletidir. Çözüm, ASA sorgularını kullanarak cihaz bilgi iletileriyle telemetri iletilerini birbirinden ayırır.
Sonraki adımlar
Artık önceden yapılandırılmış çözümleri nasıl özelleştirebileceğinizi öğrendiniz. Önceden yapılandırılmış IoT Paketi çözümlerinin diğer bazı özelliklerini ve özelliklerini keşfedebilirsiniz: