LoginSignup
20
24

More than 5 years have passed since last update.

Wi-Fi&BluetoothモジュールESP32とBLEタグで誰かの在宅状況を見守ってみる

Last updated at Posted at 2019-01-05

本記事は、2018年5月に別の場所へ書いた記事の転載です

概要

子供のランドセルとかに付けた BLE (Bluetooth Low Energy)タグのIDをモニタリング、家から出発したり家に帰ってきたことを検知してLINEに通知してくれる見守りセンサを作ってみました。
見守りセンサ
見守りセンサの中身は、数百円で入手できてしまうWi-FiとBluetoothが一体になった小型モジュール ESP32 (ESP-WROOM-32)です。前回のESP8266と同様、技適取得済みで安心、入手も容易です。
BLEタグ
BLEタグの方は、mamorio などの紛失防止タグをそのまま使います。要は、BLEのadvertisingパケットを出し続けてくれていればなんでもOKです。

実装

苦労したポイントだけをザックリまとめておくと、、、

  • ESP32上でWi-FiとBluetoothを同時に使うときのメモリ不足
    ---> Arduino IDEのビルドオプション変更で解決 (詳しくは「参考」を参照)
  • ESP32上で無線LANとBluetoothを同時に使うときの電源容量不足
    ---> 電源回路用のレギュレータを高性能なものにして解決 (ADP3338)
  • 1台のESP32だけでは、BLEタグを検知できる範囲が狭い
    ---> 複数台の検知結果をクラウド側で統合して解決(※)

(※) 見守りセンサのESP32は、BLEタグをスキャンしたスキャン結果をAWS上のWEBサービス (AWS Lambda + DynamoDB + API Gateway) とHTTPSでやり取りし、見つけた/見失ったIDがあった場合にはIFTTT経由でLINE通知します。(詳しくはコードを参照)

回路図とコード

見守りセンサの回路図は以下。
フリスクケースに収まるよう部品点数はなるべく減らしたつもりです。
見守りセンサの回路図
見守りセンサで動くコード(ESP32向けのArduinoコード)と、クラウド側で動くコード(AWS Lambda上で動くPythonコード)を以下に置いておきます。
nikotan/BLETagMonitor_esp32.ino - GitHubGist
nikotan/BLETagMonitor_lambda.py - GitHubGist

実際しばらく使ってみると、在宅状況を把握できるだけで得られる安心もあるということが分かりました。

参考

今回のハードとソフトを作るにあたっては、以下の記事などを参考にしました。

20
24
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
20
24