Skip to main content

reComputer R1000 を使用した fuxa による MQTT クライアントの利用

note

この文書は AI によって翻訳されています。内容に不正確な点や改善すべき点がございましたら、文書下部のコメント欄または以下の Issue ページにてご報告ください。
https://github.com/Seeed-Studio/wiki-documents/issues

はじめに

FUXA は、ウェブベースのプロセス可視化 (SCADA/HMI/Dashboard) ソフトウェアです。FUXA を使用すると、機械の個別デザインとリアルタイムデータ表示を備えた最新のプロセス可視化を作成できます。Modbus RTU/TCP、Siemens S7 Protocol、OPC-UA、BACnet IP、MQTT などのプロトコルをサポートしています。

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

始める前に

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

ハードウェアの準備

reComputer R1000

ソフトウェアの準備

  • Python 3.11 は fuxa と互換性がない可能性があります。Python のバージョンが 3.11 の場合は、別のバージョンに変更することを検討してください。
  • W10 PC 上で modbusmechanic を使用します。他の Modbus テストツールを使用することもできます。
  • reComputer R1000 上で fuxa を使用します。reComputer R1000 に fuxa をインストールする手順は以下を参照してください。
      ## Node バージョン 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
    ## 次に npm から FUXA をインストールします
    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...