InteligentsensorのGUIプログラムその1
Inteligentsensor1のGUIプログラム開発
マイコンの有効活用でマイコンをコマンドコードで複数の測定モードを選択が可能な
Inteligentsensorを紹介しました。その時点ではWindows-PC側の応用プログラム例を
Pythonで作成しpyinstallerでコンパイルし実行形式で提供しました。グラフ更新処理は
Processingで作成した「LoadingImages.exe」を同時起動することで対応しました。
今回はpysimpleGUIを使用して単独でグラフ更新(リアルタイム表示機能)ができるよう
プログラムを改良しました、 ただし、コマンド全部に対応したGUIプログラムは提供し
ていません。
InteligentSensor1のGUIプログラム
mode_aGUI.exeのソースコード mode_bGUI.exeも同様
mode_aGUI.exeの操作方法 mode_bGUI.exeも同様
mode_c1GUI.exeのソースコード(1/2) mode_c2GUI.exeも同様
mode_c1GUI.exeのソースコード(2/2) mode_c2GUI.exeも同様
mode_c1GUI.exeの操作方法 mode_c2GUI.exeも同様
mode_eGUI.exeのソースコード(1/2) mode_fGUI.exeも同様
mode_eGUI.exeのソースコード(2/2) mode_fGUI.exeも同様
mode_eGUI.exeの操作方法 mode_fGUI.exeも同様
mode_g1GUI.exeのソースコード mode_h1GUI.exeも同様
mode_g1GUI.exeの操作方法 mode_h1GUI.exeも同様
mode_m1GUI.exeのソースコード ESP8266/Arduino共通コマンド
mode_m1GUI.exeの操作方法 ESP8266/Arduino共通コマンド
mode_n1GUI.exeのソースコード ESP8266専用コマンド
mode_n1GUI.exeの操作方法 ESP8266専用コマンド
InteligentsensorのGUIプログラムその2
Inteligentsensor2の開発
マイコンの有効活用(EPROMフル活用)と開発効率向上(マイコン及びソフト共通化)
を目的に、信号処理用のInteligentsensor1を開発しました。今回は多変量データの収集
に向け汎用性のある4chの無線データロガーを開発しました。
(主な機能)
通信方式はWiFiを利用したUDP通信を行う。受信機側はESP8266で構成し、複数の送信機
と固有アドレスでペアリング済のAP機能とデータ受信を行います。(多対一通信を考慮)
送信機はESP32を使用し環境測定(温度・湿度)及び12bit4chのADCを使用しデータログ
を行い100msec毎に送信します。
Inteligentsensor2試作機と内部構造
InteligentSensor2のプログラム: Inteligentsensor2UDP100msec.ino
UDP受信機のプログラム: ESP8266_APUDPcompact.ino
Inteligentsensor2のGUIソフト開発(1/3)
Inteligentsensor2のGUIソフト開発(2/3)
Inteligentsensor2のGUIソフト開発(3/3)
Inteligentsensor2GUI.exeの操作方法
ログファイル(default=「logIS2.csv」)について
InteligentsensorのGUIプログラムその3
Inteligentsensor2の多:1通信
ESP32によるUDP通信
(受信機)
受信機にAPの機能を持たせているためWiFiルータは不要です。
SSID:ESP02,PASS:Nakahara3176,ポート:10000です。
また受信機のAPとしてのIPアドレスは192.168.4.1で受信機本体のIPは192.168.4.2が
デフォルトで割りつけられています。
受信機をPCのUSBに繋ぐ(適切なCOM番号をArduinoIDEで確認します)と直ぐにシ
リアル通信がスタートします。
受信機のシリアル通信(UART)のスピードは115200bpsです。(ArduinoIDEのシリ
アルモニタで通信内容が確認できます)
(送信機)
送信機は受信機のSSID,PASS,ポートを設定することでUDP通信を行います。
送信機が送るデータはESP32のADC(内蔵12bit/4ch)のデータを数十msecオーダー
で読み取りパケット送信します。
受信機側から送信機を操作できますが今回は、送信機から一方的にデータを受信する
だけの機能にしています。
ADCピンはESP32DEVKITの34,35,32,33とモジュールピン配置順をch1,ch2,ch3,ch4
としています。送信データは、識別子(A02)をヘッダして、
”A02,ch1,ch2,ch3,ch4”のコンマ区切りの文字列を一行ずつ送信します。
(受信可能距離)
LPWA通信のLoRa(920MHz)は一般的に数キロメータは飛びます。それに比べWiFi
(2.4GHz)は圧倒的に短く10メータ程度です。ESP32DEVKITは10メータ程度です
が同種のWEMOS32D1は5メータ程度で品種による差もあります。ラズパイのWiFiよ
り貧弱です。遠くなれば通信速度やエラーが増えます。UDPは通信確立を保証してな
ので、スピードはLPWAに比べ非常に速いのですが距離が遠くなると通信品質が落ち
るためADCのロガーとしての用途では数メートル以内で行う必要があると思います。
UDP通信システム
2019年作成のLoRaシステムは、受信機をPCのUSBに接続しシリアル通信を行い、送信機からのデータをNode-REDでリアルタイム表示したりタイムスタンプを加えてcsvファイルに保存するものでした。複数の送信機からのデータはデータヘッドの識別子により分離するものでした。今回はESP32のWiFi機能を使い同様なシステムを作成しました。
送信機側のArduinoコード
受信機側のArduinoコード
UDP送受信実験
“ESP_ADC_UDPAP.ino”(受信側コードは共通)
InteligentsensorのGUIプログラムその4
Inteligentsensorによる機械学習GUIプログラムの開発計画
2022年年末でのプログラム開発構想を以下に示します。
応用例を含めて別報告を予定しています。開発の流れを
理解するのに役立てばと思います。
センサデータ測定・学習データ収集・モデル化・異常検出・分類
マイコンを有効活用するためにInteligentsensorを開発しました。
コマンドで複数モードの測定を行うため各コマンドに対応した
Windows-PC用プログラムを開発しました。
操作性と環境依存がないようにpysimpleGUIでGUIプログラム
に改修しpyinstallerを使って実行形式にコンパイルしました。
このスタイルは、Inteligentsensorのプログラム開発だけでなく
カメラ応用プログラムや分光センサの動的測定などに活用で
できるようになりました。
プログラム開発のツールを提供していただいている方々に、改めて
感謝したいと思います。