Bei einem Stapelüberlauf gibt es eine Frage zum Implementieren der Anforderungs- / Antwortinteraktion über MQTT. Wie eine Antwort vermerkt, können Sie dies tun, indem Sie die Anforderung zu einem Thema veröffentlichen und auf die Antwort auf einem anderen Token warten, das in der Anforderung enthalten war. Es ist etwas umständlich, aber es funktioniert.
Da MQTT im gesamten IoT häufig verwendet wird, habe ich mich gefragt, ob es Versuche gegeben hat, diese Interaktion vom Typ RPC aus Gründen der Interoperabilität zu standardisieren.
Antworten:
Solche Standards sind mir nicht bekannt.
Wie in den Antworten auf die andere Frage ausgeführt, eignet sich Pub / Sub nicht für RPC, kann aber passend gebogen werden.
Eine der Stärken von MQTT ist, dass die Nutzlast alles sein kann, sodass ein Entwickler die beste Wahl für sein Projekt treffen kann.
quelle
Ich bin mir nicht sicher, was Ihre Anforderung für eine standardisierte RPC-Kommunikationsmethode über MQTT ist, aber ich habe trotzdem ein wenig gesucht und mehrere Punkte gefunden, die ich Ihnen liefern kann.
Zunächst zur Standardmethode. Bei einem Github- RPC-Projekt ist die Beschreibung Art der Nägel:
Der Punkt ist, das Stapelmodell zu verwenden (das OSI-Modell ist ein Standard) und nur MQTT als eine der Ebenen des Stapels zu verwenden.
Dieses Projekt auf json-rpc über mqtt verwendet ein standardisiertes oder zumindest bekanntes Protokoll über MQTT.
In Bezug auf Unbeholfenheit müssen Sie das MQTT und den RPC nicht von Grund auf neu erstellen, sondern müssen stattdessen eine der verknüpften Bibliotheken oder eine andere auf Github gefundene Bibliothek verwenden.
OK, für jede Sprache gibt es keine fertige Basis für Github, aber in diesem Fall wird die Einhaltung zu einem Planungskriterium und kann sich leider auf das gesamte andere Projekt auswirken.
quelle
Azure IoT Hub verfügt über ein Konzept direkter Methoden:
Dies wird über MQTT implementiert (AMQP wird nicht unterstützt), wobei
Sie haben dies in ihr SDK integriert, sodass Entwickler sich nicht um die gezielte Überwachung des Themas kümmern müssen. Sie könnten einen ähnlichen Ansatz implementieren.
Wie aus anderen Antworten hervorgeht, eignet sich Pub-Sub nicht für RPC, und meines Wissens gibt es keine Standards.
Weitere Dokumentation finden Sie hier .
quelle