はじめに
ダイソーなどの100均グッズで、クローゼットの”中”に設置するLED照明があります。クローゼットの扉に磁石式の開閉センサーを付けて、扉が開くと点灯、閉じると消灯する仕組みです。この開閉センサーをハサミで切ってRaspberry PIに付けて、(雰囲気だけですが)扉の開閉を監視しスマホに通知する仕組みを作ってみました。
なお、大半の説明は、以下の記事に機能を追加したものなので、お手数ですが併せて御覧下さい。
Node-REDからMicrosoft Flowをhttps(POST)を使って呼ぶ(以下、前記事と記す)
http://qiita.com/arrowmeiwaracing/items/600b30c473a3aac22437
※使用しないLED部分は、”後でスタッフがおいしくいただきました。”
概要
- Raspberry PI(2B+)に開閉センサーを取り付ける
- Microsoft Flow上にセンサーの状態を受信してスマホへ通知するフローを作成
- Raspberry PI上にセンサーの値を読んでFlowに送信するNode-REDフローを作成
- 動かしてみる
1. Raspberry PI(2B+)に開閉センサーを取り付け
- 100均LED照明の磁石式開閉センサー部分をハサミでカットし、ブレッドボード等で使用しやすくするためにピンを圧着(ピンは秋月電子通商で通販にて購入した)
- Raspberry PI(2B+)に開閉センサーを、40番GPIO-21と39番GNDへ”内部”Pull UPにて接続(外部に抵抗をつけたい場合は10KΩ程度のものでPull UP)
2. Microsoft Flowの設定
- プロパティaのみ使用するために、前記事の「要求」フローのJSONスキーマのプロパティaの属性をintegerに変更し、さらにb、cを削除
- 「応答」フローの下に「Send a notification」フローを追加
3. Raspberry PI上のNode-REDの設定
- GPIO入力ノードを図のように設定(値が変化するとイベントが発生する)
- GPIOで入力した値をJSON形式に編集
- Microsoft Flowを呼び出し
4. 実行
- スマホにMicrosoft Flowアプリをインストールし、Flowと同じアカウントを設定(設定後、アプリは終了してよい)
- 開閉センサーを近づけたり、離したりするとスマホの通知欄にアイコンが表示される。開いて内容を確認する
終わりに
実は、IoTノード側をESP-WROOM-02+Arduino開発環境で行っていましたが、どうやってもhttps-POSTができず、5H以上嵌って諦めました。そこでお手軽なRaspberry PI+Node-REDに変えてみたら5分かからず作れましたorz。
いずれESPで再度試してみたいと思っていますが、しばらくは面倒くさい。。。。
最後までご覧いただき有難うございました。