EMQ とは
EMQ とは、 Erlang で実装された mqtt ブローカーです。
mqtt ブローカーとしては mosquitto が有名ですが、以下の特徴があります。
- mosquitto と比較しても、 EMQ もなかなか性能が良い(らしい)
- mosquitto ではできない、ブローカーのクラスタを実現できる
- Web ブラウザの GUI が提供されているので、クライアントの管理がしやすい
Document
英語ですが、こちらに公式ドキュメントが公開されています。
インストール
環境は、 Windows 10 64bit とします。
EMQ からダウンロードして、C直下にでも解凍します。解凍するだけで、OS へのインストール作業は不要です。
ブローカーの設定
とりあえずここでは、クラスタ設定は省略します。単一ブローカーのみの接続を想定します。
C:\emqttd\etc\emq.conf
(C直下に解凍した場合)がブローカーの設定ファイルです。
IPアドレスの設定
以下を変更します。ここでは、ブローカーのIPアドレスを 192.168.0.1
を想定します。
設定キー名 | 変更前 | 変更後 |
---|---|---|
node.name | node.name = emq@127.0.0.1 | node.name = emq@192.168.0.1 |
listener.tcp.external | listener.tcp.external = 127.0.0.1:1883 | listener.tcp.external = 192.168.100.106:1883 |
listener.tcp.internal | listener.tcp.internal = 127.0.0.1:11883 | listener.tcp.internal = 192.168.100.106 |
listener.tcp.external
(たぶんグローバルIPアドレス) は設定不要かもしれません
SSLの設定
↓に雑ですが記載しています。
EMQ で TLS 接続する
今回はEMQ(emqttd)を使用して、mqtt の TLS 接続をする方法。EMQのインストール方法とかは割愛。サーバーの公開鍵/暗号鍵の生成、それらのオレオレ認証↓が参考になった。基本的には前記事の mosquitto の場合と...
ブローカーの起動
C:\emqttd
フォルダに移動し、コマンドプロンプトで以下を実行します。
bin\emqttd console
最初の起動では、ファイアウォールの許可みたいなのが出るかもしれませんが、[OK] すればよいです。
ちょっと待つと、Erlang のウィンドウが表示されます。
ウィンドウ内で (emq@192.168.0.1)1> Load emq_mod_presence module successfully.
と表示されれば、起動成功です。
Web ブラウザで確認
上記の起動方法でブローカーが正常に起動しているならば、http://localhost:18083/へアクセスするとダッシュボードが表示されます。
終了方法
Eranlg のウィンドウを閉じれば、同時にブローカーも停止します。
クラスタについて
今回は省略しましたが、クラスタに関しては、以下が参考になります。
コメント