今日、過去最強級のスーパー台風、19号がやってきました。
スマホのアラートが鳴り響き、大雨警報を伝えます。河川の氾濫可能性もあるようです。
玄関への浸水を感知する仕組みを、取り急ぎobnizとIFTTTで作りました。
気づかないのは怖い
自宅は一軒家。2階で台風が過ぎるのを待ちます。
雨戸を締め切り、外の様子が分からないので浸水しても気づきません。
浸水に気づかないのも怖いので、感知できる仕組みが欲しいと思いました。
obnizと土壌湿度センサーがあった
緊急を要するとき、高速でIoTを構築するならobniz。
運よく土壌湿度センサーを持っていたので、この組み合わせで浸水を通知する仕組みができそうです。
obnizのパーツライブラリで土壌湿度センサーSEN0114のコードがありました。
これを参考に・・・あれ?ピンの数が違う。
うちにある土壌湿度センサーは4つピンがあるのですが・・・4本目は無視しましょう。
サンプルコードを走らせ、センサーをobnizに挿し、水に入れると・・・
ちゃんと、感知しました。
水没した時にイベント発火するコードに
センサーが水没したとき、LINEに通知したいと思います。
まずは骨組みを作ります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
var sensor = obniz.wired("SEN0114", {vcc:0, gnd:1, output:2}); var isWSubmerged = false; function postForm() { // のちにwebhookを使う } sensor.onchange = function(value){ if(!isWSubmerged && value < 1){ isWSubmerged = true; postForm(); console.log("水没!!!"); } else if(isWSubmerged && value > 4){ isWSubmerged = false; console.log("水からでました"); } }; |
水に入れると「水没!!!」とコンソールログが出ます。
これを元に、水没した時、webhookをトリガーにして、LINEに通知するようにします。
IFTTTでLINEと連携
複数のサービスを連携してくれるIFTTTの出番です。
obnizはJavaScriptを使うので、webhookと相性が良いと思います。
指定のURLをPOSTすれば、LINEにメッセージを送る仕組みを作れます。
IFTTTの設定については時間がないので割愛します。
適当にボタンを押していると、連携できました。
玄関の下に設置
家で一番低い位置、玄関に土壌湿度センサーを設置します。
大型のモバイルバッテリーと繋いでいます。
センサーを水に入れると・・・
水没通知が届きました!
PCかスマホでコードを起動していないといけないのですが、災害情報を知るためにPCが起動しっぱなしなので、今回は問題ありません。
今度はバタバタせず、台風が来る前に浸水感知の仕組みを設置しておこうと思います。