概要
基板上に搭載されているINA219を用いて、接続機器の電圧、電流を測定するESP-PowerMonitor用のアプリケーション例です。
測定値をLCD表示するほか、microSDカードへのロギング機能があります。測定結果をグラフ化して分析するなどの応用が可能です。 測定はmsecオーダーの高速モードと、1秒おきの通常モードがあります。測定の開始、停止やログの取得はユーザースイッチのほか、 ネットワーク経由でも制御可能です。
Arduino IDEソースコード
プログラムはArduino IDE形式です。以下よりダウンロードして、お使いのArduino IDEで プログラムを書き込んでください。
Version | 日付 | ESP8266core | 変更履歴 |
---|---|---|---|
2019_9_6 | 2019/9/6 | 2.5.2 / 2.5.0 | WiFi未接続時にcsvファイルの生成に失敗する問題を修正しました。 |
サードパーティライブラリ
以下のサードパーティArduinoライブラリを使用しています。 ArduinoIDEの”ツール” > “ライブラリを管理”で開いたダイアログから、目的のライブラリを検索し、 ”インストール”を選択してインストールして下さい。ライブラリのインストール方法についての解説も用意しています。
ライブラリ | Version | 内容 |
---|---|---|
SdFat | 1.1.0 | SDカードの読み書きに使用します。標準のSDライブラリと違って長いファイル名が扱えるため、 こちらを使用しています。 |
プログラムの準備
PowerMonitor.inoファイルの19, 20行目にお使いのWiFi SSIDとパスワードを入れてください。 Bootstrapコードをインターネット上から取得しているのでインターネットに接続されたWiFiをご使用ください。
const String wifiSSID = "yourssid"; // お使いのWiFiのSSIDを入力してください
const String wifiPass = "yourpassword"; // お使いのWiFiのパスワードを入力してください
IPアドレスを固定したい場合はPowerMonitor.inoファイルの92行目で設定して下さい。
デフォルトではSDカードにログ情報を書き込むようになっています。SDカードをFAT32でフォーマットし、 常にスロットに入れた状態でご利用ください。アクセス時にSDカードが無いとフリーズすることがあります。 SDまたはSDHC規格のものをご使用ください。SDXCには対応しません。
SDカードを使用せず、内蔵フラッシュのSPIFFS領域に書き込むように変更することも出来ます。 その場合はStorage.hの10行目のコメントを外してdefineを有効にしてください。
//#define STORAGE_SPIFFS // SDカードの代わりに内蔵フラッシュのSPIFFSを使用する場合にコメントを外す
使い方
測定対象機器の接続はESP-PowerMonitorサポートページをご参照ください
電源を入れてシリアルモニタを開いてプログラムを書き込んでください。 起動して正常にWiFiに接続すると以下のようにIPアドレスが表示されます。 同じWiFi上のPCやスマホのブラウザを開いて、http://IPアドレス/ina219.php を開くことで、 ネットワーク上から測定値の確認、ログのダウンロードなどが行えます。
-----------------------
Program Start
WiFi Connected IP : 192.168.2.21
2016/11/19 20:54 TimelyTaskManager Started
2016/11/19 20:54 Web Server Started
起動後はメニューモードに移行します。LCD上にどのスイッチを押すとどのモードになるかの指示が表示されます。
SW2を押すとディスプレイモードになり、測定電圧と電流の値がLCDに表示されます。(記録は行いません)
SW3を押すと高速記録モードになり、msecオーダーで測定値をストレージに記録します。高速記録中はHTTPアクセスなどは受け付けません
SW4を押すと通常記録モードになり、1秒おきに測定値をストレージに記録します。
ディスプレイモード、高速記録モード、通常記録モードで動作中は、SW2, 3, 4のいずれかを押すと終了し、メニューに戻ります。
高速記録はFから始まるファイル名、通常記録はNから始まるファイル名で保存されます。 インターネットに接続されている場合はファイル名に日時が追加されます。そうでない場合は、起動からの時間がファイル名となります。
ブラウザからアクセスした場合は現在の電圧、電流値が表示されます。Start Normal RecおよびStop Normal Recボタンを押すと、 ネットワーク上からも通常記録モードを使用することができます。
ブラウザからLogタブのリンクを押すと、記録したログファイルのダウンロードができます。