1. システムについて
絶縁耐圧試験器(日置電機社製 型番3159)の耐圧試験を例にシステムを構築する。
システムは、Raspberry Pi 4B(ラズパイ)、ATOM Lite(M5Stack)、絶縁耐圧試験器から構成した。
ATOM Liteは、ラズパイに設定したWiFiアクセスポイントに接続し、ATOM Liteと絶縁耐圧試験器はレベルシフトしたRS232Cで接続した。
ラズパイとATOM Liteは、MQTTを用いてデータ交換することにした。
ラズパイに試験用データベースをMariaDBに設定し、試験項目一覧テーブルと試験結果テーブルを設けた。
ラズパイはNode-RED、ATOM LiteはUIFowでプログラムを作成した。
ユーザインタフェースは、Node-REDのダッシュボードを用いた。
1-1. シーケンス図
(1) DBに試験項目一覧を問合せ、Node-REDのダッシュボード上に表示する
(2) ダッシュボードで試験項目をキー入力し、OKボタンを押す。試験器に送信する設定コマンドが表示される。
(3) 送信ボタンを押すことで設定コマンド一式をMQTTでATOM Liteに送信する。
(4) ATOM Liteは、MQTTで設定コマンドをサブスクライブしたら、設定コマンドを1つずつRS232Cで試験器に送信する。すべてのコマンドが終了したらMQTTでreadyを返す。
(5) ラズパイは、MQTTでReadyをサブスクライブしたら、ダッシュボードのLEDを緑色にし、readyの文字を表示する。
(6) ダッシュボードでロットナンバーを入力すると、ロットナンバーがダッシュボードに表示される。
(7) ダッシュボードのスタートボタンを押すと、MQTTでstartがパブリッシュされる。
(8) ATOM Liteは、MQTTでstartをサブスクライブしたら、スタートコマンドをRS232Cで試験器に送信する。環境センサの温度、湿度、気圧をJSON形式に変換し、MQTTでパブリッシュする。
(9) ラズパイは、MQTTで温湿度データをサブスクライブしたら、flow変数に代入する。
(10) ATOM Liteは、:STARTコマンド送信後、一定間隔で:STATコマンドを送信して試験終了を確認する。
(11) WREADYを受信したら試験終了と判断して、試験結果問合せコマンド:MEAS:RES:WITH?を送信し、試験結果を取得し、JSON形式に変換してMQTTにパブリッシュする。
(12) ラズパイは、MQTTで試験結果をサブスクライブしたら、DBに登録し、ダッシュボード上に表示する。
2.データベースの準備
phpMyAdminのCSVファイル読み込み機能を理解するために、試験項目一覧表はExcellでCSVファイルを作成した。
作成したCSVファイルをphpMyAdminでMariaDBに読み込ませた。
ブラウザでphpmyadminにアクセスする。
http://localhost/phpmyadmin
rootでログインする。
ログイン後、CSVファイルをインポートする。
インポートタブをクリックし、赤線で囲ったところを入力する。
実行すると、正常終了したことが確認できる。
新規のデータベースとテーブルが作成されていることが確認できる。
次に、試験結果を保存するテーブルを作成する。新規作成をクリックし、
以下のような、テーブルを作成する。
3. Node-RED必モジュール追加
Node-REDに必要なモジュールを追加する。
Node-REDに必要なモジュールを追加する。
画面右上のメニューをクリックし、パレット管理を選択し、モジュール管理画面を表示させる。
追加するモジュールは、
- node-red-contrib-aedes
- node-red-contrib-ui-led
- node-red-dashboard
- node-red-node-mysql
- node-red-node-ui-table
の5モジュール。