家庭菜園の為に、M5StickCで気温を記録する(UI-Flow)

家庭菜園の記録として、まずは気温をとるようにしたいと思います。その後、クラウドに保存。屋外に設置、最終的には地温、土壌水分、日照、降水、CO2、土壌酸性度なども取れればいいなと。
使うもの
M5StickC + ENV Hat

プログラムはUI Flow でつくります。
Ambient
マイコンなどから送られるセンサーデーターを受信し、蓄積し、可視化(グラフ化)してくれるサービス、Ambient のアカウント。端末8台以下、データ保存1年未満なら、無料で利用できるようです。
M5stickC と ENV HAT で気温を取得

とりあえず、1秒毎に気温湿度気圧を表示するプログラムを作成。
下記の参考にさせてもらったサイトでは、タイマーのコールバックを使ってました。コールバックの方が電力消費的に有利なんかな?あとで調べます。ひとまずは、普通のループで。
データを取得できました。が…
取得した値があやしい。

今は、5月中旬の22時で外は雨。が、画面の表示は、気温29℃、 湿度41%、気圧1008mhp。PCの近くで計測しているにしても、気温高すぎ、湿度低すぎでは?
気象庁の市内のデータは、17℃・94%・1015mhp(計測は屋外だろうけど)、エアコンの体感温度は25度。
結構な誤差、というか誤差の範囲を超えている気が…。とりあえず、何回か測って補正値を出すことにします。
Ambient に データを送る
「data」の中にリストがあって、マップがある。リストを省けないか?と思って調べてみると、少し古いけど公式サイトに情報がありました。
Kenta IDAさんのツイッターでは、apiのアドレスの最後がdataarrayだけど、公式ではdataになっています。
http://ambidata.io/api/v2/channels/チャネルID/data

twitterのプログラムを参考に、data の部分を少し変更して実行してみました。が、10回ぐらいデータを送ってもグラフが表示されません。チャンネル画面の「最新データー登録: -」に日時が入っているので、データが送られているようですが。
とりあえず、ツイッターのサンプルを参考にして、dataarrayで作成するとグラフが表示されました。

今時点のコードはこんな感じです。

上から2つめのブロック「wifi connect」を忘れると、UIFlowでテストしている間は大丈夫だけど、プログラムをM5stickCにダウンロードして実行するとWifiに繋がらなくなるので要注意です。
まとめ
次は、屋外で計測できるように、防水と電源をなんとかしていきます。
課題やスルーした事
タイマーのコールバックを使うのがいいのか?ループがいいのか?
ENV Hat の取得データがあやしい。 補正値を割り出すか? ENV ii unit が出ているので買ってみるか?
ambient のAPI http://ambidata.io/api~/dataarray でなく /dataでグラフが出来なかった原因調査
ディスカッション
コメント一覧
まだ、コメントがありません