○きっかけ
空部屋で換気のため窓を開けていますが、以前、雨に気付かず降り込ませてしまったことがありました。夏季は天気予報が晴れでも、とつぜんにわか雨になることがたびたびあります。先回、窓開閉通知機を作成しましたので、窓を開けている時に降雨を検知したら警告音が鳴るようにしたかったためです。
○雨センサーについて
雨センサーはAmazonでもたくさん販売されています。モジュール付きで150円という値段のものもあります。これらの雨センサーは電極間に水分が付着して、わずかに電気が流れるのを検知するものが多いようです。しかし、この様な電極むき出しのセンサーを屋外に設置するというのは、耐久性としてはどうなんだろうと疑問に感じてしばらく躊躇していました。屋外だと設置にも手間がかかるので、安いからといって軽々に採用するわけにはいきません。いろいろ調べていくうちに、ケースに入った状態の静電気容量で雨を検知するセンサーを見つけました。値段は2500円くらいで少々値が張りますが、ケース加工や防水処置とか考えずに、そのまま設置できるのでこれを採用しました。
本体部分は空で、蓋の裏側の部分にセンサーが埋め込まれています。外からみると単なるケースだけで、センサー部分は一切見えません。
静電気容量センサーなので水滴でなくても手をかざしてもセンサーが反応します。
○ハード仕様
センサーは5-30Vですが、屋外までのケーブル長を考えると電圧降下も考慮して12Vで使うことにしました。
入力ピンをプルアップして、信号線(黄色)と繋げてるだけです。降雨を感知すればLOWに落ちます。
回路図
○ソフトの仕様
雨を検知すると、ブロードキャスト(2018/10/4 マルチキャストに変更)(2018/10/25 mqttに変更)でjson形式のパケットを送るという単純なものです。プログラムも他のIoT機からの寄せ集めでできるので、デバッグも含めて半日くらいで完成しました。
窓が開放状態で雨を感知した場合は傘マークを表示し、ブザーで警告するように窓状態受信機(M5Stack)を改修しました。最初、M5Stackで画像ファイルの表示ができずに焦りましたが、ライブラリを更新(ver0.2.2)したら動作するようになりました。
下の天気予報は、Darkskyから取得した当日の予報です。
○センサーの設置
さて、実際に運用をするには、センサーを屋外のとこかに設置しなければなりません。屋根が理想ですがメンテがやっかいです。あれこれ考えて、下記の理由で出入口のひさしの上に設置することにしました。
- 朝日は当たりますが、日中は日陰になるので傷みがすくない(たぶん)
- 脚立で設置ができる高さ(約3m)
- 近くに換気扇があり、屋内に線が引き込みやすい(外壁に穴をあける必要がない)
風向きによっては、雨を検知しない場所ですが、それは目をつぶることにしました。なんなら、もう一つ別な場所に設置すればすむことです。
ひさしに設置は決まりましたが、あとは施工方法です。木製ならタッピングネジを留めて終わりですが、アルミ製なのでそう簡単にはいきません。いろいろ検討しましたが、在庫のあった石膏ボード用のドグルアンカーを使うことにしました。ただし板厚が違うので2mm板ゴムでスペーサーをつくりました。板金用の「POPジャックナット」や「ゴムアンカー」というものがあるようですが、今回は有り合わせで間に合わせました。IoTは現場に設置する段階で、取付場所や施工方法で頭を悩ますことが多いのが現実です。
○やっぱり運用すると問題がでるもんです
運用を開始するとセンサー感知が想像したのと違っていました。机上では水滴が落ちるとLOWになるので、簡単だと思っていたのですが、取り付けた場所がひさしの上、つまり傾斜のあるところだったので、すぐに水滴も流れてしまい、チャタリングのような状態になってしまいました。しかたがないので、最初の信号の立下がりだけ見て、後は無視させることにしました。今回は雨の降り始めだけ感知できればいいので、この仕様でなんとかなりました。雨上がりも感知させようとすると、いろいろ工夫が必要になると感じました。
以上