消費電力測定への道 (導入編 Part1)

さて、ようやく仮設で1回路は計測が出来るようになったのですが、これでは
Arduino(マイコンボード)とPCを接続していないと計測結果が分かりません。
Arduinoを購入しようと思った際に、先駆者がArduinoを使って計測し、
Pachube(パッチベイ)という情報共有サイトへアップロードするやり方を紹介していました。

------www.pachube.jpより抜粋---------------------------------------
Pachube(パッチベイ)はhttp://www.pachube.com にて提供されるウェブサービスで、世界に存在するモノやデバイス、建築、環境などから、センサーで読みとったデータをリアルタイムにタグ付けや共有を行なうことができます
-------------------------------------------------------------------

Pachubeを使って計測している方のスケッチもHPに掲載していたので、確認したのですが、Arduino自体が、サーバに定期的にアップロードする方法でした。
でもって、APIを使っているので、むむっ。俺には敷居が高い・・・。

最終的には、MRTG(データはRRDにて)にハンドリングさせたいのだが、

という事で、出来れば、自鯖からArduinoに値を取りに行く方が楽そう・・・と思ったのです。
Arduinoから自鯖への通信の場合、
(1) [Arduino側] Arduinoで計測
(2) [Arduino側] 計測したデータを自鯖の一時領域へ転送
(3) [自鯖側] 定期的に一時領域のデータをMRTGにて保存
という、ちょっと手間かな・・・と思ったわけで・・・

自鯖からArduinoへの通信の場合
(1) MRTGで外部スクリプトが、Arduinoへ接続し計測データを取得

「1つスクリプト書けば良いんじゃね?」
と思ったわけです。

では、Arduinoをサーバにしてしまおうと思ったのですが、マイコンボードなんて初めて買ったので出来るの?と思ったわけです。
また出来ても、プログラムは俺は書けねぇ・・・・

気を取り直し、google先生に質問をする。やっぱり、そのままコピペしたい
(楽したい)という願望からピンポイントで質問したのが、まずかった。
・猿でも分かりやすく紹介しているページ
(マイコンボードを取扱う時点で、無謀?)
・ Arduinoで電力計測
・プログラム(スケッチ)を掲載
・ Arduinoはサーバとして機能させている

で英語ページを敬遠している私は、見つけ切らなかった。

ん〜。と悩んでいたのだが、 Arduinoの開発環境にスケッチのサンプルがあるではないか・・・
そこに、「WEB SERVER」や「WEB CLIENT」もあり、お〜〜〜〜〜〜〜〜〜〜。本当に至れり尽くせり。
でもって、とりあえずサンプルをコンパイル後、アップロードさせる。
別のPCからブラウザで接続させると、アナログの生データを表示されている。
よっしゃ。これで行こう。
※ 後になってgoogle先生に「Arduino WEB SERVER」で質問したら、色々出てきた。ネットで調べる時って、検索キーワードを連想する力も一つの能力だよね・・・
ちょっとキーワードを変えただけで、知りたい情報が出て来るのだから・・・

ここまでくれば、
(A)「WEB SERVER」のサンプルスケッチ
(B)「wattmeter2」のサンプルスケッチ
の2つを参考にまとめてしまえば、電力計測結果をHTMLで返答してもらえる。
という訳で、ほぼ計画通りに進みそうです。

単純に考えるなら、
(A)のアナログの生データを表示させている部分に(B)をくっつければ良いだけで、とりあえず、1回路分だけやってみる。
「変数宣言とかは、冒頭に書いておいて」と、この処理はこのへんで良いんじゃ・・・と、適当に・・・変数名はそのままで、とりあえずコンパイルさせて
アップロードした。
※ この時点では、センサーはくっつけていない。プログラムがまともに動いてからセンサーつけても十分間に合う。

しかし、まあ1発では無理ですよね・・・・
ブラウザで接続出来ると時と出来ない時が発生。
Perlの初歩の初歩レベルなのですが、命令文はwhileやifはperlでも出てくるので、なんとなく、ここに挿入したらマズイのか・・・と思いながら。

本来ならArduinoで定期的に電力測定結果を持っておき、ブラウザでアクセスがあった際に、既に計測済みの結果を表示させようと思っていたのだが、
計測開始してから、結果が出るまでに0.5秒〜1秒ほどかかる。
これは、実効値を出来る限り正確に出すように、ある値をサンプリングしているからなのだが、今回、これが仇になってしまったようだ・・・
私がよく見ている「にこ動」の電子回路の動画をupされている方で、タイミングよく「割り込み」の事を講義されていたので、すぐにピンときましたよ・・・・。

ようは、この0.5秒から1秒の間は、電力の測定結果を出すために処理が行われているので、ブラウザの
接続が出来なくなる。これを解消するには、「割り込み」を使えばよさそう・・・と。
でも、マイコンボード初心者に、いきなりこれはキツイ。ある程度レベルアップしてからでないと・・・
という事で、事前に計測しておくのは諦めた。
ブラウザで接続があった後に、電力の測定を行い結果を返すようにする。
まあ、接続して1秒ほど間があくが、仕方がない。
また、あくまでサンプルレベルなので、HTTPの同時接続も同じ理由によりNGと気がつく。

あ。意外と考えないとダメかも・・・・と思い始めた。

前へ

消費電力測定への道 (組立て編 Part3)

次へ

消費電力測定への道 (導入編 Part2)