1. はじめに
入室管理をするにあたり、カードをタッチしてもらうのは面倒.
そこでBLEで管理できないかなと思い、実験してみました.
結論として、
・BLEビーコンの検知
・Gmailでの通知
まで実現できましたが、M5Stackの長期安定運用には工夫が必要であることが分かりました.
本記事では、試作したシステムの構成を紹介します.
2. 使用する機材
・SANWA SUPPLY MM-BLEBC8
https://www.sanwa.co.jp/product/syohin?code=MM-BLEBC8
裏面にBluetooth MACアドレスが記載されている.
・M5Stack ATOM Lite
Wifi(2.4GHz)に対応.
・SwitchBot スマートプラグ プラグミニ
Wifi(2.4GHz)に対応.
テザリングでも初期設定は完了できます.
3. どんな設計か
当初は https://apps.apple.com/jp/app/beacon-simulator/id1380778696 を使用してiPhoneを送信端末として利用することを検討しました.
しかし、バックグラウンドではBLE Advertisingが制限されることが分かったため断念.
MM-BLEBC8を採用することで、以下の構成になりました.

ATOM Liteの状態表示
机の上に置いていても邪魔にならない製品はないかと探していたところ、ATOM Liteと出会いました.
MM-BLEBC8のBluetooth MACアドレスを登録し、ATOM LiteでBLEスキャンを実施して検知します.
RGB LEDが搭載されているため、
・青点灯 電源投入時
・青点滅 Wi-Fi接続先探索中
・赤青交互点滅 BLEスキャン中
と状態を表現できるため、便利です.
メール送信
検知後の通知はpostfix + Gmailを使用しました.
Gmailでの送信はGoogle accountからApp passwordを発行することによってできます.
詳しくはこちら.
https://qiita.com/StarChun/items/e784b03c22a2b2de9802
通知メールには rinna/japanese-gpt-neox-3.6b-instruction-sft-v2 を利用して生成した「今日の運勢」も添付しています.
https://huggingface.co/rinna/japanese-gpt-neox-3.6b-instruction-sft-v2
SwitchBot スマートプラグ プラグミニ
数日経過するとATOM Liteが止まってしまう問題がありました.
TeraTermでログを取得しましたが、原因が分からなかったため、物理的に電源をon offすることで解決できそうだと導入.
しかし、以下の問題がありました.
Wifiに接続していない状態において、
・オートメーションの実行だとATOM Liteの電源はつくが内部処理が実行されず固まったまま.
・SwitchBotアプリから手動で電源を付けると処理が開始される.
SwitchBotアプリの「オートメーションを編集」の中に 実行方式:クラウド と書かれているため、プラグミニはWifi(2.4GHz)に常時接続することが前提なのかもしれません.
4. まとめ
BLEビーコンを持った人が部屋に入ったことを検知し、メールで通知するシステムを試作しました.
今後退出の検出もできないかと検討中です.
ATOM Liteが停止する原因が、BLEスキャンの長時間実行によるものなのか、それともWiFiとBLEの同時利用によるものなのかは現時点では不明です.
今後ESP32の仕様も含めて調査を進めたいと思います.