情報が不確実で、あくまでもこういうことがあったよという話です。ただ、複数の業者からそれぞれ複数個購入して全く同じ症状だったので、このようなものが相当数出回っているのは確かだと思います。
何かの参考になれば幸いです。詳細をご存じの方は是非コメント欄へ。
ESP32とは
いわゆるマイコン(マイクロコントローラー)で、WifiとBluetoothが搭載されており、特にIOT用途で便利に使えます。Arduinoも使用できてライブラリも充実しています。最近はArduinoのProMicroもお値段が高めになっているのでサイズが許容できるならESP32の方がおすすめです。
問題
1~2年前に買った手持ちのモジュールのストックがなくなってきたのでアマゾンで購入しました。しかし、これまで使っていたスケッチを書き込んでもBluetoothがまともに動作しないんですね。全く使えないわけではなく、ごくまれに接続して使える場合もある、という状態です。(大抵すぐ切断される)
ESP32のサンプルスケッチでも同様なので私のプログラムのせいではないですし、つながる場合もあるので根本的に設定がまちがえているわけでもなさそうです。アマゾンの出品業者がサポート対応できるとも思えなかったのですが、聞いても解決しませんでした。
動くものと動かないもの
左が以前に買ったもので正常動作するもの、右が今回買った正常動作しないものです。
ぱっと見の違いとしては、正常動作するものはアンテナの部分に小さな”K”の印字があることと、チップにEspressifのロゴがあるといことですね。(右側のものにはない)
これが単にロットの違いによるものなのか、”偽物”なのかは私にはわかりませんが、アマゾンで出品している複数社から上記写真のような30ピンタイプのものを購入しましたがいずれも見た目は同じで、BT動作NGでした。ちなみに、私が試した限りではWifiには問題がありませんでした。
(営業妨害等と言われたら困るので、あえてNGだったもののリンクは載せません。)
動いたもの
ダメそうだったので、全く違う形状のモジュールも購入してみました。(2023.06現在長期欠品中)
アンテナには”K”マークもありますし、チップにはEspressifのロゴがあります。BT動作OKでした(5セット程購入してすべて動作OK)。
ちなみにこのモジュールは、使えるピン数は少な目ですがサイズが小さいことと、充放電制御回路までコミコミなので適当なリポバッテリーをつなげば簡単にワイヤレスで使用できます。
上記バッテリーはLOLINのESP32モジュールで使うにはコネクタの±を入れ替える必要があるので注意してください。
コメント
わたしの環境でもいくつかBluetoothが使えないESP32のボードがありました
しかし、Bluetoothシリアル(SPP)だけは使えるなど、まだ謎が多いです
発覚した理由はBluetoothスピーカーを作るためにBluetoothオーディオのスケッチを書き込んだところ、接続が不安定であったりBluetooth接続名が表示されないなど不具合が出るボードがあったためです
プレイステーション4のコントローラー(duakshock)を使うスケッチで接続しようともしましたが接続できずでした(正常なボードでは難なく接続できる)
高データレートなアプリケーションでつながらないのではないかと推測していたりします(SPPは割とマトモに動いているので)
解決のコメントではなく申し訳ないですが、私の環境での挙動でした
貴重な情報ありがとうございます。
格安の開発ボード系ではこの現象を確認しているのですが、出自が(おそらく)正しいモジュールではこのような現象は見ていません。
もしかして相当数の偽物が…という可能性も疑っています。
また、一口にESP32といっても相当なバリエーションがあるようで、そのあたりの違いによるものかもしれません。
もし、今後なにか情報がありましたらまたよろしくお願いします。