ブログ

Armadillo-IoT A6:Node-REDを使ってModbus通信でデータを収集しグラフ化する

at_yosuke.moriyama
2022年8月15日 13時42分

概要

Armadillo-IoT A6で、Node-REDを使用して、下記ブログの内容と同様のことを行ってみました。

Armadillo-640:Node-REDを使ってModbus通信でデータを収集しグラフ化する

下記の点から、Node-REDによるシステムの構築に、Armadillo-IoT A6は有用なデバイスです。

本ブログでは、まず先のブログと同じ手順でNode-REDによるセットアップをしたArmadillo-IoT A6が、正常に動作することを確認します。

確認するにあたって使用した機器構成

私用した機器は以下の通りです。

  • Armadillo-IoT A6 開発セット一式
        Armadillo-IoTゲートウェイ A6 U1モデル 開発セット
  • Modbus通信でデータ読出し可能な機器
    今回は市販の温湿度センサを使用しています。
    KKmoonRS485温度湿度 トランスミッタ
  • 可変式直流安定化電源(温湿度センサ用DC12V電源)
    GPS-3030DD
  • Armadillo-IoT A6のインタフェースに接続可能なRS-485通信変換機器
    Armadillo-IoT A6には直接RS-485に接続可能なインタフェースが備わっておりません。
    安定して量産・運用を行う際には、UARTとRS485の変換ICや端子台などを実装した基板を作成し、
    拡張インタフェースに接続するのが望ましいですが、
    今回は検証であるため市販のUSB-RS485変換アダプタを使用しています。
    DSD TECH SH-U11G
  • SDカード
    インストールディスクとして使用します。内部のデータが消去されても問題無いSDカードをご用意ください。
  • Ethernetケーブル
  • ルーターもしくはEthernetハブ
    *インターネットに繋がっていて、EthernetケーブルでArmadilloと接続可能なものである必要があります。

それぞれの具体的な接続についてはこの図を参考にしてください。

機器が揃ったら、実際に機器を接続・操作して設定を行っていきます。

Armadillo準備

まず、Armadillo-IoT A6とPCとを接続して、コンソールから操作可能な状態にします。
初めてArmadillo-IoT A6の操作を行われる場合は、このArmadillo-IoT A6開発基礎セミナーの動画を参考にセッティングを行ってください。

また、Armadillo-IoT A6は当社から出荷する際にOSが書きこまれているため、すぐに電源を投入して使用する事が出来ますが、
設定等を行う前に、インストールディスクを使って、最新のOSを書き込んでおくことをお勧めいたします。

最新のソフトをインストールするためのインストールディスクイメージファイルは当社のWebページからダウンロード出来ます。
Armadillo-IoT ゲートウェイ A6 インストールディスクイメージ

インストールディスクイメージを使ってSDカードをインストールディスクにする方法は、マニュアルをご参考下さい。
12.1.1. インストールディスクの作成

Armadillo-IoT A6が操作可能な状態になったら、Armadillo-IoT A6に電源を投入します。
この先の手順で、Armadillo-IoT A6をインターネットに接続する必要がありますので、
インターネットに接続しているルータやEthernetハブと、Armadillo-IoT A6をEthernetケーブルで接続しておいてください。

ネットワーク設定・確認

Armadillo-IoT A6が起動し、ログインしたら、Armadillo-IoT A6がインターネットに接続出来ているかを確認します。
DHCPで自動的にIPアドレスが割り振られる場合はそのままネットワークに接続出来るはずですが、固定IPアドレスの設定等が必要な場合は、マニュアルを参考に設定してください。
6.2.2. 6.2.3.3. 固定IPアドレスに設定する
pingコマンドを実行して、ネットワークの導通を確認します。
pingコマンドの実行と確認についてはマニュアルの「6.2.3.7. 有線LANの接続を確認する」に記載がありますので、 こちらをご参考下さい。
インターネットとの接続を確認する場合は、対象のIPアドレスを8.8.8.8とするのが良いかと思います。
図6.8 有線LANのPING確認

ネットワークの導通が取れていない場合は、経路やネットワーク設定を再度確認してください。

この後使用する事になるので、このタイミングでArmadillo-IoT A6のIPアドレスを確認しておいてください。
ip addressコマンドを実行すると、このようにIPアドレスが表示されます。

[armadillo ~]# ip address
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:11:0c:2a:21:58 brd ff:ff:ff:ff:ff:ff
    inet 192.168.11.123/24 brd 192.168.11.255 scope global dynamic eth0
       valid_lft 28777sec preferred_lft 28777sec
    inet6 fe80::211:cff:fe2a:2158/64 scope link
       valid_lft forever preferred_lft forever

ファイルダウンロード・実行

インターネットに接続出来ていることが確認出来たら、必要なソフトウェアのインストールや設定を行います。
一括で実行できるようにスクリプトファイルを用意しましたので、こちらをダウンロードしてご使用ください。
set_node_red_serial.sh
flows.zip

wgetコマンドで必要なファイルをダウンロードしてください

スクリプトファイルダウンロード
[armadillo ~]# wget https://armadillo.atmark-techno.com/system/files/blog/set_node_red_serial.sh
フロー設定ファイルダウンロード
[armadillo ~]# wget https://armadillo.atmark-techno.com/system/files/blog/flows.zip

ダウンロードしたスクリプトファイルを実行して設定を開始してください。

権限の設定
[armadillo ~]# chmod +x set_node_red_serial.sh
ファイル実行
[armadillo ~]# ./set_node_red_serial.sh

スクリプトの実行が完了するまで、ネットワーク環境にもよりますが10分程度かかります。
コマンド入力が可能になるまでお待ちください。

このような表示になったらスクリプトの実行が完了しています。

Please Wait 180seconds
It's done
[armadillo ~]# 

動作確認

スクリプトの実行が完了したら、Armadillo-IoT A6と同じネットワークに接続しているPCから、次のURLへアクセスしてください。

http://[Armadillo-IoT A6のIPアドレス]:1880

正常に設定が完了していれば、以下のようなnode-redのフロー画面が表示されます。

次のURLにアクセスすることで、グラフが表示されます。

http://[Armadillo-IoT A6のIPアドレス]:1880/ui


Armadillo-IoT A6でも、Node-REDによるシステムが、正常に動作することを確認できました。



表示されない場合はIPアドレスが間違っていないかを確認してください。
IPアドレスが正しい場合、PCからArmadilloのIPアドレスに対してpingコマンドを実行し、
PCとArmadilloの間のネットワークが繋がっているかを確認してください。
Windows PCの場合はコマンドプロンプトなどからpingコマンドが実行出来ます。
詳細な手順などは環境によって異なるかと思いますので、ユーザー様自身にて検索願います。

ネットワークが繋がっていない場合は、PC・Armadilloそれぞれの接続先ネットワークを確認してください。

ネットワークが繋がっていれば、数分待ってもう一度アクセスしてみて下さい。
それでも表示されない場合は、設定に失敗している可能性がありますので、
再度設定を見直してみて下さい。
(設定用のコマンドを1行ずつ実行してレスポンスを確認してみてください。)

グラフは自動的に更新されます。まったく表示が変わらない場合はシリアル通信が正常に行えていない可能性がありますので、
配線や通信対象の機器が正常に動作しているか等を確認してください。