meideru blog

家電メーカーで働いているmeideruのブログです。主に技術系・ガジェット系の話を書いています。

ドアの開閉をLINEに通知してくれるデバイスを作ってみた(ESP-WROOM-02)

      2019/03/28

ドアが開いたらLINEに通知を送ってくれるデバイス

社会人になって一人暮らしを始めました。

留守中、知らない人が家に出入りしているのではないかと心配になることがあります。

そんな問題を解決するために、ESP-WROOM-02を用いてとあるデバイスを開発しました。

ドアの開閉を検知してLINEに通知を送ってくれるデバイスです。

今日は作り方を紹介したいと思います。

概要

私のTwitterにアップしたものと同じですが、デバイスの動作をYouTubeにあげました。

 

マグネット式のドアセンサーが開閉を検知して、Wi-Fi経由でLINEに通知を送ってくれるという、とてもシンプルな作りです。

主な部品

抵抗や基板、タクトスイッチ等の細かい部品の説明は省かせていただきます。

主な部品は以下の2つです。

  • ESP-WROOM-02-DEV(Wi-Fiモジュール)
  • MCD-14AG(磁石式ドアセンサ)

ESP-WROOM-02-DEV(Wi-Fiモジュール)

ESP-WROOM-02の開発ボード

秋月電子: ESP-WROOM-02-DEV

 

Wi-Fiモジュールが含まれたマイコンです。

Arduinoと互換があるのでスケッチから書き込みができます。

 

実は、このマイコンは過去に使ってことがあります。シンプルでとても使いやすいです。

世間では「IoT(Internet of Things)」というワードが話題になっています。IoTとは、ありとあらゆるものがインターネットにつながる仕組みのことです。今日はIoTに関する記事です。ESP-WROOM-02の開発ボードのWi-Fi機能を試しに使ってみました。ESP-WROOM-02とはESP...

MCD-14AG(磁石式ドアセンサ)

MCD-14AG(磁石式ドアスイッチ)

秋月電子: MCD-14AG

 

磁石でスイッチの開閉を判断できるデバイスです。

ドアが開いているときにLEDが点灯するので、デバッグがしやすいです。

仕組み

ドアが開いたらLINEに通知を送ってくれるデバイス

雑多な資料ですが、仕組みは上の画像のようなイメージです。

  1. MCD-14AG(ドアセンサ)の信号の変化をESP-WROOM-02-DEVが検知
  2. ESP-WROOM-02-DEVがWi-Fiルーター経由で自宅サーバーにPOST通信
  3. 自宅サーバーがREST APIを用いてLINEのMessaging APIを叩く
  4. Messaging APIからスマホのLINEアプリに向けてメッセージが送られて来る

自宅サーバーを経由してMessaging APIを叩いている理由は、自宅サーバーにログを残したいからです。いつドアが開閉されたのかをテキストベースで残すようにしています。

レシピ

デバイスの回路図

ドアが開いたらLINEに通知を送ってくれるデバイス

 

とてもシンプルな回路です。

型番が違いますが、SPS-320がドアセンサのことです。これをマイコンに向けてプルアップセンサでつないでいます。

デバイス側のソースコード

 

上部のグローバル変数を書き換えれば、Wi-FiのSSIDやパスワード等の設定が変更できます。

デバッグやエラー等のログをターミナルに出力するようになっています。

サーバー側のソースコード

 

サーバー側にログを残してからLINE Messaging APIを叩く仕組みになっています。

課題・改善点

スリープモードできるようにしたい

ESP-WROOM-02-DEVの現在の作りでは、常時ドアセンサの変化をチェックする作りになっています。

ハッキリ言って電力の無駄です・・・w

常時スリープモードに入れといて、ドアセンサの信号の変化を検出したら割り込みで起きて通知を投げる作りに変更したいです。

私はモチベーションがないのでやらないので、誰かやってくださいw

ターミナル経由で設定を行えるようにしたい

現状、Wi-FIのSSIDやパスワード等の設定を変更するには、いちいちファームを書き換えなくてはならない作りになっています。

これらの設定をターミナル(UART)経由で行えるようにできたら便利だと思います。

これも同様にモチベーションがないのでやりませんw

誰かやってくださいw

まとめ

ESP-WROOM-02はとても使いやすく、特に困ることはありませんでした。

オススメですので、みなさんも使ってみてください。

※ 何か疑問点等があればお気軽にコメントにお書きください!

 - 技術系