簡易水位監視装置「生産二課・みずた係長」の製作メモ②
IchigoJamで作る、田んぼの簡易水位監視装置「生産二課・みずた係長」が駐在してから概ね1週間、その経過報告と改修状況です。(→前回投稿)
センサーの状況
実際に運用するにあたって気になっていることがいくつかありますが、そのひとつが、センサーとなるフロートスイッチの信頼性・耐久性です。
まだ1週間ほどですので、梅雨が明けて本格的に夏が来ないと実際のところはわかりませんが、見た目きゃしゃなフロートを屋外で使用しますので、すぐに壊れたり、そもそもきちんと動くのかも心配していました。
が、今のところは順調です。水位の増減に合わせて、各フロートがしっかり仕事をしてくれています。
防水対策も問題なさそうです。
↑水位低下(全フロートが下がっている)
↑水位上昇(全フロートが浮いている)
バッテリーの状況
電源は、手元にあった45,000mAhのアウトドアバッテリーを使用していました。USBポートのほか、コンセント端子もついているものです。
ただ、USBポートでは省電力過ぎて自動OFFが働いてしまいますので、コンセント端子にUSB充電器を差して、そこから電源を取るようにしていました。(コンセント端子は自動OFFなし)
が、考えてみたら100Vに昇圧して、5Vに落として、みたいなとても非効率な状況で、まる3日で電池切れとなりました。。。
そこで、USBポートから電源を取るべく、自動OFFが働かないよう、ちょいちょい電流を流してくれる「USBload」というモジュールを調達。
約20秒で自動OFFになるため、直前の16秒ごとに電流を流してくれます。
コンセント端子を使うより省電力で、バッテリーの減り具合は効果抜群、良好です。
通信の状況
sakura.ioのLTE通信は問題なしです。データの欠損もなく、きわめて良好。
ただ、省電力化の対策をまったく考えていませんでしたので、一部改修してみました。
省電力化にむけて改修
sakura.ioの通信モジュールには、無通信時に自動的にスリープになる「オートスリープ」と、通信を切断して停止状態にする「DeepSleep」のふたつの省電力機能があります。(→さくらのIoTブログ/sakura.ioモジュール(LTE)の省電力機能)
現在の水位データの送信は約15分間隔ですので、待機中は、このうちのDeepSleepにしてみました。
IchigoSodaの基板上には、DeepSleepを指示する信号(WAKE信号)を受けるかどうか設定できるスイッチがついていますので、2番のスイッチをON側(左側)へ切り替えます。(画像では1番、2番ともON側になっていますが、2番側だけで大丈夫です)
次にプログラムの確認。
IchigoJamからは次のコマンドでDeepSleepの指示を出します。
OUT 8,0
これで、DeepSleepとなり、通信回線が切断されます。
再接続するときは、
OUT 8,1
です。
通信回線がいったん切断されていますので、起動時と同じく、再接続時には約1分程度かかります。
これで、待機中は無通信になりますから、省電力につながる予定です。
ただ、DeepSleepを制御するOUT8は、IN1と共用で、IN1には1番フロートを接続していますので、同時に使用することはできません。1番フロートを別の端子に移します。
移動先は、IN5にしました。IN5は、OUT1端子のことです。(これも共用)
そのままでは、出力のためのOUT1として機能しますので、入力のIN5として使えるようにIchigoJamのコマンドで、次のように切り替えます。
OUT 1,-2
これで、OUT1端子が入力用のIN5端子(内部プルアップ付き)に切り替わります。
ちなみに、
OUT 1,-1
の場合は、内部プルアップが無いIN5となります。
プログラムの改修
以上を踏まえて、プログラムを改修します。
10 @ARUN
20 VIDEO 0
30 OUT 1,-2
40 '
50 WAIT 7200
60 '
70 N=0
80 [0]=IN(5)
90 [1]=IN(4)
100 [2]=IN(9)
110 '
120 IF [2]=1 THEN N=3:GOTO 150
130 IF [1]=1 THEN N=2:GOTO 150
140 IF [0]=1 THEN N=1
150 '
160 IOT.OUT N
170 '
180 WAIT 3600
190 '
200 OUT 8,0
210 '
220 FOR I=1 TO 3
230 WAIT 60*60*4
240 NEXT
250 '
260 OUT 8,1
270 '
280 GOTO 40
主な改修点は、
- OUT1を内部プルアップ付きのIN5に切り替えます。(30行)
- 起動後約2分間、通信が接続されるまで待機します。(50行)
- sakura.ioへの送信後、念のため約1分間待機します。(180行)
- DeepSleepで通信を切断。(200行)
- 約12分間待機。(220~240行)
- その後、通信を再接続。(260行)
設置からの1週間まとめ
改修後の状況は、今後改めて追記していきたいと思いますが、これまでの1週間のグラフは次のとおり。
雨も降らず、水路に水が無かったり、水路に水が来たと思ったら雨が降ったりと、簡単な3つのスイッチだけで得たデータですが、田んぼの水の状態を的確に表していると感じました。
なかなか使えるみずた係長!
引き続き、係長からの報告を待ちたいと思います。