Contents
Aedes MQTT broker
Node-REDでMQTT brokerを作成するときはAedes MQTT brokerを使う。Node-REDで使えるMQTT brokerはほかにも存在しており、以前はmoscaというものが使用されていたが、デバイスのバージョン変更などに伴う変化からAedesを使うことが推奨される。実際私がmoscaを使ってみようとしたところノードが使用することができなかった。
準備
Node-REDのノードを使用できるようにするためにまずはパレットの管理からノードを追加する。aedesと調べるのが最も効率的。


ノードの追加が完了すると、aedes brokerというノードが使用できるようになる。
これを使ってブローカーを作成できる。
接続
接続は図の通り

ノードの設定

- WS bindのプルダウンからpathを選択。
- WS pathはパスを決めて入力する。この時パスの名前はユニークになるようにする。
- 設定が完了したら「完了ボタンで戻る」
- 以上でブローカーの設定は終了である。
確認用ノードの設定
ブローカーの動作を確認するためにmqtt in、mqtt outを用意してブローカーを通じてやり取りしてみる。接続は以下の通り。
詳細:https://blog.smartlight.co.jp/?p=2467

インジェクトノード
payloadには文字でCITY HUNTERと入れてみよう。

mqtt outノード
サーバは新規に追加でlocalhostを使用する。トピックはユニークなものにする。今回はxyzと入力。


mqtt inノード

ブローカーを通ってきたものを受け取る。mqtt outから/xyzを設定。
サーバは先程設定したものが適応されていなければ改めて設定する。
デプロイ後のノード

インジェクション

デバッグノード23にきちんと文字列が送られてきたことが確認できた。
まとめ
今回はNode-REDにMQTT brokerを立ててみた。
ローカルな環境に構築したため外部からのアクセスはルーターの設定やセキュリティを堅牢にする必要などあるが一通り、MQTTについては学習することができた。