Zephyrnet Logosu

LwM2M Kullanarak IoT Cihaz Yönetimi

Tarih:

LwM2M kullanarak IoT Cihaz Yönetimi
İllüstrasyon: © Herkes İçin IoT

Günümüz piyasasında, IOT cihazları farklı şekil ve şekillerde gelir. Her cihazın, belirli bir veri paketi yapısı ve özenle tasarlanmış bir cihaz yönetim katmanı ile birlikte gelen benzersiz bir iletişim yığını vardır. Şimdi, binlerce binada elektrik kullanımını ölçmek için yıllar boyunca çeşitli akıllı sayaç markalarını kullanan bir enerji dağıtımcısının mücadelesini hayal edin. Her sayaç, biçimlendirilmesi gereken farklı bir veri yapısıyla gelir. Farklı cihazları uzaktan yönetmek için belirli süreçlerin uygulanması ve cihazların ürün yazılımını güncellemek için belirli mekanizmaların devreye alınması gerekir.

Cihazlar LwM2M standardını kullandığında IoT entegratörleri, her cihazın verilerini benzer şekilde rapor ettiğinden emin olabilir. Konfigürasyonlar ve bellenim, kullanılan donanım, bellenim sürümü veya sensörlerden bağımsız olarak benzer sunucu komutları kullanılarak güncellenebilir. LwM2M'nin birlikte çalışabilirliği sağlayan üç temel bileşenini keşfedelim: standartlaştırılmış veri formatı, LwM2M mimarisi ve LwM2M işlemleri.

"Cihazlar LwM2M standardını kullandığında IoT entegratörleri, her cihazın verilerini benzer şekilde rapor ettiğinden emin olabilir."

-AV Sistemi

LwM2M Veri Formatı

LwM2M, tarafından geliştirilen bir uygulama katmanı iletişim protokolüdür. OMA SpecWorks IoT cihazlarının mesajlaşmasını ve cihaz yönetimini basitleştirmek için. Protokol, iletişim semantiğini, cihaz yönetim mekanizmalarını, kablosuz güncellemeleri (FOTA) ve telemetri veri toplamayı tanımlar ve kısıtlı kaynaklara sahip cihazlar için çok uygundur. LwM2M standardı, verilerin birlikte çalışabilirliğini gerçekleştirmek için yapılandırmaları, işlevleri ve sensörleri temsil eden IPSO Akıllı Nesneleri kullanır. IPSO Akıllı Nesneleri belirli bir şekilde yapılandırırken, hem LwM2M İstemcisinin hem de LwM2M Sunucusunun anlayabileceği bir dil oluşturulur. Bu dil nesneleri, nesne örneklerini ve kaynakları içerir.

#1: Nesneler

Nesneler, fiziksel bir bileşeni (sensör, LED veya aktüatör) veya mantıksal bir varlığı (tercih edilen radyo teknolojisi, sabit yazılım güncelleme yapılandırması veya güvenlik uygulaması gibi) temsil eder. Tüm nesneler bir nesne kimliği ile tanımlanır. LwM2M standardı, cihazın bir LwM2M sunucusuna bağlanması ve onunla iletişim kurması için gerekli kabul edilen üç zorunlu nesneyi tanımlar. Zorunlu nesneler şunlardır:

  1. Nesne Kimliği 0: LwM2M Güvenliği: İstemcide yapılandırılan LwM2M Sunucularına bağlantılar hakkında gizli bilgiler içerir.
  2. Nesne Kimliği 1: LwM2M Sunucusu: İstemcide yapılandırılan LwM2M Sunucularına yapılan bağlantılar hakkında gizli olmayan bilgiler içerir.
  3. Nesne Kimliği 3: Cihaz: Cihazla ilgili örneğin seri numarası ve donanım yazılımı sürümü gibi temel bilgileri içerir.

Zorunlu nesnelerin yanında ek nesneler uygulanabilir. Zorunlu olmayan nesnelere örnekler:

  • Nesne Kimliği 4: Bağlantı İzleme: Cihazın bağlantı durumu hakkında sinyal gücü ve ağ türü gibi bilgiler sağlar.
  • Nesne Kimliği 5: Donanım Yazılımı Güncellemesi: Uzaktan bellenim güncellemelerinin gerçekleştirilmesine izin verir.
  • Nesne Kimliği 6: Konum: Cihazın coğrafi konumu hakkında enlem ve boylam gibi bilgiler sağlar.
  • Nesne Kimliği 11: LwM2M APN Bağlantı Profili: Bir cihazın bir APN'ye bağlanmasını sağlar.
  • Nesne Kimliği 3303: Sıcaklık: Sıcaklık ölçümlerini bildirir.
  • Nesne Kimliği 3313: İvmeölçer: 1-3 eksenli bir ivme ölçeri temsil eder.

#2: Nesne Örnekleri

Bazı nesnelerin birden çok nesne örneği olabilir. Bu tür nesnelere örnek olarak, birden çok LwM2M Sunucusu yapılandırılabileceğinden LwM2M Sunucularına bağlantıları yöneten nesne veya birden çok LwMXNUMXM Sunucusu içeren cihazlar yer alır. SIM'ler farklı APN profilleri ile. Cihazlar birden çok özdeş sensör içerdiğinde, farklı sensörleri ayırt etmek için nesne örnekleri kullanılır.

#3: Kaynaklar

Kaynaklar, bir nesnenin okunabilen, yazılabilen veya yürütülebilen belirli özelliklerini temsil eder. Her kaynak, benzersiz bir kaynak kimliği ile tanımlanır. Örneğin, bir sıcaklık nesnesi, kaynağın geçerli sıcaklığına, bir ölçü birimine ve bir zaman damgasına sahiptir. Benzer şekilde, cihaz nesnesi, üretici adı, seri numarası ve üretici yazılımı sürümü gibi kaynaklara sahiptir. Konum nesnesi, kaynağın enlemi, boylamı ve rakımına sahiptir. Nesnelerin ve kaynakların tüm detayları, OMA Kaydı. OMA Kayıt Defterinde belirli bir özellik veya sensör listelenmemişse, özel nesnenizi tanımlama olasılığı da vardır.

Her kaynak bir tanımlayıcı, bir tür (float, string, int, opak) ve izin verilen sunucu işlemlerini (READ, WRITE veya EXECUTE gibi) içerir. Birkaç örneğe bir göz atalım.

Örnekler

Cihaz nesnesi tanımlayıcı 3 ile temsil edilir ve kaynaklar şunları içerir:

kaynak kimliği Kaynak adı Sunucu İşlemi Tip
0 Üretici firma Okumak dizi
1 Model numarası Okumak dizi
3 Ürün Yazılımı Sürümü Okumak dizi
4 Reboot çalıştırılabilir -
13 Şimdiki zaman yazılabilir Zaman
Cihaz Nesnesi

Sıcaklık nesnesi tanımlayıcı ile temsil edilir 3303ve kaynaklar şunları içerir:

kaynak kimliği Kaynak adı Sunucu İşlemi Tip
5700 Sensör Değeri Okumak Şamandıra
5701 Sensör Üniteleri Okumak dizi
5518 Zaman Damgası Okumak Zaman
Sıcaklık Nesnesi

Veri gönderirken, her mesaj şu şekilde biçimlendirilir: / / =

En son sıcaklık verilerini göndermek için şöyle görünebilir: 3303/0/5700 = 23.5

Bant genişliğini optimize etmek için, veriler genellikle alan açısından verimli bir ikili yüke kodlanır. Veriler düz JSON ile gönderilebilse de, yük boyutunu azaltmak için CBOR veya SenML kullanmak daha yaygındır.

LwM2M veri formatını kullanarak Enlem ve Boylam gönderme

Kaynak Örnekleri

Bazı durumlarda, kaynakların birden çok kaynak örneği vardır. Örneğin, Cihaz nesnesi 3, kaynak 6'yı içerir: Kullanılabilir Güç Kaynakları. Farklı örnekler, farklı güç kaynaklarını tanımlar:

0: DC gücü
1: Dahili Batarya
2: Harici Batarya
3: Yakıt Pili
4: Ethernet Üzerinden Güç
5: USB
6: AC (Şebeke) gücü
7: Güneş

Güneş enerjisinin kullanılabilirliğini açıklamak için mesaj biçimi şu şekilde olur: 3/0/6/7.

LwM2M Mimarisi: İstemci ve Sunucu

LwM2M mimarisi, LwM2M İstemcisi ve LwM2M Sunucusundan oluşur. İletişim, kullanılan (kablosuz) teknolojiden bağımsız olarak çalışır ve hem IP hem de IP olmayan ağlar üzerinde çalışabilir. Popüler IP teknolojileri arasında WiFi ve hücresel bulunur. IP dışı, Bluetooth, LoRaWAN veya Wirepas'ı içerir. IP olmayan ağlar, IEEE 802.15.4 (6LoWPAN) ağları kullanılarak adreslenebilir. Örneğin, Bluetooth üzerinden bir iş parçacığı çalıştırarak. 

LwM2M standardı, cihazların bulutla kolayca iletişim kurmasını sağlamak için CoAP protokolünü kullanır. CoAP'yi HTTP protokolü olarak düşünün, ancak kısıtlı kaynaklara sahip cihazlar için tasarlanmıştır. Her iki protokol de IoT uygulamalarında yaygın olarak kullanıldığından, CoAP genellikle MQTT ile karşılaştırılır. Önemli bir fark, CoAP'nin varsayılan olarak UDP kullanması, MQTT'nin ise TCP'ye dayanmasıdır. UDP'nin küçük ek yükü, TCP ile karşılaştırıldığında genellikle bir avantaj olarak görülür. CoAP, TCP ile kullanılabilse de, ağ kaynaklarının etkin kullanımı bir öncelik olduğunda genellikle UDP tercih edilir.

Popüler LwM2M İstemcileri arasında Anjay (avSystem tarafından sağlanır) ve Zephyr LwM2M İstemcisi (Zephyr Projesi tarafından sağlanır) bulunur. AVSystem tarafından sağlanan LwM2M Sunucusuna Coiote adı verilir ve cihaz verilerini, yapılandırmaları ve üretici yazılımı güncellemelerini işlemek için kullanılabilir.

LwM2M İstemcisi uç cihazda çalışır ve güvenli bir bağlantı kullanarak LwM2M sunucusuyla iletişim kurar. İstemci, sunucuya ilk bağlantısı sırasında ve periyodik durum güncellemeleri sırasında desteklenen nesneler ve kaynaklar hakkında bilgi verir. Cihazın kullanım ömrü boyunca istemci, sunucuya LwM2M standardı tarafından tanımlandığı şekilde biçimlendirilmiş telemetri verileriyle bir bildirim gönderir. Tüm veriler, daha fazla işlenebileceği veya Azure IoT Hub veya AWS IoT Core gibi platformların belirli veritabanlarına iletilebileceği LwM2M Sunucusu tarafından yakalanır ve depolanır.

LwM2M İşlemleri

LwM2M protokolünün üçüncü temel özelliği, hem istemciden hem de sunucudan başlatılabilen işlemlerdir. İstemci işlemleri, sunucuyu telemetri verileri veya cihazların durumu hakkında bilgilendirmek için kullanılır. Sunucu işlemleri, verileri okumak veya yazmak ya da cihaz yapılandırmalarını veya ürün yazılımını zaman içinde uzaktan güncellemek için kullanılır. İki arayüz ayırt edilebilir: Bilgi Raporlama Arayüzü ve Cihaz Yönetim Arayüzü.

#1: Bilgi Raporlama Arayüzü

LwM2M İstemcisi, istemci tarafından başlatılan telemetri verileri veya durum değişiklikleri hakkında sunucuyu gerçek zamanlı olarak bilgilendirebilir. Sunucu ayrıca, cihazın periyodik aralıklarla veya değerler belirli bir eşiği aştığında (örn. sıcaklık 30 derecenin üzerine çıktığında) veri göndermesini isteyerek cihazın davranışını tanımlayabilir. Bu, şu işlemler kullanılarak gerçekleştirilebilir: GÖZLEMLE, GÖNDER ve BİLDİR.

  • GÖZLEMEK: Gözlem işlemi çağrıldığında, İstemci yapılandırılabilir aralıklarla verileri veya durumu hakkında Sunucuya NOTIFY mesajları göndermeye başlayacaktır. GÖZLEM işlemi, gönderirken de iptal edilebilir. GÖZLEMİ İPTAL ET.
  • GÖNDER: GÖNDER mesajı, İstemci tarafından açık bir istek olmadan sunucuya veri göndermek için kullanılır. Uygulama sabit yazılımına bağlı olarak, yeni ölçümleri raporlamak veya sunucuyu telemetri verileri veya durumundaki bir değişiklik hakkında bilgilendirmek için kullanılabilir.
  • NOTIFY: Sunucudan başlatılan GÖZLEM işlemine yanıt olarak istemci, verilerle BİLDİRİM işlemleri gönderir. Genellikle sunucu, istemcinin verilerini göndermesi gereken bir bant genişliği sağlar. Örneğin En az 1 saatte bir, ancak her 15 dakikada bir defadan fazla olamaz.

#2: Cihaz Yönetim Arayüzü

Cihaz Yönetimi Arayüzü, sunucunun LwM2M İstemcisi ile uzaktan bağlanmasına ve yapılandırmasını, yazılımını, güvenliğini vb. yönetmesine olanak tanır. Arayüz, tümü Sunucu tarafından başlatılan bir dizi standartlaştırılmış işlemle birlikte gelir.

  • KEŞFEDİN: İstemci tarafından desteklenen nesnelerin ve kaynakların listesinin alınması.
  • OKU: Belirli bir kaynağın veya bir nesnenin bir bütün olarak geçerli değerini alma.
  • YAZ: Belirli bir kaynağın veya bir nesnenin tamamının değerini değiştirme.
  • UYGULA: Bir kaynak üzerinde bir eylemi veya işlemi çağırmak. Örneğin, bir cihaza üretici yazılımını sıfırlaması, yeniden başlatması veya yükseltmesi talimatını vermek.
  • CREATE: Yeni bir nesne örneği oluşturma.
  • SİL: Bir nesne örneğini silme.

LwM2M ile Basitleştirin

IoT ortamı parçalanmıştır ve kablosuz teknolojiler, mesajlaşma protokolleri ve veri biçimleri arasında gezinirken kaybolmak kolaydır. LwM2M, standardizasyon ve birlikte çalışabilirlik yoluyla bağlantılı dünyayı basitleştirmeyi vaat ediyor. Bu, cihazın dijital temsilinin oluşturulmasına izin veren, önceden tanımlanmış tanımlayıcılara sahip IPSO Akıllı Nesnelerin bir sonucu olarak gerçekleştirilir. Standartlaştırılmış veri formatı, herhangi bir LwM2M Sunucusunun verileri kolayca yorumlamasını sağlar. İstemci-sunucu mimarisi, uç cihazlar ve web arasında veri akışının nasıl olduğunu belirtir. Son olarak, önceden tanımlanmış işlemler, cihazların veri göndermesini ve zaman içinde yeniden yapılandırılmasını sağlar.

spot_img

En Son İstihbarat

spot_img