Я хочу использовать Qt’s Bluetooth Low Energy для подключения к двум устройствам BLE.
Я использую есть два QLowEnergyControllers такие случаи:
controller0 = QLowEnergyController::createCentral(qBluetoothDeviceInfoBLE0, this));
controller1 = QLowEnergyController::createCentral(qBluetoothDeviceInfoBLE1, this));
Если тогда успешно соединиться с BLE0
и после сигнала connected()
я инициирую соединение с BLE1
, Подключение к BLE0
будет прервано:
qt.bluetooth.bluez: Cannot connect due to pending active LE connections
qt.bluetooth.bluez: void QBluetoothSocketPrivate::_q_readNotify() 17 error: -1 "Software caused connection abort"
… и связь с BLE1
будет установлено успешно.
Что я нашел это описание в QLowEnergyControllers:
Важно отметить, что некоторые платформы, такие как BlueZ на основе
Linux не может поддерживать два подключенных экземпляра QLowEnergyController
к тому же удаленному устройству
Замечания: BLE0
а также BLE1
разные удаленные устройства.
Я также могу подтвердить, что подключение к тем же устройствам работает с моей версией bluez. Это также работает при использовании пакета noblejs Nojjs.
BLE0
и после BLE1
)?Задача ещё не решена.
Других решений пока нет …