Максимальная скорость iOS Bluetooth Accessory?

Я разрабатываю внешнее устройство, это устройство имеет большой объем данных для отправки через Bluetooth на iphone / ipad, но отправляет очень медленная скорость - всего около 60 кбит / с.

Девайс отправляет данные на комп скорость 256кбит, думаю не из-за проблем с аппаратом. Кто знает максимальную скорость iOS Bluetooth?

Информация: Используйте внешнюю рамку для аксессуаров, Bluetooth 2.0 + EDR.

Спасибо,


person Zhi Ma    schedule 23.07.2013    source источник


Ответы (1)


Я знаю, что это немного поздно, но, основываясь на всей моей работе, iDevice, как правило, медленнее, чем ПК/Android через Bluetooth. Это связано с внутренними ограничениями устройства, а также в зависимости от того, как вы выполняете передачу данных (размеры пакетов, частоты, задержки, служебные данные пакетов, размеры буфера и т. д.), что также может замедлить работу.

Другая проблема заключается в том, что в зависимости от модуля BT, который вы используете, я видел ОГРОМНЫЕ различия (коэффициент 10) в том, сколько данных они могут передавать на устройства iOS (хотя все они могут отправлять на Android со скоростью 300 кбит/с).

При обмене данными с устройством iOS возникают дополнительные накладные расходы при обработке пакетов и используемых протоколах, и если разработчик прошивки BT не обрабатывает это правильно, вы увидите последствия для производительности. Эти числа также меняют устройство на устройство и версию iOS на версию iOS.

Чтобы дать вам некоторые конкретные цифры, с одним из моих модулей BT, вот мои результаты (самые высокие, которые я когда-либо видел):
iPad Mini под управлением iOS 7.0.4 — 18 500–20 500 байт/с
iPhone 5S под управлением iOS 7.0.4 — 14 000–15 000 байт/с
iPod Touch под управлением iOS 7.0.4 — 16 000–17 000 байт/с
iPod Touch под управлением iOS 6.1.3 — 19 000–20 000 байт/с

Последний тест показывает, что сама версия iOS также может иметь большое влияние. Обратите внимание, что все это было сделано с одним и тем же модулем BT, 3-4 запуска на тест.

Изменить: здесь я добавил немного больше контекста: http://www.sureshjoshi.com/embedded/bluetooth-classic-apple-french/

person SJoshi    schedule 16.03.2014
comment
Насколько большими были блоки данных, которые вы отправляли? Сколько времени между каждым циклом? Вы ждали ACK после каждого пакета? Спасибо. - person Gal; 02.07.2014
comment
@Gal К сожалению, так как это было несколько месяцев назад, я не помню подробностей. Как правило, мое тестирование проводилось с двумя дополнительными переменными: размер пакета и время между пакетами. Что касается размера пакета, я обнаружил, что размер пакета не имеет большого значения, поскольку я все равно достиг предела пропускной способности iOS (в любом случае различия были в пределах тестовой дисперсии). В итоге я использовал два размера: 50-байтовые пакеты и 500-байтовые пакеты. Что касается времени между пакетами, модуль BT, который я использую, имел некоторые проблемы со сбоем, когда у меня была продолжительность между пакетами, но обычно у меня было либо 5 мс, либо 0 мс. - person SJoshi; 04.07.2014
comment
@Gal Кроме того, что касается ACK, вы имеете в виду связь BT Classic? Или Bluetooth с низким энергопотреблением? - person SJoshi; 04.07.2014
comment
Я полагаю, что внутренний протокол связи был синхронным (байты подтверждались с обеих сторон). - person SJoshi; 07.07.2014
comment
Что за устройство было у вас? Я понимаю, что соединение было установлено с помощью EAFramework (iAP через BT) - person SiMet; 13.01.2015
comment
Для тех, кто использует RN42, см. ответ на этот вопрос: stackoverflow.com/a/20027422/4495850 В итоге: когда RN42 используется для связи с устройством iOS, он не может обмениваться данными быстрее, чем 2,5-3 КБ/с... Если он используется для связи с Android, компьютером или чем-либо еще, он может передавать данные со скоростью 35 КБ/с (через SPP). - person Richard; 14.03.2017