kaneko が 2021年05月04日00時03分14秒 に編集
コメント無し
本文の変更
## ■ 概要
## 概要
子供用のお風呂を入れているときによく忘れて溢れ出ることが多いのである一定の水位になったらLINE通知を行うシステムを作りました。 ## 部品 | 部品 | 備考 |
|:---:|:---|
|:---:|:---:|
| obniz Board 1Y | | | Grove_WaterLevelSensor | 水位計 |
| RaspberryPi Zero WH | Nodeサーバー |
| RaspberryPi Zero WH | Nodeサーバー用 |
![キャプションを入力できます](https://camo.elchika.com/3837eb6596c35f7c231a2854a57bfbf4eb1077ed/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f65356435643865392d633164382d346131622d393262342d6666313961373534386632382f62343939346561622d636139382d346564312d623064342d666363303164353931386462/) ## ソースコード `RaspberryPi Zero WH`をNode.jsサーバーとして使用しております。 通知は[LINE Notify](https://notify-bot.line.me/ja/)を使用。 ```javascript:app.js import Obniz from "obniz"; import qs from "querystring"; import axios from "axios" import {LINE_NOTIFY_API_URL,LINE_NOTIFY_TOKEN,OBNIZ_ID} from "./const.js" const obniz = new Obniz(OBNIZ_ID); const config = { url: LINE_NOTIFY_API_URL, method: 'post', headers: { 'Content-Type': 'application/x-www-form-urlencoded', 'Authorization': 'Bearer ' + LINE_NOTIFY_TOKEN }, data:qs.stringify( {message:"お湯がいっぱいだよ"} ) } // called on online obniz.onconnect = async ()=> { const waterLevelSensor = obniz.wired("Grove_WaterLevelSensor", { gnd:0 , vcc:1 , sda:2 , scl:3 }); waterLevelSensor.onchange = (value)=> { console.log(value); // 0 mm - 100 mm if (value > 10) { axios.request(config).then(res=>console.log("success")) } } }; ``` ## デモ動画 @[youtube](https://youtu.be/cFKvfbwQz_g) ![LINE画像](https://camo.elchika.com/ea95844624801c0f656148b94433c19de5ddb8b5/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f65356435643865392d633164382d346131622d393262342d6666313961373534386632382f30636337346233652d313032622d343863322d613130352d626462323038396539336262/)