スポンサードリンク

デバイス編#4 ~ESP32のBLEをiOSで表示させよう~

スマートカーテン

最近、週一回のペースで友人と一緒に海釣りに行ってソーシャルディスタンスを保ちながら楽しんでるんです。道具は友人のものを使わせてもらって軽くジャイアン状態。

だいたい行くのが夜から朝にかけてなので、たまたま友人が仮眠を取りに席を外してる間に大きなアタリがあって吊り上げたら60cmオーバーのアナゴでびっくり!

めちゃくちゃ暴れるし歯が鋭利だし友人に電話しても出ないしで、針を外すまで15分くらいかかって半泣き状態でした。

こんにちは、ポニ丸です。

前回の問題、「iPhone(iOS)でESP32のBluetoothを検出できない」を覚えていますでしょうか。

読んで字のごとくiPhoneのBluetooth検索機能でESP32が見つからなかった、という絶望の出来事だったわけですが、原因と対策がわかりましたので簡単ながらまとめてみました。

原因

ESP32で動作させているBLEはBluetoothとは互換性がありそうでない規格になっていて、そもそも用途が違っていた。

何かといいますと、BLE(Bluetooth Low Energy)は省電力用の規格で常時接続ではなく必要な時にだけ接続して無線通信をする使い方を想定されているようです。

これに対してiPhone側のBluetooth機器サーチ画面では、常時接続を想定しているBluetooth機器しか表示されないらしいのです。

前回の記事でも書いたように「BLE Scanner」というアプリからサーチをかければ見つかるので、iPhoneはハード的な機能としてBLE機器も検知することができるが、標準のサーチ画面では表示されない。というのが真実っぽいです。

解決策

アプリで検出したBLEデバイスを表示してもらい、接続&通信できるようにしてもらう。

まあ、デバイス側ではどうにもならないということが改めて分かりました。

とりあえずはBLE機器として起動するESP32ボードをやぎ星人に渡し、開発中のアプリ側で検出/接続までは確認できたようで、めでたしめでたし。

今回は足踏み状態となってしまいましたが、こういう不具合を一つ一つ明確にしていくことが次の開発につながると信じてこれからも頑張っていこうと思います。

次回は今度こそ回路設計!やったります!

ではでは。

コメント

タイトルとURLをコピーしました