ESP32でBluetooth通信してるとASSERT_WARNが出る件
最近ESP-WROOM-32を買って弄っている。
ESP-WROOM-32にはBluetoothが搭載されているので、スマホなどBluetooth搭載機器と簡単に通信を行うことができる。
単純にBluetoothを試してみるだけなら、Arduino IDEでファイル→スケッチ例→BluetoothSerial→SerialToSerialBT
で手軽に通信することができる。
このスケッチ例を使って、ESP32とスマホとつないでBluetooth通信を試していたのだが、シリアルモニタにASSERT_WARN(1 9), in lc_task.c at line 5054
というメッセージが定期的に生じる(ひどいと数秒に1回)。
別にメッセージが出るだけで、Bluetooth通信自体はできるのでいいっちゃいいのだが、かなり目障り。
対処方法
どうやら原因は使っていたノートPCのBluetoothドライバだったようだ。
自分のPCのデフォルトのドライバはRealtekのものだった。
こいつをWindows標準のドライバに変更すると症状が収まった。
ドライバを変更するには、デバイスマネージャーから件のドライバを右クリック→ドライバの更新→コンピューターを参照してドライバーソフトウェアを検索→コンピューター上の利用可能なドライバーの一覧から選択します をクリックする。
すると、以下の画面になるので、Generic Bluetooth Adapter
を選択し、次へ、からインストールする。
デバイスマネージャー上でドライバが切り替わっていればOKだ。これでASSERT_WARNメッセージは出なくなった。