BLE (Bluetooth Low Energy)

Энергоэкономичная версия Bluetooth для обмена небольшими данными: на ней работают фитнес-браслеты, датчики, метки и умные замки.

BLE (Bluetooth Low Energy) — версия беспроводной связи Bluetooth, созданная для устройств, которые должны годами работать от маленькой батарейки. Она появилась в спецификации Bluetooth 4.0 в 2010 году. В отличие от классического Bluetooth, который держит постоянное соединение для передачи звука, BLE большую часть времени спит и просыпается на миллисекунды, чтобы обменяться небольшой порцией данных: пульсом, температурой, командой «открыть».

BLE и классический Bluetooth

Классический Bluetooth BLE
Задача Непрерывный поток: звук, файлы Небольшие порции данных время от времени
Энергопотребление Заметное Очень низкое — месяцы и годы от батарейки
Типичные устройства Наушники, колонки, автомагнитолы Браслеты, датчики, метки, замки, медицинские приборы

С 2022 года BLE передает и звук: стандарт LE Audio с кодеком LC3 расходует меньше энергии, чем классический Bluetooth, и позволяет транслировать один поток сразу на много наушников (Auracast).

Как устроен обмен данными

  • Объявления (advertising). Устройство периодически рассылает короткие сообщения «я здесь» — так телефон находит браслет или замок. Маячкам (beacons) подключение не нужно вовсе — им хватает объявлений: маячок рассылает свой идентификатор, а приложение понимает, что пользователь рядом с конкретной витриной или дверью.
  • Соединение. Телефон подключается к устройству для обмена данными.
  • GATT — структура данных. Устройство описывает себя набором сервисов и характеристик: сервис «пульс» с характеристикой «текущее значение». Приложение читает характеристики, записывает в них команды и подписывается на изменения.

Возможности и ограничения

  • Дальность — обычно десятки метров в помещении; в Bluetooth 5 появился режим увеличенной дальности.
  • Скорость — до 2 Мбит/с в Bluetooth 5, но реальная полезная скорость ниже. BLE не предназначен для больших объемов.
  • Безопасность зависит от способа сопряжения: для замков и медицинских устройств нужно защищенное сопряжение и шифрование, а «просто работающее» соединение без защиты — частая уязвимость дешевых устройств.

Где используется

  • Носимые устройства и медицинские приборы, передающие данные в приложение.
  • Умные замки, датчики умного дома, метки для поиска вещей.
  • Навигация внутри помещений и учет перемещений по маячкам.
  • Настройка новых устройств интернета вещей: телефон по BLE передает устройству пароль от Wi-Fi.

Разработка

На стороне устройства BLE поддерживают популярные микроконтроллеры, например ESP32, — нужную логику описывают в прошивке. На стороне телефона работу с BLE пишут на Kotlin и Swift или через модули для React Native и Flutter. Самое трудоемкое — устойчивая работа на разных моделях телефонов, переподключение и поведение приложения в фоне.