MQTT için standartlaştırılmış bir RPC mekanizması var mı?


10

Yığın Taşması üzerinde MQTT üzerinden istek / yanıt etkileşimi uygulama hakkında bir soru vardır . Bir cevap notu olarak, isteği bir konuda yayınlayarak ve isteğe dahil edilen başka bir jetonda yanıtı dinleyerek yapabilirsiniz. Biraz garip, ama işe yarıyor.

MQTT, IoT genelinde yaygın olarak kullanıldığından, merak ediyorum, birlikte çalışabilirlik uğruna bu RPC türü etkileşimi standartlaştırma girişimleri oldu mu?


Sadece bir cevabın temeli olabileceğini buldum: esr.net/download/specification/ESR030-LWM2M-MQTT-1.0-A.pdf . Kuşkusuz, LWM2M'ye sıkıca bağlı olan bir genel istek / yanıt spesifikasyonu değildir.
Chris Steinbach

Yanıtlar:


9

Bu tür standartların farkında değilim.

Diğer sorunun yanıtlarında da belirtildiği gibi, pub / sub, RPC'ye borç vermez, ancak uyum sağlamak için bükülebilir.

MQTT'nin güçlü yönlerinden biri, yükün herhangi bir şey olabileceğidir ve bir geliştiricinin projeleri için en iyi seçimi yapmasına izin verir.


4

MQTT üzerinden standartlaştırılmış RPC iletişim yöntemi için gereksiniminiz olduğundan emin değilim ama yine de biraz arama yaptım ve size teslim etmek için birkaç nokta buldum.

Her şeyden önce, standart yöntem hakkında. On biri Github çivi bunu açıklaması tür proje RPC:

Bu modül, mqtt bağlantısı için bir rpc arabirimi sağlar, aslında bu, taşıma olarak bir MQTT konu yapısını kullanan bir istek ve yanıt stratejisidir.

Amaç yığın modelini kullanmaktır (OSI modeli standarttır) ve sadece yığının katmanlarından biri olarak MQTT'yi kullanmaktır.

Mqtt üzerinden json-rpc üzerindeki bu proje, MQTT üzerinden standart veya en az bilinen protokolü kullanmaktadır.

Gariplik hakkında, MQTT ve RPC'yi sıfırdan inşa etmek zorunda değilsiniz, bunun yerine bağlantılı kütüphanelerden birini veya Github'da bulunan başka bir tanesini kullanın.

Tamam, her dil için Github'a hazır bir temel yoktur, ancak bu durumda uyum bir planlama kriteri haline gelir ve maalesef diğer tüm projeyi etkileyebilir.


Gerçek bir gereksinimim yok. Sorunun itici gücü, CoAP (RFC tanımlı istek / yanıt ve pub / alt mekanizmalara sahip) ile MQTT'yi karşılaştırmaktır. Kesinlikle RPC için bazı açık kaynak kitaplıklara sahip olmak hiç yoktan iyidir.
Chris Steinbach

4

Azure IoT Hub'ın doğrudan yöntemler kavramı vardır:

IoT Hub, buluttaki cihazlarda doğrudan yöntemleri çağırmanızı sağlar.

Bu, MQTT (AMQP desteklenmez) üzerinden uygulanır;

Cihazlar MQTT konusunda doğrudan yöntem istekleri alır:

$iothub/methods/POST/{method name}/?$rid={request id}.

Bunu SDK'larına tamamladılar, bu nedenle geliştiricilerin konuyu özel olarak izleme konusunda endişelenmelerine gerek yok. Benzer bir yaklaşım uygulayabilirsiniz.

Diğer cevaplara göre, pub-sub RPC'ye borç vermez ve bildiğim kadarıyla herhangi bir standart yoktur.

Daha fazla dokümantasyon burada .

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.