LINE Beaconで子供の送り迎えを見守れるか？

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2267750/171d761f-27d5-5a1c-0268-8877008fb74b.png)

# はじめに

この記事は[IoTLT](https://qiita.com/organizations/iotlt)の[Advent Calendar 2024](https://qiita.com/advent-calendar/2024/iotlt) に向けて書いた記事です。コミュティーに顔を出したいと思いながらも、また1年が過ぎようとした中で、せめて年末に記事を1つでも残していければと思い書きました。

昨年に念願のマイホームを手にしたのですが、あまりにも欠陥が多く不具合の修理に追われながらの日々を暮らしています。

# 子供の送迎の悩み

さて、今の所に住んでから、子供の送り迎えを車でするようになったのです。私か妻かどちらかで、普段は妻に行ってもらってるのですが、仕事で残業した場合に迎えの時間に間に合わない可能性があります。

今までは家の近くまで送迎バスが出ていて、バスが来る時間に迎えの場所に行けば良かったので、そのような悩みはありませんでした。

妻が迎えに間に合わない時は私が行くのですが、代わりに行ってきて欲しい時の連絡をどうするか、 **忙しいから残業するのでそんな中で連絡なんてできない。**

何かITの力で解決できないか？

それが今回のネタです

# 解決案

いくつか解決方法を考えてみました。

## 1. 迎えに行ける時は連絡する

一番シンプル。だけど **連絡するのが面倒** 。忘れる時もあるかもしれないし、時間に余裕がない時は連絡できないので運用に無理があると思いました。却下

## 2. 位置情報の共有

コネクテッドカーのように、ネット上で **車の現在位置を確認できる物** があります。移動しているのが分かれば仕事が時間内に終わって迎えに行っているのが把握できます。

でもそれは、機器や通信料のコストがかかるのと、監視されてる感じがするので却下となりました。

# 車の始動で通知ができれば

シンプルで、ローコストな仕組みで何とかできないかと目についたのが、この記事でした

* [LINE Beaconの擬似無限プッシュでLINE公式アカウント無料枠の制限に立ち向かう話 #linedc #iotlt](https://qiita.com/n0bisuke/items/9916a52bce75f220d0ec)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2267750/39f38361-a44e-6082-ef01-998ef5222d9d.png)

2年前の [Advent Calendar](https://qiita.com/advent-calendar/2022/iotlt) の記事です。

LINE BeaconでメッセージをPushできれば、何とかなるかも？

## LINE Beaconとは

公式のドキュメントはこちらですが、
 * https://developers.line.biz/ja/docs/messaging-api/using-beacons/#getting-beacon

上の記事に簡単にまとめられてたので引用です

> そもそもLINE ビーコンが最近あまり聞かないので初耳の人もいるかもしれませんが、LINE Messaging APIの機能の一部のような立ち位置で、登録しているビーコンデバイスとLINEアプリ（をインストールしているスマホ）が近づくと反応してメッセージを配信してくれる仕組みです。

車のイグニッションスイッチに連動してビーコンデバイスが起動すると、スマホはビーコンデバイスに近づいた状態を同じとなり、メッセージがPushされる。

メッセージが発信されれば、私は迎えに行く必要が無く、メッセージが無ければ迎えに行かなければならないと判断できそうです。

# 装置の試作

参考の記事ではSeeed Studio XIAO ESP32C3を使ってましたが、同じESP32のデバイスで手元にM5STACKシリーズの **ATOM LITE** があったので、それでやってみました。デバイスが違うだけで手順はほぼ同じです。

![atom_lite.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2267750/278be834-057c-6376-fb50-4b7f48c868b3.jpeg)

うこ氏が作っているGreen Beaconというライブラリを使えば Arduino IDE で書き込みするだけです。手順は記事の通りなので省略します。ボードの選択が変わるだけでしょうか

たったこれだけで、簡単にLINE Beaconデバイスが出来上がります
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2267750/554b27fd-231e-10a0-b5f7-ce9ddb8556cb.png)

スマホのアプリ　`nRF Connect` で見てみると、Green Beaconという名前のデバイスが見えます。12月仕様なのか、クリスマスのアイコンになってて可愛い
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2267750/1df9ef2b-fa8f-fde3-89c9-d724e871d8d8.png)

LINE API側もよくある手順ですので省略しました

車の中では、スマホの充電に使うようなアクセサリー用の電源からBeaconデバイスを動かすようにするだけです。
![IMG_8243.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2267750/43bc0d4a-928b-de8f-f6b8-96aa91c76de7.jpeg)
![IMG_8244.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2267750/a3843aa3-efcb-7260-7a09-63f8ce6793db.jpeg)

これで、車が動き出せばBeaconの電波をスマホがキャッチして、メッセージをPUSHしてくれると思ったのですが・・・

# 動作に難ありでした😢

ここまでやってみて残念だったのですが、今回の用途には使え無さそうでした。

スマホ機種依存の動作なのか分かりませんが、ビーコン圏内に入っただけではメッセージがPushされなく、 **ビーコン圏内でLINEアプリを立ち上げないとメッセージがPushされない** 状態でした。

これでは、手でメッセージ送る状態と変わらない...

最近のスマホは省電力機能が強すぎて、バックグラウンドでの動作が制限されているのか、LINEもその流れには逆らえないのだと思いました。

色々、やってみたのですが改善せず、失敗談となってしまいましたが、何かのON/OFFで通知できるという仕組みは他にも使えそうな感じはしました。

構想では、LINE BeaconとGPSモジュールでジオフェンスをやって、車が着いた場所によってBeaconのIDを変えて違うメッセージをPushするなんてできればと考えてました。「メンヘラ女子」に位置情報を持たせたら恐ろしい気はしますが、IoTLTのネタとしては面白いでしょうか