ESP-PowerMonitorで電流測定 (電流、電力の測定とIoTモニタリング)

概要

基板上に搭載されているINA219を用いて、接続機器の電圧、電流を測定するESP-PowerMonitor用のアプリケーション例です。

測定値をLCD表示するほか、microSDカードへのロギング機能があります。測定結果をグラフ化して分析するなどの応用が可能です。 測定はmsecオーダーの高速モードと、1秒おきの通常モードがあります。測定の開始、停止やログの取得はユーザースイッチのほか、 ネットワーク経由でも制御可能です。

Arduino IDEソースコード

プログラムはArduino IDE形式です。以下よりダウンロードして、お使いのArduino IDEで プログラムを書き込んでください。

Version日付ESP8266core変更履歴
2019_9_62019/9/62.5.2 / 2.5.0WiFi未接続時にcsvファイルの生成に失敗する問題を修正しました。

サードパーティライブラリ

以下のサードパーティArduinoライブラリを使用しています。 ArduinoIDEの”ツール” > “ライブラリを管理”で開いたダイアログから、目的のライブラリを検索し、 ”インストール”を選択してインストールして下さい。ライブラリのインストール方法についての解説も用意しています。

ライブラリVersion内容
SdFat1.1.0SDカードの読み書きに使用します。標準の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から始まるファイル名で保存されます。 インターネットに接続されている場合はファイル名に日時が追加されます。そうでない場合は、起動からの時間がファイル名となります。

LCDにメニューが表示されます

ブラウザからアクセスした場合は現在の電圧、電流値が表示されます。Start Normal RecおよびStop Normal Recボタンを押すと、 ネットワーク上からも通常記録モードを使用することができます。

測定管理ページ

ブラウザからLogタブのリンクを押すと、記録したログファイルのダウンロードができます。

ログファイル管理ページ