ESP32 SerialBluetooth отключается в течение секунды после подключения, но не BLEDevice/BLEServer
Код, использующий BluetoothSerial api, отключается сразу после установления соединения с моим ноутбуком под управлением Ubuntu 18.04. Если вместо BluetoothSerial используется api BLEDevice, соединение остается подключенным. См.Минимальные примеры ниже. Еще одно странное наблюдение заключается в том, что соединение с моим телефоном Android стабильно при запуске примера BluetoothSerial ниже.
Как правильно подключить BT как к телефону, так и к ноутбуку? Чип, на котором работает код,-esp32-wroom-32d.
Минимальный код с отключением BT от ноутбука Ubuntu 18.04 примерно через секунду (из примераSerialToSerialBT):
#include "BluetoothSerial.h"
BluetoothSerial SerialBT;
void setup() {
SerialBT.begin("ESP32 SerialBT");
}
void loop() {
}
Минимальный код со стабильным BT-соединением (из примераBLE_notify):
#include <BLEDevice.h>
#include <BLEServer.h>
BLEServer* pServer = NULL;
void setup() {
BLEDevice::init("ESP32");
pServer = BLEDevice::createServer();
pServer->setCallbacks(new BLEServerCallbacks());
BLEDevice::startAdvertising();
}
void loop() {
}
ОБНОВЛЕНИЕ:
- Обновление Ubuntu до 20.04 не помогло.
@alex, 👍1
1 ответ
Я знаю, что это старый, но у меня была такая же проблема с использованием bluetoothserial.h. Но с помощью rfcomm
rfcomm bind 0 <bluetooth MAC ADDRESS>
а затем мой пример команды отправляется в serialBT
echo -ne ">LOOOCR" > /dev/rfcomm0
/dev/rfcomm0-это устройство, созданное с помощью привязки. Он даже по-прежнему отображается как отключенный в графическом интерфейсе Bluetooth Ubunutu 20.04. Как бы то ни было, я думаю, что это одно и то же на всех устройствах. Пока вы не подключитесь к последовательному порту BT, он будет только сопряжен. Но кто-то с большими знаниями, чем я, может объяснить.
- Можно ли использовать WiFi и Bluetooth/BLE в одном проекте ESP32?
- Проблема с ESP32 bluetooth
- Контрольный таймер задачи запускается во время инициализации Bluetooth
- Минимизируйте размер программы ESP32, подключающейся к Bluetooth-устройству и запрашивающей HTTP-сервер одновременно.
- ESP32 в Arduino-IDE с FS.h и SPIFFS
- Программаторы для этой платы отсутствуют - Программирование ESP32 Cam с помощью Ardunio IDE
- Установка значения float до двух знаков после запятой
- ESP32-CAM первый: 0x8 TG1WDT_SYS_RESET загрузочный цикл