ESP32 Rain Alarm
2020.11.21
雨が降ってきたらスマホにプッシュ。Wi-Fi搭載マイコン「ESP32」を利用した雨センサです。
センサ板の櫛形に並んだ電極間が雨で濡れると抵抗値が下がり、コンパレータ出力がH→Lに変化します。
コンパレータ出力の変化を検知しESP32はLINEに雨が降ってきたことを通知します。
LINEへの通知はLINE Notifyというサービスを利用します。
外部のWebサービスなどからLINEに通知が送れるチャットbotのような機能です。
APIが公開されているため特定のWebサービスに限らずESP32からも通知が送れます。
インターネットの接続が必要となりますので今回はESP32をWi-Fi環境で運用しています。
購入したもの
抵抗や乾電池・はんだ・線材等々は元からあったものを使用しました。
食品パックは防水ケースとして使用しました。
回路図
Amazonで買ったセンサをそのまま組み付けたのでは芸がないので一工夫。
ハッシー直伝の回路指南によりコンパレータ出力から反転入力(V-)に帰還の抵抗(1MΩ)を挿入しヒステリシスを持たせました。
センサの感度はボリュームで適宜調整します。
ソースコード
正しい実装かどうかはさておき、とりあえず動きます。
雨が降ってないときは(コンパレータ出力がHのとき)ESP32をDeepSleepに移行し、雨が降ってきたとき(コンパレータ出力がLのとき)に復帰します。
ESP32_Rain_Alarm.ino
参考にしたサイト
LINE Notify API Document
https://notify-bot.line.me/doc/ja/
ESP32のディープスリープを調べる
https://lang-ship.com/blog/work/esp32-deep-sleep/
ESP32とLINE Notifyを使ってナースコール的なのを作る
https://qiita.com/From_F/items/6fc59c50f139f40e52dc
もっと工夫すべきところ
DeepSleepにしたとはいえプルアップ抵抗やパイロットランプに電流は流れているので実はあまり省エネに寄与していません。
外側から電源スイッチを操作できるように防水スイッチを取り付けたいところです。
もっと全体的に防水対策をちゃんとやらないと実用に耐えられません。
センサ板の櫛形に並んだ電極間が雨で濡れると抵抗値が下がり、コンパレータ出力がH→Lに変化します。
コンパレータ出力の変化を検知しESP32はLINEに雨が降ってきたことを通知します。
LINEへの通知はLINE Notifyというサービスを利用します。
外部のWebサービスなどからLINEに通知が送れるチャットbotのような機能です。
APIが公開されているため特定のWebサービスに限らずESP32からも通知が送れます。
インターネットの接続が必要となりますので今回はESP32をWi-Fi環境で運用しています。
購入したもの
抵抗や乾電池・はんだ・線材等々は元からあったものを使用しました。
食品パックは防水ケースとして使用しました。
- ESP32-DevKitC-32D 1480円 (秋月電子通商)
- パワーグリッド・ユニバーサル基板 両面スルーホール Cタイプ 140円 (秋月電子通商)
- 電池ボックス 単3×4本 リード線・フタ・スイッチ付 110円 (秋月電子通商)
- HiLetgo 5個セット LM393 雨滴センサー 天気モニターセンサー 830円 (Amazon.co.jp)
- ナカヤ化学産業 K170 しっかりパックO 280mL 2個入 110円 (Seria)
回路図
Amazonで買ったセンサをそのまま組み付けたのでは芸がないので一工夫。
ハッシー直伝の回路指南によりコンパレータ出力から反転入力(V-)に帰還の抵抗(1MΩ)を挿入しヒステリシスを持たせました。
センサの感度はボリュームで適宜調整します。
ソースコード
正しい実装かどうかはさておき、とりあえず動きます。
雨が降ってないときは(コンパレータ出力がHのとき)ESP32をDeepSleepに移行し、雨が降ってきたとき(コンパレータ出力がLのとき)に復帰します。
ESP32_Rain_Alarm.ino
- 開発環境はArduino IDE 1.8.13です。
- 無保証です。
- SSID、PASSWORD、LINE TOKENは適宜書き換えます。
参考にしたサイト
LINE Notify API Document
https://notify-bot.line.me/doc/ja/
ESP32のディープスリープを調べる
https://lang-ship.com/blog/work/esp32-deep-sleep/
ESP32とLINE Notifyを使ってナースコール的なのを作る
https://qiita.com/From_F/items/6fc59c50f139f40e52dc
もっと工夫すべきところ
DeepSleepにしたとはいえプルアップ抵抗やパイロットランプに電流は流れているので実はあまり省エネに寄与していません。
外側から電源スイッチを操作できるように防水スイッチを取り付けたいところです。
もっと全体的に防水対策をちゃんとやらないと実用に耐えられません。
トラックバックURL
トラックバック一覧
コメント一覧
コメント投稿