mosquitto mqtt clientを使用しています。ユーザーから発信されたMQTT Publishイベントと、ブロードキャストのみを目的とした内部メッセージとを区別する方法
たとえば、トピックを公開して購読するユーザーがいます。トピックは実際にREsTエンドポイントと相関しています。
シナリオ1(典型的なパブ/サブ使用)
- UserAがトピック/デバイス/ 123 /メタ
- ユーザーBに加入するために、いくつかのデータを公開トピック/デバイス/ 123 /メタ
- 定義により、この公開はサブスクライバにブロードキャストされます
- トピック/デバイス/ 123 /メタのペイロードを保存する方法を知っている/ devices /#に登録されたスクリプトがあります公開されたデータを受信します。このデータはデータベースに保存されます。
シナリオ2
- 誰かがRESTインターフェースを介してデータ/デバイス/ 123 /メタを更新する(または直接DBの更新、鍵は、MQTT公開しない場合)。
- データベースは、すべての加入者がペイロードとしてアップデートを取得するようにシナリオ2は私がラップしようとしているものです
MQTTブローカーに送信され
どうすればよいですか? MQTTメッセージは非常に単純化されており、私はロジックをベースにすることはできません。私は何とか起源を使って探索しようとしていますが、これまでの運はありません。私はプラグインを書くことができることを認識していますが、これは蚊のためのかなりの仕事です。