やりたい事5:色々と改良

その後、ArduinoとWebページ側で色々改良を加えたため、ここで解説するのが困難となってしまったので、一旦Arduino電力計Ver3として、ソースコードを公開することとしました。

改良ポイントは、以下の通り

≪Arduino≫

1.サンプリング周期を200→160usに向上

2.最新の消費電力を20秒間隔で送信

3.DB登録用の消費電力は2分間隔で送信

4.データPOSTまでの集計処理をloop()の中で実行できるように修正

5.買電力、売電力の値を送信する機能追加

6.POSTメッセージにパスワード設定できるように機能追加

≪Webページ≫

1.トップページで最新の消費電力を表示できるように改良

(Memchacheを使用して、DB負荷を上がらないように考慮)

2.DB負荷が下がるように、30分に1回だけ日単位と月単位のDB登録するように修正

3.1日に1回、電力レポートを特定メールアドレスに送信する機能追加

4.POSTメッセージのパスワードが一致しない場合、DBに登録しない機能追加

5.消費電力表示の機能追加

と、こんな感じです。

V3.0のソースの変更する必要が有る箇所

≪Arduino側≫

watt30_up.ino

//イーサネットシールドのMacアドレスに変更します
byte mac[] = { 0x??, 0x??, 0x??, 0x??, 0x??, 0x?? };
//GAEのドメイン名に変更します
#define SERVERNAME "??????????.appspot.com"
//HTTP Post時に付与するパスワード(GAE側の受け取り時パスワードと同じ物)
#define PASSWORD "??????????"

≪Webページ側≫

requests.py

Arduinoで設定したパスワードを設定します

            if pwd1 != '??????????':
                raise "PASSWORD ERROR."

requests.py(send_email)

電力レポートを送信するMailアドレスに変更します

       sender_address = "you <?????@??????????>"

app.yaml

GAEのアプリケーション名に変更します

application: ????????

ソースはこちらにアップしてあります

おっさんのフォーラム