интервал подключения для BLE на Galaxy S3 Android 4.3

когда я отправляю данные с моего периферийного устройства (CC2541) на свой GalaxyS3 (Android 4.3), я вижу, что независимо от интервала подключения, который я установил на периферийном устройстве (7,5 мс), я получаю пакеты, отправленные с интервалом ~ 100 мс.

Это действительно плохая скорость передачи данных.

Любые советы о том, как я могу ускорить процесс?

(я уже отключил WiFi)

Спасибо


person user3333648    schedule 20.02.2014    source источник
comment
Какой из многих механизмов вы используете для отправки данных? Нам нужно будет узнать намного больше о деталях, чтобы помочь. Однако, если у вас есть комплект CC254x, вы можете использовать в нем сканер пакетов для оценки любой неинтерактивной функциональности вашего периферийного устройства (например, рекламы) независимо от конца вещей Android.   -  person Chris Stratton    schedule 20.02.2014
comment
Во-первых, спасибо за оперативный ответ. мы использовали проект брелока в качестве эталона, насколько я понимаю, мы используем API профиля GATT, обновив его характеристики (20 байт ~), мы только начали, я не против что-либо изменить. Можете ли вы сказать, какую скорость передачи данных я могу ожидать от S3 BLE в Android 4.3? . мы отправляем около 1К данных, и это занимает много времени. когда я использую Nexus5 с Android 4.4, я вижу, что пакеты отправляются с задержкой 25 мс. Я подозреваю, что проблема заключается в конкретной ОС (Android 4.3). извините за краткость информации, я постараюсь получить более подробную информацию. возможно, вы можете направить меня на лучший путь   -  person user3333648    schedule 20.02.2014


Ответы (2)


Как вы, возможно, уже знаете, нет возможности настроить интервал подключения из Android BLE API, поэтому остается только установить его с периферийного устройства. Ваше периферийное устройство должно согласовать наилучший интервал подключения для него в зависимости от оборудования Bluetooth устройства и его стека Bluetooth.

Согласно спецификациям Bluetooth Low Energy, интервал подключения определяет время между начало последовательности обмена пакетами данных, называемой событиями соединения, и может составлять от 7,5 мс до 4 секунд. Это значение тесно связано с потребляемой мощностью, чем выше потребление, чем меньше значение.

Периферийное устройство должно согласовать интервал соединения, предложив для него минимальное и максимальное значения. Если устройство отклоняет этот интервал соединения, ваше периферийное устройство должно попробовать другое значение, пока не будет достигнуто оптимальное значение для соединения.

Корпус Samsung Galaxy S3 — один из тех, кому нужен более высокий интервал соединения. В одном из моих тестов мне удалось согласовать интервал соединения ~ 20 мс на устройстве Nexus 5, но когда тот же тест был выполнен на S3, он отклонил эти небольшие значения и установил один из ~ 48 мс.

Например, в iOS в своем документе с рекомендациями по проектированию Bluetooth предлагается использовать минимальный интервал подключения. значение 20 мс. Итак, как я уже говорил, работа находится в руках периферийных устройств, пытающихся получить максимальную отдачу.

person GoRoS    schedule 30.05.2014

Насколько мне известно, вы должны согласовать интервал соединения (connInterval) с помощью пакета управления канальным уровнем LL_CONNECTION_UPDATE_REQ. Согласно спецификациям, интервал соединения ограничен от 7,5 мс до 4000 мс.

person Vinodh    schedule 09.06.2014