ESP32でBluetoothが使えることは知っていたのですが、なぜかESP32のサンプルソースであるSimpleBleDevice.inoが動かなかったので色々諦めていました。ですが、ようやくSimpleBleDeviceのソースを動かすことに成功したので記録しておきます。
・SimpleBleDeviceで発生していた問題
自分が上手くいかなかった時は以下のような問題が発生していました。
1:「Enable Low Energy」以降がシリアルモニタに表示されない。
2:「entry 0x40080034」で止まってしまう時がある。
このような症状が出た時には以下の対処方法で動くようになりました。
・1への対応策:ライブラリを最新のものに更新する
環境構築の時にダウンロードしたESP32用のライブラリを最新のものに更新します。gitがインストールされている人はgit pullをし、gitをインストールしていない人はzipをダウンロードして上書きしてください。
github.com
・2への対応策:USBケーブルをちゃんとしたものに交換する
Bluetoothの機能を実行する際にかなり多くの電力を消費します。100円均一で売っているようなUSBケーブルだと起動途中で電力が足りなくなって止まってしまうようです。電気屋さんなどで売っているちゃんとしたUSBケーブルに変更すると、途中で止まることなく実行されるようになります。
以上が対応策です。
シリアルモニタで動いていることを確認した後、スマホなどでBluetoothを検索すると「BLE32 name:(Bootボタンを押した回数)」で表示されます。
なぜかこのBleのサンプルでつまづいていたので、同様の問題で困っている人の助けになれば幸いです。