雷センサーKaminariBotの設置場所とシステムの変更
KaminariBotの課題
以前雷センサーKaminatiBotについてnoteに書いた。
その後の運用において周囲の電気的なノイズを雷と誤検知してしまうことが多発した。
実家の設置環境の周囲にはテレビや5Gルーターがありノイズの発生源になりそうだ。接続しているRaspberry Piもその一つになる。
アルゴリズムを考えてソフトウェア的にノイズ除去をしようと取り組んでみたが、なかなか上手く行かない。またノイズを除去できたとしても正しく雷を検知できるかどうか、秋以降の雷の発生頻度が低い中で検証することは難しい。
そこで設置場所やシステムの見直しを行うことにした。
設置場所の検討
実家は木造住宅なのでKaminariBotを設置するには適した場所かと思ったが、都合により設置場所が限られている。そのため電子機器に囲まれた場所ではあったが設置していた。
そこで新たな設置場所を実家から自宅に変更することにした。自宅は鉄筋コンクリートの集合住宅なので観測に影響はあるだろうが、北側の窓際にはノイズの発生源になりそうな機器を置いていなのでここを設置場所とした。
Raspberry Pi Zero Wでシステムを再構築する
これまでKaminariBotは実家で常時稼働しているRaspberry Pi 4に接続していたが、設置場所の変更に伴い眠っていたRaspberry Pi Zero W(以下ラズパイZero)を使用することにした。
ラズパイZeroには余っていた容量が少なく古い4GBのSDカードを使うのでRaspberry Pi OS (Legacy) Lite(※)を使うことにした。
バージョンをbookwormではなくbullseye(Legacy)を使うことにした理由はプログラムに使用するGPIOを制御するPythonモジュールの動作に問題があったため。"Failed to add edge detection"というエラーが発生するのだが、この解決方法がよく分からなかったので深入りせず、実家で使っていたものと同様にbullseyeを使うことにした。
またデータベースにInfluxDBを、可視化ツールにGrafanaを使うことを想定しているが、ラズパイZeroでこれらを動作させるにはパワー不足だろう。そのためInfluxDB、Grafanaを自宅で常時稼働しているRaspberry Pi 5で稼働させることにした。
また雷検知の通知にLINE Notifyを使っていたが、AtmosBot同様Line Messaging APIに変更した。
冬の大阪はほぼ雷が鳴らないので雷の検知ができるかどうかの確認はできそうになく、しばらくはノイズ対策の有効性の確認にとどまるが気長に運用していく予定だ。