ローカルおよび遠隔MQTT通信


7

私のプロジェクトでは、Raspberry Pi 3と通信し、次に遠方のMQTTブローカーと通信する一連のセンサーをローカルネットワークに配置しています。

センサーノードにESP8266を使用しているので、piのインターネット接続を介してブローカーと直接通信するespノードをMQTTクライアントにすることを考えました。しかし、ローカルノードからのセンサーのデータとそれにリンクされているセンサーからのデータにアクセスするには、piが必要です。

したがって、私はそのようなコミュニケーションを実装するための最良のソリューションを望んでいます。Piにブローカーを追加して、遠くのブローカーにブリッジしたり、Raspberryで実行されているpythonプログラムにMQTTメッセージを発行したりすることを考えました。

  1. Piに別のブローカーを置かないようにする方法はありますか?

  2. これを行うためのより良い解決策はありますか?

  3. ブローカーは大量のメモリを消費しますか?

カメラフレームデータもストリーミングする必要があることを知っています。

回答:


7

mosquittoのようなブローカーは、Pi上で楽しく動作し、リモートブローカーにブリッジします。

それが消費するリソースの量は、それを介して送信するトラフィックの量と、大量の保持メッセージをキューに入れるかどうかに完全に依存します。ほとんどの状況では、それはかなり低いです(MQTT経由でビデオをストリーミングする予定がない限り)。

しかし、このソリューションには、リモートブローカーへのリンクがダウンしても、すべてがローカルで機能し続けるという利点があります。

このような階層型ブローカーは、MQTTが処理するように設計された特定のユースケースの1つです。


2

ESP8266センサーからペイロードを収集するNode-REDのようなものをセットアップし、別のトピックを使用して向きを変えて同じペイロードを送信できます。私は自分のホームオートメーションセットアップでこれを自分で行います。1つのトピックで3秒ごとに表示される一時的な読み取りがありますが、1分に1回に絞り、別のトピックを使用して送り返す必要がありました。メッセージの両方のセットは同じブローカーを使用します。

したがって、あなたのケースでは、独自のトピックセットを持つローカルMQTTブローカーとしてRaspberry Piを使用し、送信する必要があるパケットをNode-REDでキャプチャし、送信するために別のトピックセットを使用します。Mosquittoブローカーコンテナーを実行するDockerサーバー、Node-REDコンテナー、およびNode-RED変換されたデータを利用する他の2つのコンテナーがあります。チャンピオンのように機能します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.