MQTT Sparkplugのステップ・バイ・ステップ・チュートリアル
目次
はじめに
Sparkplugは、産業用デバイスやアプリケーションと通信するための標準化された方法を提供する産業用IoTプロトコルです。効率的で包括的なSparkplugソリューションは、デバイスとアプリケーション間の通信を促進し、データからの洞察を通じてIIoT採用企業の意思決定を強化することができます。
このブログでは、EMQXとNeuronを使ったMQTT Sparkplugソリューションの実践例を紹介します。
EMQXとNeuron:不可欠なコンポーネント
EMQXはSparkplugプロトコルをサポートする人気的なMQTTブローカーであり、Neuronは産業用デバイスからデータを収集し、アプリケーション用にSparkplugメッセージを生成するために使用できる産業用IoTプラットフォームである。
Neuronはデバイスからデータを収集し、そのデータに基づいてEMQXブローカにSparkplugメッセージを発行して変更を報告します。EMQXは、関連するSparkplugトピックをサブスクライブしているアプリケーションにメッセージを転送します。しかし、EMQXはルールエンジンを通してSparkplugメッセージをデコードすることができる。メッセージはその後、データプラットフォームや履歴の永続ストレージなどに使用される。
Sparkplugソリューションのアーキテクチャについては、こちらの記事をご覧ください:EMQXとNeuronを使用した産業用IoT向けMQTT Sparkplugソリューション
このブログでは、EMQXとNeuronを使ってMQTT Sparkplugを始める方法を、以下の手順で紹介します:
- EMQXのインストール
- EMQXの設定
- ニューロンをインストールする
- Neuronでデバイスを設定する
- NeuronとEMQXの接続
MQTT Xで結果を確認する
始めよう!
EMQXのインストール
EMQX MQTTブローカーをダウンロードし、サーバーまたはマシンにインストールする。EMQXはコミュニティ版を提供しており、ウェブサイトから無料でダウンロードできる。ウェブサイトhttps://github.com/emqx/emqx、ドキュメントに従ってください。
EMQXの設定
EMQXをインストールしたら、Sparkplugプロトコルをサポートするように設定する必要がある。
EMQXでスキーマ・レジストリを作成する
スキーマレジストリの作成ボタンをクリックします。
Parse Typeにprotobufを選択し、Sparkplugスキーマでスキーマを埋める。
EMQXでルールを作成する
デコードに使用されるSQL文。
SELECT
schema_decode('neuron', payload, 'Payload') as SparkPlugB
FROM
"spBv1.0/group1/DDATA/node1/modbus"
ここでのキーポイントは、 schema_decode('neuron', payload, 'Payload') :
schema_decode()
はペイロードフィールドの内容をスキーマ'protobuf_person'に従ってデコードする。as SparkPlugB
はデコードした値を変数 "SparkPlugB "に格納する。- 最後のパラメータ
Payload
は、ペイロードのメッセージタイプがprotobufスキーマで定義された「Payload」タイプであることを示す。
次に、以下のパラメータを持つアクションを追加する:
- アクションの種類メッセージの再投稿
- 目的のトピックSparkPlugB/test
このアクションは、デコードされた "Payload "をJSON形式でSparkPlugB/testトピックに送信します。
ニューロンをインストールする
Neuronは、産業用デバイスからデータを収集、保存、分析するために使用できる産業用IoTプラットフォームである。Neuronは同社のウェブサイトからダウンロードしてインストールできる。ウェブサイトhttps://github.com/emqx/neuron、ドキュメントに従ってください。
Neuronでデバイスを設定する
Sparkplug デバイスは、その機能やプロパティを定義するデータ・ポイントのセットで構成されます。データ・ポイントを定義し、特定のデバイスに割り当てることで、Neuron プラットフォームを使用して Sparkplug デバイスを構成できます。
デバイス用ドライバープラグインモジュールを選択します。
デバイス通信用のドライバパラメータを設定する。
グループを作成し、ポーリング間隔を設定する。
グループにタグを追加し、各タグにアドレスを設定します。
NeuronとEMQXの接続
Neuron をインストールしたら、EMQX ブローカに接続する必要があります。このためには、Neuron の MQTT 接続設定を EMQX ブローカに設定します。
ノースバウンド通信ドライバ(SparkplugB)を選択します。
EMQX接続用のドライバ・パラメータを設定する。
指定のグループにご登録します。
MQTTXで結果を確認する
EMQX と Neuron を設定して接続すると、Sparkplug データのパブリッシュとサブスクライブが可能になります。Neuron プラットフォームを使用して、Sparkplug デバイスにデータをパブリッシュし、それらのデバイスからデータをサブスクライブできます。
MQTTXツールは、EMQXルールエンジンのコーデック機能によってデコードされたデータをサブスクライブするために使用される:
まとめ
上記の手順に従って、EMQX と Neuron を使用して MQTT Sparkplug を始めることができます。これは基本的な概要に過ぎず、セットアップをカスタマイズするためにさらに多くの高度な機能や設定があることに留意してください。あなたのIIoT開発を加速するために、EMQXとNeuronの強力な機能を探求することを強くお勧めします。