Oops... your message was not sent

Your message has been successfully sent

тематические истории, основанные на опыте компании JetRuby
Мобильная разработка

Bluetooth low energy в Android: теория и практика

Bluetooth — самый распространенный формат беспроводного взаимодействия периферийной электроники. Для того чтобы компактные устройства с маленькой батарейкой могли работать, как можно дольше, при этом не прекращая обмениваться данными, в 2009 году была разработана спецификация Bluetooth low energy (BLE). Она позволяет мобильным гаджетам работать от  аккумулятора в течение долгого времени (до одного года).

Эта технология не передает голос. Она предназначена для работы с небольшими объемами данных, что может пригодиться Bluetooth маякам, умным часам, фитнес-трекерам, используемым в паре с  современными смартфонами и т.д. BLE применяется для отображения уведомлений из социальных сетей, передачи данных о местоположении, дистанционного управления, передачи сведений о физическом состоянии пользователя и пр.

Bluetooth low energy

Не стоит путать Bluetooth и Bluetooth low energy. Они имеют принципиально разные области применения. Классический Bluetooth с легкостью передает довольно большие объемы данных, но быстро сажает аккумулятор. Bluetooth low energy используется в приложениях, не требующих постоянного обмена данными, что сводит расход батареи к минимуму.     

Особенности интеграции BLE устройств с Android приложением

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

Основное правило при работе с BLE — это точный менеджмент соединения и общения устройств. Большая часть девайсов не должна быть постоянно связанной со смартфоном. В идеале их взаимодействие ограничивается необходимым минимумом — передача конкретного сообщения, мониторинг состояния в процессе занятий спортом или выгрузка данных после тренировки. Если вы хотите увеличить период автономной работы устройства, пренебрегать этим правилом не стоит. Даже несмотря на малое потребление энергии.

Библиотеки для работы BLE появились в Android, начиная с версии 4.3 (API Level 18). На более ранних версиях (4.X) поддержка осуществлялась самостоятельно и лишь некоторыми производителями телефонов, такими как Samsung и HTC.

В основе работы BLE лежит Attribute Protocol (ATT). Это протокол, описывающий способ взаимодействия устройств при помощи блоков данных, называемых атрибутами. Каждый из них имеет свое имя — уникальный идентификатор Universally Unique Identifier (UUID). Атрибуты сформированы в сервисы и характеристики. Характеристика — это контейнер с данными, которыми обмениваются устройства. Сервисы предназначаются для группировки нескольких характеристик.

Generic Attribute Profile (GATT) — это профиль, устанавливающий спецификацию для обмена короткими сообщениями — атрибутами. Работа всех BLE приложений базируется на GATT. Как известно, в приложении может быть несколько профилей. Именно они определяют текущую работу устройства. К примеру, один профиль может отвечать за кардиомонитор, а другой — за индикатор заряда батареи.

Bluetooth low energy-1

Левая картинка демонстрирует информацию, доступную при поиске устройства — название и физический адрес. Правая — состояние соединения и данные, которые можно получить при связи устройств. Например, стандартная характеристика с номером 00002a00-0000-1000-8000-00850f9b34fb, размещенная в Generic access, предназначена для сохранности значения Device Name. Она содержит значение MI — сокращенное название устройства.

Для того чтобы облегчить работу с этими средствами используются сторонние библиотеки. Они позволяют значительно упростить процесс внедрения поддержки BLE в приложение.  Кроме своей основной функции (экономия времени), сторонние библиотеки предоставляют интерфейс для работы со всеми реализациями Bluetooth low energy — от гугловского стандарта до разнообразных специфичных вариантов для отдельных устройств.

Способы применения Bluetooth low energy

  • Google Eddystone project — открытый, кроссплатформенный формат BLE для Bluetooth маяков. Речь идет о компактных устройствах, которые крепятся к (около) важным объектам и выполняют следующие функции: указание направления; помощь в поиске утерянных предметов (например, ключей); использование в качестве территориально-зависимых справочников и т.д. Закрепив такое устройство у остановки общественного транспорта, можно создать доступное и легко обновляемое расписание движения автобусов. Eddystone — не единственный стандарт для BLE маяков, но в сравнении, например с iBeacon от Apple, он более открыт и доступен.
  • Брелоки для ключей, такие как duet, pally, tile.
  • Kitchen scale — кухонная доска, общающаяся с приложением на телефоне.Такое устройство позволяет детально проработать диету и в дальнейшем неукоснительно следовать предписаниям.
  • Умные напольные весы.
  • Обувь со встроенным шагомером.
  • Мячи.
  • Термометры.
  • Дверные замки с разблокировкой через смартфон.
  • Ошейники, которые можно использовать для поиска домашних любимцев или в сочетании с системой маяков, ограничивающих радиус их перемещения.
  • Системы безопасности, охраняющие компьютер от посторонних лиц.

Вывод

Количество smart устройств и вариантов их использования непрерывно растет. То же можно сказать и о спецификации Bluetooth low energy. BLE устройства осваивают новые функциональные направления и не перестают удивлять нас новыми интересными возможностями. Сегодня уже никто не сомневается, что их использование принесет огромную пользу в развитии самых разнообразных проектов.

Мы продолжим отслеживать развитие технологии Bluetooth low energy и будем активно внедрять ее в мобильную разработку. Если у вас есть вопросы или предложения по работе с BLE, наша компания открыта для диалога.

 

department
Статью подготовил
Отдел мобильной разработки
Профессиональная разработка нативных приложений под Android и iOS, а также реализация гибридных кроссплатформенных решений и мобильных сайтов.
New Articles