IoT系でデータ量が軽いことでよく利用されているMQTT通信ですが、ビルディングオートメーションで使用するデバイスの中でもやりとりできるものが増えてきました。
ComfortClickのbOSサーバーは、MQTTブローカー機能も持っているので1台こちらを準備しておくだけでMQTTがとても使いやすくなります。
今回は、ComfortClickをつかったMQTTのシステム連携方法をご紹介します。
MQTTの設定
bOS Configuratorを開きDevicesからMQTTを追加します。
外部のMQTTブローカーを利用する場合には、こちらにIPアドレスとポート番号などを入力します。
ComfortClick自身をMQTTブローカーとして利用する場合は、ここをTrueにします。
すると、その時のComfortClickのIPアドレスが自動的に反映されます。(変更があったときは再起動してください)
認証が必要な時はこちらをTrueにします。
Broker EnabledをTrueにします。
MQTT Clientの設定
MQTTを選んで追加からClientを追加します。
それぞれのMQTT ClientはSubrictionsとPublishの機能があります。
switchというClientIDを作成。
Enabledをtrueにします。
MQTTに今追加したswitchというクライアントが表示されました。
MQTT Client subscriptionの設定
外部のデバイスからMQTTでメッセージを受信する場合は、subscriptionsからAddを押してsubscriptionを追加します。
Topicを入力します。
SubscribeをTrueにします。
Node-REDでMQTTテスト用のフローを作成
Node-REDでMQTTテスト用のフローを作成します。
[{"id":"7e5653aa9aa6ff6e","type":"inject","z":"b6bbb483cd7e090b","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"true","payloadType":"bool","x":270,"y":140,"wires":[["b5aa2010f5ef59cc"]]},{"id":"b5aa2010f5ef59cc","type":"mqtt out","z":"b6bbb483cd7e090b","name":"ComfortClick","topic":"switch1","qos":"","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"44c41fd78167d185","x":490,"y":180,"wires":[]},{"id":"6d5b8c66ec12bb72","type":"inject","z":"b6bbb483cd7e090b","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"false","payloadType":"bool","x":270,"y":220,"wires":[["b5aa2010f5ef59cc"]]},{"id":"44c41fd78167d185","type":"mqtt-broker","name":"ComfortClick","broker":"192.168.1.52","port":"1883","clientid":"","autoConnect":true,"usetls":false,"protocolVersion":"4","keepalive":"60","cleansession":true,"autoUnsubscribe":true,"birthTopic":"","birthQos":"0","birthRetain":"false","birthPayload":"","birthMsg":{},"closeTopic":"","closeQos":"0","closeRetain":"false","closePayload":"","closeMsg":{},"willTopic":"","willQos":"0","willRetain":"false","willPayload":"","willMsg":{},"userProps":"","sessionExpiry":""}]
トピックは先ほどsubscriptionで入力した名前。
MQTTブローカーはComfortClickサーバーのIPアドレスを入力します。
InjectノードはTrueとFalseを送ります。
Node-REDのInjectNodeを押すとComfortClickのSubscriptionのValuesが更新されれば成功です。
まとめ
以上、ComfortClikckをつかってMQTTブローカー設置とデバイスデータを受ける方法をご紹介しました。
ComfortClickではMQTTでPublishする機能もありますが、それはあらためてご紹介します。