Skip to main content

reComputer R1000でfuxaを使用してmqttクライアントを利用する

はじめに

FUXAはWebベースのプロセス可視化(SCADA/HMI/ダッシュボード)ソフトウェアです。FUXAを使用すると、機械の個別設計とリアルタイムデータ表示のための現代的なプロセス可視化を作成できます。Modbus RTU/TCP、Siemens S7プロトコル、OPC-UA、BACnet IP、MQTT、その他のプロトコルをサポートしています。

この記事では主にreComputerR1000でfuxaを使用してmqtt通信を行う方法を紹介します。この記事ではmosquittoをMQTTサーバーエージェントとして使用し、fuxaとnode-redをMQTTクライアントとして使用し、fuxaが公開するデータのソースとしてModbusTCPスレーブを紹介します。fuxaは/dev/fromNode_redという名前のトピックを購読し、/dev/fromfuxaという名前のトピックを公開します。このトピックのデータはModbusTCPスレーブから取得されます。node-redは/dev/fromfuxaという名前のトピックを購読し、/dev/fromNode_redトピックを公開します。通信フレームワークは図に示されています:

はじめに

このプロジェクトを開始する前に、ここで説明されているようにハードウェアとソフトウェアを事前に準備する必要があります。

ハードウェアの準備

ソフトウェアの準備

  • Python 3.11はfuxaと互換性がない可能性があります。Pythonバージョンが3.11の場合は、別のPythonバージョンに変更することを検討してください。
  • W10 PCでmodbusmechanicを使用します。他のmodbusテストツールも使用できます

  • reComputer R1000でfuxaを使用します。reComputer R1000にfuxaをインストールするには、以下の手順を参照してください

      ## You need to have installed Node Version 14 || 16 || 18.
    wget https://nodejs.org/dist/v18.20.3/node-v18.20.3-linux-arm64.tar.xz
    tar -xf node-v18.20.3-linux-arm64.tar.xz
    cd node-v18.20.3-linux-arm64
    sudo cp -R * /usr/local/
    node -v
    npm -v
    ## Next install FUXA from npm
    sudo npm install -g --unsafe-perm @frangoteam/fuxa
    sudo fuxa
  • fuxaでmodbusTCP機能を使用する方法については、このwikiを参照してください。

  • mosquittoのダウンロードと設定方法については、このチュートリアルを参照してください。node-redでmqtt通信を設定する方法についても説明されており、参考にできます。

ハードウェア構成

ModbusTCPでは、イーサネットケーブルを使用してW10 PCとreComputer R1000をスイッチに接続し、同じネットワークセグメント上にあることを確認します。

pir

MQTTクライアント通信手順

ステップ1: このチュートリアルを参照し、fuxaを使用してmodbusmechanicとの接続を確立します。また、このwikiを参照して、reComputer R1000にmosquittoNode-redをデプロイします。

ステップ2: MQTTサーバーに接続します。fuxaインターフェースの右下角にある+ボタンをクリックし、NameTypeを入力し、MQTTclientを選択してから、MQTTサーバーのIPアドレスとポート番号を入力します。MQTTサーバーがセキュリティ認証を必要とする場合は、Client IDUsernamePasswordなども入力する必要があります。私たちのサーバーはこの認証を必要としないため、入力しません。最後にOKをクリックし、モジュールの左下角に緑色のドットが表示されるまで待ちます。これはMQTTサーバーへの接続が成功したことを示します。

ステップ3: トピックを購読します。設定インターフェースに入り、左上角の+ボタンをクリックし、Browser Topics on brokerで購読したいトピックを入力します。ここではnode-redが公開する/dev/fromNode_redトピックを購読し、その隣の検索ボタンをクリックすると、対応するトピックの内容を確認できます。fuxaはrawjsonの2つの表示形式をサポートしています。ここではjsonを選択し、最後にsubscribeをクリックして購読を成功させます。

ステップ4: トピックを公開します。設定インターフェースに入り、Publish列を選択し、Topic pathで公開したいトピック名を入力します。ここでは/dev/fromfuxaと入力し、Add attribute to payloadをクリックすると、公開可能なデータ内容の行がポップアップします。ここではModbusTCPスレーブから取得した4つのデータとタイムスタンプを公開トピックの内容として選択し、公開形式としてjsonを選択し、最後にPublishをクリックして公開を成功させます。

ステップ5: 上記の設定が完了した後、Modbusスレーブ側でデータを変更します。node-redのデバッグウィンドウでデータのリアルタイム変更を確認できます。これは、fuxaが/dev/fromfuxaトピックを通じてデータを正常に公開したことを示しています。

技術サポート & 製品ディスカッション

弊社製品をお選びいただき、ありがとうございます!お客様の製品体験を可能な限りスムーズにするため、さまざまなサポートを提供いたします。異なる好みやニーズに対応するため、複数のコミュニケーションチャネルをご用意しております。

Loading Comments...