Проблема с подключением к устройствам BLE с помощью Flutter Blue - PullRequest
0 голосов
/ 23 января 2019

Я новичок во Flutter и хотел проверить некоторые функциональные возможности BLE, которые предлагает Flutter Blue. У меня есть пример приложения, и он находит много устройств вокруг меня. Проблема в том, что я не могу подключиться ни к одному из них. В настоящее время я использую второй телефон для эмуляции периферийного устройства BLE, все другие программы, такие как nRF Connect for Mobile, могут подключаться к периферийному устройству и считывать данные, которые он предоставляет. Пример приложения Flutter Blue просто зависает при отключении при попытке подключения к устройству.

Вот типичный вывод консоли при попытке подключения:

D/BluetoothGatt( 6359): connect() - device: 73:B9:9F:25:67:DC, auto: true
D/BluetoothGatt( 6359): registerApp()
D/BluetoothGatt( 6359): registerApp() - UUID=44fdc1ff-3804-4ae2-ab52-3f3b6eb31e17
D/BluetoothGatt( 6359): onClientRegistered() - status=0 clientIf=7
D/BluetoothGatt( 6359): onAutoConnectionStatusCb()status =10
D/BluetoothGatt( 6359): close()

Мне удалось подключиться к эмулируемому периферийному устройству несколько раз, сначала подключившись через другое приложение, а затем «подключившись» к приложению Flutter. Это вывод:

D/BluetoothGatt( 6359): connect() - device: 73:B9:9F:25:67:DC, auto: true
D/BluetoothGatt( 6359): registerApp()
D/BluetoothGatt( 6359): registerApp() - UUID=201eaf3d-ab8a-402e-9cbf-232527fa53a8
D/BluetoothGatt( 6359): onClientRegistered() - status=0 clientIf=8
D/BluetoothGatt( 6359): onAutoConnectionStatusCb()status =10
D/BluetoothGatt( 6359): onClientConnectionState() - status=0 clientIf=8 device=73:B9:9F:25:67:DC
D/FlutterBluePlugin( 6359): [onConnectionStateChange] status: 0 newState: 2
D/BluetoothGatt( 6359): discoverServices() - device: 73:B9:9F:25:67:DC
I/flutter ( 6359): connected!
D/BluetoothGatt( 6359): onSearchComplete() = Device=73:B9:9F:25:67:DC Status=0
D/FlutterBluePlugin( 6359): [onServicesDiscovered] count: 3 status: 0

Я прочитал о том, что соединения не закрываются должным образом после выхода из других приложений, и я убедился, что включил / выключил как Bluetooth, так и сервисы определения местоположения, а также удалил другие приложения, которые могут мешать работе приложения Flutter. Я попытался увеличить время ожидания при подключении, чтобы убедиться, что приложение не закрывает соединение, прежде чем он сможет на самом деле подключиться, за исключением того, что я немного растерялся и не могу понять, что может быть неправым.

РЕДАКТИРОВАТЬ: Просто хотел добавить, что это, похоже, проблема, связанная с эмулируемой периферией BLE. С тех пор я смог без проблем заставить его работать как с модулем AT-09, так и с платой ESP32!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...