MQTT通信にチャレンジ(前編)
ここ数年、より軽量なプロトコルであるMQTTを使用してIoT機器からデータ収集を行うケースが増えているようです。今回はIoT機器であるADVANTECH社のWISE-4050が検出する信号をMQTTプロトコルを使用して、ノートPCで受信するシステムを構築してみます。
■システム構成
MQTTで通信するためには、最低限、以下の機能が必要。
MQTTブローカー(中継サーバ)
MQTTパブリッシャー(送信)
MQTTサブスクライバ(受信)
よって、今回は以下の構成で実施する。
ADVANTECH WISE-4050のDI0~DI3のON,OFF状態をMQTTで監視する。
なお、PCはWindowsを使用する。
■MQTTブローカーの構成~Windows版Mosquittoのインストールと設定~
mosquittoをインストールする。
mosquittoのサイトから「mosquitto-2.0.14-install-windows-x64.exe」をダウンロードする。
対象端末にインストールする。
このとき、C:¥Program files以下に保存するとUACの影響でファイルの編集がし辛くなるため、C:¥Mosquittoなどのフォルダにインストールすること。
間違えてインストールした場合は、コントロールパネルのアプリケーションの追加と削除から、「Eclipse Mosquitto MQTT Brocker(64bit」を削除すること。
インストールフォルダ\mosquitto.confをメモ帳で開き、下記のように追加して上書き保存する。
listener 1883
allow_anonymous true
allow_zero_length_clientid true
protocol mqtt
Mosquitto brokerサービスを「開始」する。
ここで開始できなかった場合はインストールに失敗しているか、confファイルの編集に失敗している。
その他注意点:
confファイルを編集しないとローカルモードとなり、他PCからネットワーク接続ができない。
また、Windowsの場合はサービスでの動作が基本となる。サービス動作させたくない場合はサービスを無効とし、mosquitto.exeを手動実行すること。
confファイルのうち、「allow_zero_length_clientid true」については、ADVANTECH側にClient ID設定が見当たらなかったため記述。後述する「MQTT Box」ツールではClient IDを指定できるため不要と思われる。
ファイアウォールの1883ポートは開けておくこと。
MQTT通信にチャレンジ(中編)につづく