KNXデータをMQTTにブリッジする:イントロダクションと実践チュートリアル
イントロダクション
このブログでは、Neuronを使用してKNXデバイスからデータを収集し、集めたデータをEMQXにアップロードしてMQTTXを使用して表示する方法を紹介します。
LinuxマシンでEMQX、MQTTX、Neuronのインストールを行います。ETSとKNX VirtualはWindowsのみサポートしているため、KNXのインストールをシミュレートするWindows VMを実行します。
EMQXクイックスタート
EMQXは複数のインストール方法を提供しており、詳細なインストール方法はドキュメントで確認できます。この例では、コンテナデプロイメントを使用してEMQXを素早く体験できます。
Dockerイメージを取得するには以下のコマンドを実行します:
docker pull emqx/emqx:5.1.0
Dockerコンテナを起動するには以下のコマンドを実行します:
docker run -d --name emqx -p 1883:1883 -p 8081:8081 -p 8083:8083 -p 8084:8084 -p 8883:8883 -p 18083:18083 emqx/emqx:5.1.0
ウェブブラウザを使用してhttp://localhost:18083/
("localhost"を実際のIPアドレスに置き換える)でEMQXダッシュボードにアクセスします。デバイス接続の管理と関連するメトリックをモニタリングすることができます。このチュートリアルのためにDockerコンテナを実行状態に保ちます。ダッシュボードのさらなる機能体験には、ドキュメントを参照してください。
初期ユーザー名: admin
初期パスワード: public
ETSを使用したKNX Virtualのセットアップ方法
KNX Virtualをダウンロードしてインストールします。ETSとKNX Virtualを使用してKNXのインストールをシミュレートする方法については、ブログチュートリアルやKNX Virtual Basicsビデオチュートリアルを参照できます。
KNX Virtualでは、KLiX(D0)、調光アクチュエータ(D0)、ブラインド/シャッターアクチュエータ(D2)、スイッチアクチュエータ(D7)をシミュレートします。アドレスとグループオブジェクトの関連図は以下の通りです:
Neuronクイックスタート
Neuronのインストール手順はこちらです。インストール後、ブラウザでhttp://localhost:7000
("localhost"を実際のIPアドレスに置き換える)からダッシュボードにアクセスできます。
ステップ1: ログイン
初期ユーザー名とパスワードでログイン:
- ユーザー名:
admin
- パスワード:
0000
ステップ2: 南側デバイスを追加
Neuronダッシュボードで Configuration -> South Devices -> Add Device をクリックし、knxノードを追加します。
ステップ3: knxノードを設定
新しく作成されたknxノードを設定します。
ステップ4: knxノード内にグループを作成
knxノードをクリックしてGroup Listページに入り、CreateをクリックしてCreate Groupダイアログを開きます。パラメータを入力し、提出します:
- グループ名:
grp
- インターバル:
1000
ステップ5: グループにタグを追加する
KNX Virtualの設定に合わせて、調光アクチュエータ、シャッターアクチュエータ、スイッチアクチュエータに対応する4つのタグをグループに追加します。
ステップ6: データ監視
NeuronダッシュボードでMonitoring -> Data Monitoringをクリックし、タグの値が正しく読み取られることを確認します。
ステップ7: MQTT Northアプリを追加する
NeuronダッシュボードでConfiguration -> North Apps -> Add Appをクリックし、mqttノードを追加します。
ステップ8: mqttノードを設定する
mqttノードを設定して、以前にセットアップしたEMQXブローカーに接続します。
ステップ9: mqttノードをknxノードにサブスクライブする
新しく作成されたmqttノードをクリックしてGroup Listページに入り、Add subscriptionをクリックします。成功するとNeuronが/neuron/mqtt/knx/grp
トピックにデータを公開します。
MQTTXを使用したデータの確認
MQTTクライアントを使用してEMQXに接続し、報告されたデータを表示できます。ここでは、公式サイトからダウンロードできるMQTTX、強力なクロスプラットフォームMQTTクライアントツールを使用します。
MQTTXを起動し、以前にセットアップしたEMQXブローカーに新しい接続を追加し、トピック/neuron/mqtt/knx/grp
にサブスクリプションを追加します。サブスクリプションが成功すると、MQTTXはNeuronによって収集され報告されたデータを継続的に受け取ります。以下の図のようです:
結論
このブログでは、KNXプロトコルを紹介し、Neuronを使用してKNXデータをMQTTにブリッジする全体的なプロセスをデモンストレーションしました。
KNXは家庭および建物のオートメーションのための堅牢で柔軟なプラットフォームを提供し、産業用IoT用の強力な接続機能を持つNeuronは、KNXデバイスからのデータ収集と取得したデータのクラウドへのシームレスな伝送を容易にし、便利なリモートコントロールと監視を必要に応じて提供します。
NeuronはModbus、OPC UA、SIEMENSなど他の産業プロトコルもサポートしています。他のブリッジングチュートリアルについては、私達の投稿を読むことをお勧めします:
- IIoT向けModbusデータをMQTTにブリッジする:ステップバイステップチュートリアル
- IIoT向けのOPC UAデータをMQTTにブリッジする:ステップバイステップチュートリアル
- TwinCATデータをMQTTにブリッジする:イントロダクションとハンズオンチュートリアル
- FINSデータをMQTTにブリッジする:プロトコル解説とハンズオンチュートリアル