Статьи

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

  1. Особливості інтеграції BLE пристроїв з Android додатком
  2. Способи застосування Bluetooth low energy

Мобільна розробка

22.05.2017

Bluetooth - найпоширеніший формат бездротового взаємодії периферійної електроніки. Для того щоб компактні пристрої з маленькою батарейкою могли працювати, як можна довше, при цьому не припиняючи обмінюватися даними, в 2009 році була розроблена специфікація Bluetooth low energy (BLE). Вона дозволяє мобільним гаджетам працювати від акумулятора протягом довгого часу (до одного року).

Ця технологія не передає голос. Вона призначена для роботи з невеликими обсягами даних, що може стати в нагоді Bluetooth маяках, розумним годинах, фітнес-трекера, використовуваним в парі з сучасними смартфонами і т.д. BLE застосовується для відображення повідомлень із соціальних мереж, передачі даних про місцезнаходження, дистанційного керування, передачі відомостей про фізичний стан користувача і ін.

BLE застосовується для відображення повідомлень із соціальних мереж, передачі даних про місцезнаходження, дистанційного керування, передачі відомостей про фізичний стан користувача і ін

Не варто плутати 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. Як відомо, в додатку може бути кілька профілів. Саме вони визначають поточну роботу пристрою. Наприклад, один профіль може відповідати за кардіомонітор, а інший - за індикатор заряду батареї.

Наприклад, один профіль може відповідати за кардіомонітор, а інший - за індикатор заряду батареї

Ліва картинка демонструє інформацію, доступну при пошуку пристрою - назва і фізичну адресу. Права - стан з'єднання і дані, які можна отримати при зв'язку пристроїв. Наприклад, стандартна характеристика з номером 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, наша компанія відкрита для діалогу .

Новости