IoT cihaz ayarlarını yapılandırma protokolü


9

MQTT, son cihaz ile ana bilgisayar hizmeti arasında uygulama verilerinin alışverişi söz konusu olduğunda IoT'de yaygın olarak kullanılmaktadır. Yayınlama-abone olma modeli kullanımı kolaylaştırır: el sıkışma, müzakere vb. (En azından MQTT protokol katmanının üstünde). Öncelikle veri üreticilerinin verilerini tüketicilere kolayca dağıtabilmelerine yöneliktir.

Ancak, son cihazda ayarları yapılandırmak isteyen merkezi bir sunucu söz konusu olduğunda, modelin çok uygun olduğundan emin değilim. Sunucu, cihaza bir komut göndermek ve MQTT'nin yayınla abone olma modeline tam olarak uymayan bir yanıt geri beklemek isteyecektir (örn. Belirli bir ayarı okuyun, yanıt için bekleyin).

Komut göndermek ve almak ve uzak cihazları yapılandırmak için var olan herhangi bir protokol olup olmadığını merak ediyordum?


1
MQTT'nin istemcinin bir kontrol kanalına abone olmasına izin vermediğinden emin misiniz? Bu cevap arıyor başlamak için yer olduğunu düşünüyorum, ama bir cevap yukarı-hız Sumarise yeterince iyi değilim en.wikipedia.org/wiki/Representational_state_transfer
Sean Houlihane

1
Unutmayın, bitiş noktası kanalı başlatan olmalıdır, bu yüzden güç tüketimini kontrol eder.
Sean Houlihane

1
@SeanHoulihane Açıkladığınız gibi komutları / ayarları göndermek ve almak için MQTT kullanmak kesinlikle mümkündür, ancak benim gördüğüm şekilde, ideal olarak "oturum tabanlı" bir protokole ihtiyacınız vardır, yani oturum oluşturursunuz, bir komut gönderirsiniz ve aynı oturumda bir yanıt almak, böylece yanıtı kolayca orijinal komuta bağlamak. MQTT ileti tabanlıdır, bu nedenle iletileri birbirine bağlamak için hiçbir şey yoktur - bu kısmı ele almak size kalmıştır. Bu amaçla kullanabileceğim bir protokol olup olmadığını merak ediyordum.
Amr Bekhit

1
en.wikipedia.org/wiki/OMA_LWM2M Tam olarak nasıl olduğundan emin değilim, ancak bulut istemcide geri aramayı tetiklemek için PUT veya POST çağrıları yapabiliyor gibi görünüyor.
Sean Houlihane

MQTTv5, bir iletiyi önceki iletiye yanıt olarak işaretlemek için başlık alanlarına sahiptir.
hardillb

Yanıtlar:


6

CoAP için bir iş gibi geliyor :

HTTP gibi CoAP da çılgınca başarılı REST modelini temel alır: Sunucular bir URL altında kaynakları kullanılabilir hale getirir ve istemciler GET, PUT, POST ve DELETE gibi yöntemleri kullanarak bu kaynaklara erişir.

Geliştirici bakış açısından, CoAP HTTP'ye çok benziyor. Bir sensörden değer elde etmek, bir Web API'sından değer elde etmekten çok farklı değildir.

Görünüşe göre çok düşük ek yük ile uygulanabilir :

CoAP, 10 KiB RAM ve 100 KiB kod alanına sahip mikrodenetleyiciler üzerinde çalışacak şekilde tasarlanmıştır

CoAP, RFC 7252'de belirtilmiştir ve çeşitli uygulamalar vardır (örneğin, C'de ).

Web API'leri için HTTP ile kullanıldığı gibi REST'ten çok fazla ilham alıyor, bu yüzden bunlara aşina iseniz, hızlı bir şekilde CoAP'ı alacaksınız. Değilse, bu sunuyu bağlam için yararlı bulabilirsiniz . Fikir her HTTP yöntemi örneğin bir semantik anlama sahip olmasıdır GETşey değişen ve olmadan cihazdan bilgi ister POST, PUTve DELETEveriyi mutasyona.

Söylediğiniz gibi, yayınlama / abone olma modelleri, cihazınızın merkezi sistem koordinasyonuna (her cihaza istemci görevi görür) bir 'sunucu' gibi davrandığı bir durumda çalışmaz. Bunun yerine, HTTP'ye benzer bir model idealdir, ancak HTTP'nin çok fazla ek yükü vardır, bu da CoAP'ın geldiği yerdir.


0

Komut göndermek ve almak ve uzak cihazları yapılandırmak için var olan herhangi bir protokol olup olmadığını merak ediyordum?

Evet, IoT'de cihaz yönetimi için daha iyi bir protokol var. Öyle LwM2M - çok daha verimliydi MQTT ve üzeri COAP, MQTT ve HTTP aşıyor.

LwM2M, kullanıma hazır standart nesneler (IPSO Akıllı Nesneler), bağlantı izleme, uzaktan cihaz eylemleri ve yapılandırılmış FOTA ve SOTA güncellemeleri sunan iyi tanımlanmış bir veri ve cihaz yönetim modeli ile birlikte gelirken, MQTT'de bu özellikler tamamen satıcıya ve platforma özgü. Aşağıda MQTT ile ürün yazılımı güncellemeleri veya diğer yönetim özelliklerinin sıfırdan oluşturulması gerekmektedir. Aksine, LwM2M temel işlevlerinden biri olarak ürün yazılımı yükseltmeleri sunar, bu nedenle iletişim için yeni yapı taşlarını icat etmeye gerek yoktur.

Burada karşılaştırma MQTT vs LwM2M ve tüm kaza kursu.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.