質問: BLE初心者です。 登場人物は以下です。 ・マイコン+BLE受信機(以下デバイスA) ・スマホ(iOS,Android) デバイスAからスマホが離れた時マイコンがそれを検知し、さらにスマホがデバイスAに近づいたときマイコンがそれを検知できるようにしたいです。ここで「離れた」というのはBLEの検知範囲の最大距離を指します。スマホだと環境にもよりますが、最大30mぐらいだと思います。 例えば、赤ちゃんにデバイスAを装着して、スマホ持ちの親が近づいたときに、デバイスA内のマイコンが検知します。 上記のやり方が全く分かりません。自分が経験があるのはiBeaconぐらいで、そのときはBeaconからの通信をキャッチするだけ(ペアリングもしない)だったので簡単でした。 わかる方いればぜひ教えていただきたいです。 追記 目的は違いますが、以下の商品と同じ機能を実装したいです。 https://alterlock.net
回答: スマホは常に*advertise*している必要がありますね。 長時間画面OFFでもserviceが死なないようにする必要がありますね。 デバイスAは常に*scan*し続ける必要がありますね。 デバイスAの電池は常に*scan*すると結構消費します。 デバイスAは*scan*でスマホを見つけたら、*connect*すると良いでしょう。 アプリケーションでデータ送受信を行わなくても、BLEの仕様で*connect*しているかどうかのやり取りをしてくれているはずです。 範囲外に出たらデバイスAの*disconnect*ステータスでわかると思います。 大抵のBLEモジュールで*disconnect*ピンがあると思います。