BLE: почему команды записи работают медленнее, чем уведомления?

В контексте BLE (Bluetooth Low Energy), Команды записи могут использоваться для записи с Клиента на Сервер, а Уведомления для записи с Сервера на Клиент. В моей настройке клиент - это центральное устройство (телефон Android), а сервер - периферийное устройство (плата разработчика).

Проведя несколько тестов пропускной способности данных на нескольких телефонах, я заметил, что пропускная способность сильно варьируется в зависимости от телефона, что ожидается, потому что большая часть реализации нижних уровней BLE зависит от производителя. Но что привлекло мое внимание, так это то, что Write Command всегда обеспечивает гораздо меньшую пропускную способность, чем Notification, независимо от телефона. Это почему?

1 ответ

Они должны иметь одинаковую пропускную способность. В течение одного события подключения могут быть отправлены несколько команд записи и уведомлений. С ними обращаются одинаково.

Вы можете использовать анализатор воздуха, чтобы увидеть, если вы обнаружите какие-либо проблемы.

Как долго событие соединения должно быть открыто, можно предположить при создании соединения и при обновлении параметров соединения. К сожалению, BLE в Android жестко кодирует это значение по умолчанию, что означает отсутствие рекомендаций. На практике это будет означать, что вы ограничены 3 или 4 пакетами на одно соединение.

Другие вопросы по тегам