見出し画像

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通信にチャレンジ(中編)につづく


この記事が気に入ったらサポートをしてみませんか?