5
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

複数Raspberry Pi間でメッセージを連携する

Posted at

現在我が家には複数台のRaspberry Pi (Pi Zero w, wh)があり、node-red-dashboardを利用してWiFi接続したスマホからブラウザ経由で操作しています。しかし台数が増えるにつれてdashboardを複数管理するのは煩雑になりました。そこでdashboardを起動するのは1台にして、それ以外はこの1台とのメッセージ連携で操作することにしました。メッセージ連携の設定はNode-RED上の操作だけで可能ですので、自宅に複数台のラズパイをお持ちで統合的に管理したい方は是非試してみてください。

MQTTブローカの導入

dashboardを起動する1台にはMQTTブローカを導入します(1台のみです)。導入手順はこちらに分かりやすくまとまっています。ありがたく参照させていただくことにして、ここでは割愛します。

MQTTブローカノードの配置

まずMQTTブローカノードを配置します。mqtt_broker01.JPG
以下のような設定です。
mqtt_broker02.JPG

MQTT OUTノードの配置

以下ではMQTTブローカノードを配置しているラズパイのIPアドレスを192.168.1.10として記載します。適宜ご自身のIPアドレスに読み替えてください。メッセージを受信する側は同一のプライベートネットワーク上(例えばIPアドレス:192.168.1.20等)にあれば良く、受信側のIPアドレスは本件の設定には不要です。

まずメッセージ送信側のラズパイ(192.168.1.10)にはMQTT OUTノードを配置します(下の上から3つ目の「mqtt」と書かれたノード)。
mqtt_broker05.JPG
mqtt_broker06.JPG
「新規にmqtt-brokerを追加」の右側のボタンをクリック、以下の画面が表示されます。
mqtt_broker07.JPG

サーバとポートの設定をして、クリックします。(設定するIPアドレスはMQTTブローカを起動しているサーバのIPアドレスなので、後ほど設定するMQTT INノードでも同じ設定をします。)

  • サーバ:192.168.1.10
  • ポート:1883

前の画面に戻り、トピックには以下を設定しておきます。

  • トピック:test
    ※ 後ほど設定するMQTT INノードでも同じトピックを設定することで、このMQTT OUTノードから送信されるメッセージをINノードで受信することができます。

MQTT INノードの配置

mqtt_broker03.JPG
mqtt_broker04.JPG

MQTT OUTノードのサーバ設定が済みであれば、サーバ欄には「192.168.1.10:1883」が選択できると思いますので、こちらを選択し、トピックには以下を設定します。

  • トピック:test
    ※ MQTT OUTノードの説明に記載した通り、メッセージ連携したいINノードとOUTノードのトピックが一致していれば良いため、トピックとして設定したtestは適宜置き換えてください。

以上でノードの準備は終了です。

メッセージ連携

MQTT OUTノードにメッセージを入力すると、MQTT INノードで受信することができます。受信したメッセージはmsg.payloadに格納されてますので、後続の処理で利用可能です。今回はMQTT OUTノードをMQTTブローカが起動しているラズパイに配置しましたが、同一プライベートネットワーク上にあればどの端末間でもメッセージ連携が可能で、その時に設定するサーバも先ほどと同様です。なので一度サーバの設定をしてしまえば、以降はトピックの一致するOUTとINを用意すればOUTからINにメッセージを連携することが可能です。

まとめ

長々と書きましたが、ポイントは以下の通りです。

  1. MQTT INノードにもMQTT OUTノードにも、MQTTブローカが起動しているラズパイのIPアドレスを指定。
  2. トピックを一致させることで必要なメッセージのみ受信可能。

参考にしたサイト

1分でIoT環境を構築!Node-RED上でMQTTブローカを立ち上げる手順

5
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?