Raspberry Pi Pico Wで気象観測システムAtmosBot2.0Piをつくる(運用編)
はじめに
前回はAtmosBot2.0Piの準備までをnoteにまとめた。
前回はテストまでをnoteにまとめたが、今回は実運用についてまとめた。テスト過程では見えなかった課題があり、安定した観測まで思いのほか時間を要してしまった。
実際の観測に使ってみる
ユニバーサル基板に配線をして各パーツを取り付ける。
電池ケースのリード線が基板に直接半田付けされているので改善したいけど、すぐにパーツが手に入らないので今後の課題にしておく。
屋外に設置したものが下記の写真。
電池ケースがモバイルバッテリーより少し小さいので防水ケースにかなり余裕ができた。
気圧は正しいのかな?
テスト中から一点気になっていたことがあって、AtmosBot1.0より気圧が2.5hPaほど低めに観測されるようになったこと。
センサーは変えていないが、MicroPythonに変えたのでBME280のライブラリーの問題と思う。
どちらが正しいのか分からないので、iPhoneには気圧センサーが搭載されているらしく、アプリをインストールして気圧を測定してみる。すると、AtmosBot2.0Piの値と0.5hPaほどの違いしかなかった。
と言うことは、これまでのAtmosBot1.0では少し高めに出ていたということか?
安定して測定できるかな?
前回のnoteからかなり間が空いた原因は、安定して連続した観測ができなかったのが一因にある。
3,4日連続して観測はできるのだが、バッテリー切れでないのに途中で観測が停止してしまう。
直接的に原因を掴むことができるログのようなものがあるわけではないので、一旦ホストしているRaspberry Pi上のHTTPのアクセスログやPico Wのソースコードなどから原因を探っていく。
その状況証拠から推測されたことは、Wi-Fi接続ができない場合でも、無限に接続待ちをしている箇所があったこと。
屋内でテストしている場合はWi-Fiへの接続が上手くいかないことはなかったのだが、AtmosBotは屋外に設置しているのでWi-Fiルーターまでの距離が遠く、また夜間は雨戸を閉めていることもあるので、電波状態が安定しないこともあるのだろう。
無限の接続待ちの処理を改善して、テストを続けていると屋外の観測でも途中で観測が停止することがなく(タイムアウト処理を設けて接続NG時は観測をスキップ)、電池切れまで連続して安定して観測できるようになった。
運用中の電池の持ちはいかほどか?
前回のnoteでは、エネループ2本を使った屋内のテストで2週間近く測定ができたことを書いた。
ただ、屋内のテストと違って屋外での観測ではWi-Fiルーターとの距離が遠く電波状態が安定しないが原因と思うが、9日程度で観測終了となった。
下記が観測開始から終了までの電池電圧の変化のグラフ。
モバイルバッテリーだとバッテリー切れまでの時間が安定しなかったが、エネループだと9日程度と安定しているし、電池電圧も合わせてモニタリングできるので電池の交換時期が推測しやすくなったメリットは大きい。
充電式エボルタ(現在エボルタは乾電池専用のブランド)もあるので、これも併用しながら運用していく予定だ。
今後の取り組み
Pico Wを購入してから5ヶ月もかかってしまったが、ようやくAtmosBot2.0Piで安定して観測ができるようになった。
これで終わりではなく、最近になってAtmosBot2.0Piとの通信を現在のHTTPからMQTTに変更したくなった。プロトコル的に軽くなるし、分散処理できるので、Wi-Fiの接続時間の短縮が見込まれるので、電池持ちをより良くすることができるのではと期待している。
最近あまり時間的に余裕がないのだが、できれば年内にある程度道筋を付けたいと思う。