This is a follow up on basically the same problem, which I first had assumed was a problem in the Arduino framework layer for the ESP32 and thus posted in that forum. Not so, and apologies for the more or less Double Post. TL:DR:
The ESP32 device does not show up on Chromebook as pairable device
Environment: ESP32, PlatformIO, IDF framework
Keywords: Bluetooth, SerialBT, Pairing
Example code snippet: bt_ssp_acceptor as included in the IDF repository
A bit more verbose:
ESP_SPP_ACCEPTOR shows up in i.e. Android (and Windows) as a pair-able device.
On ChromeOS, it doesn't show up at all. At first I thought this was a limitation of ChromeOS, but this is (at least partly) not the case: if I spin up another serial Bluetooth classic device, ie a KONNWEI ELM327 dongle, it does show up on ChromeOS and will pair.
A hint could be that on Android, the icon in front of the ESP32 ESP_SSP_ACCE{TOR is best described as a screen with a horizontal line below it, like an open laptop. The KONNWEI ELM327 dongle has a different icon, and is best described as a screen with a mobile phone (or desktop PC?) in front of it.
Given the different icons I assume it must have to do with different advertising. I know, not the correct nomenclature for classic. I admit I can't find any good table what these icons in front of each BT device in Android actually mean.
Any hints? Of course if I need to provide more info I am happy to do so.
Thank you.
BT classic serial does not show up on Chromebook as pairable device
Re: BT classic serial does not show up on Chromebook as pairable device
Hi
I think you need to set the Bluetooth Class Of Device to something Chrome OS will accept.
In the Espressif arduino-esp32 code it is done in BluetoothSerial.cpp, line 636:
See https://github.com/espressif/arduino-es ... Serial.cpp
I have tried to change the above to:
This allowed ChromeOS to see my device in the Bluetooth menus, and I was able to pair with it.
Best regards
Brian
I think you need to set the Bluetooth Class Of Device to something Chrome OS will accept.
In the Espressif arduino-esp32 code it is done in BluetoothSerial.cpp, line 636:
See https://github.com/espressif/arduino-es ... Serial.cpp
Code: Select all
// the default BTA_DM_COD_LOUDSPEAKER does not work with the macOS BT stack
esp_bt_cod_t cod;
cod.major = 0b00001;
cod.minor = 0b000100;
cod.service = 0b00000010110;
if (esp_bt_gap_set_cod(cod, ESP_BT_INIT_COD) != ESP_OK) {
log_e("set cod failed");
Code: Select all
cod.major = 0b00101;
cod.minor = 0b000000;
cod.service = 0b00000010000;
Best regards
Brian
Who is online
Users browsing this forum: No registered users and 108 guests