Меню Закрыть

Bluetooth с низким энергопотреблением

Содержание

Беспроводная технология Bluetooth с низким энергопотреблением (англ. Bluetooth Low Energy, Bluetooth LE, BLE , представленная также как Bluetooth Smart) — выпущенная в декабре 2015 года версия спецификации ядра беспроводной технологии Bluetooth [1] , наиболее существенным достоинством которой является сверхмалое пиковое энергопотребление, среднее энергопотребление и энергопотребление в режиме простоя.

Устройства, использующие Bluetooth с низким энергопотреблением, будут потреблять меньше энергии, чем другие Bluetooth-устройства предыдущих поколений. Во многих случаях устройства смогут работать более года на одной миниатюрной батарейке типа таблетка без подзарядки [2] . Таким образом, можно будет иметь, например, небольшие датчики, работающие непрерывно (например, датчик температуры), общающиеся с другими устройствами, такими как сотовый телефон или КПК. [2]

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

Содержание

История [ править | править код ]

12 июня 2007 года Bluetooth SIG объявила, что Wibree станет частью спецификации Bluetooth, как технология Bluetooth с сверхнизким энергопотреблением (ULP Bluetooth). Результатом должна быть беспроводная технология с малым потреблением энергии и значительно увеличенным сроком службы от аккумулятора, сопоставимыми с таковыми у схем, использующих ZigBee.

20 апреля 2009 года Bluetooth SIG представила новую технологию Bluetooth с низким энергопотреблением как дополнительный протокол стека, полностью совместимый с другими существующими стеками протоколов Bluetooth. Предыдущие названия, такие как Wibree и ULP Bluetooth (Ultra Low Power) были заменены на принятое название технологии Bluetooth с низким энергопотреблением (Bluetooth low energy).

17 декабря 2009 года. Bluetooth SIG опубликовала принятие беспроводной технологии Bluetooth с низким энергопотреблением в качестве отличительной особенности версии 4.0 ядра спецификации Bluetooth [3] .

Интеграция Bluetooth с низким энергопотреблением в спецификацию ядра завершена в начале 2010 года. Первым устройством, включающим в себя данную технологию, был iPhone 4S, выпущенный в октябре 2011. Другие производители представили устройства с Bluetooth Smart Ready в 2012 году.

Конфигурации [ править | править код ]

Потребляя меньше энергии, технология Bluetooth с низким энергопотреблением предложит длительное обеспечение связи и соединит маленькие устройства типа датчиков и мобильные устройства в пределах персональных сетей (PAN).

Спецификация Bluetooth 4.0 (и более поздние) фактически определяет две беспроводные технологии: BR/EDR (классический Bluetooth, развивающийся, начиная с первой версии стандарта) и BLE (Bluetooth Low Energy) [4] .

Устройства, в которых применён BLE, могут быть как двухрежимные BR/EDR/BLE (называются Bluetooth Smart Ready), совместимые с классическими Bluetooth-устройствами, так и однорежимные BLE (Bluetooth Smart) [4] [2] .

Основными блоками Bluetooth-устройства являются [4] :

  • Приложение (англ. application ) — реализует полезную для конечного пользователя логику работы;
  • Ведущее устройство, хост (англ. host ) — предоставляет верхние уровни стека протоколов Bluetooth;
  • Контроллер (англ. controller ) — занимается нижними уровнями Bluetooth.

Коммерческие продукты обычно используют одно из следующих аппаратных решений [4] :

  • SoC — однокристальная система, объединяющее в себе приложение, хост и контроллер. Применяется в компактных недорогих устройствах, таких как датчики;
  • Решение на двух микросхемах, при котором приложение и хост соединены с контроллером посредством UART, USB, SDIO и т. п. [5] по протоколу HCI. Такая конфигурация может использоваться, например, в мобильных устройствах;
  • Решение на двух микросхемах, в котором приложение соединяется с устройством связи (хост и контроллер) по проприетарному протоколу.

Стек протоколов Bluetooth LE [ править | править код ]

Уровень приложения — самый высокий уровень стека протоколов.

Уровень хоста содержит следующие уровни [6] :

  • GAP (Generic Access Profile) — профиль общего доступа,
  • GATT (Generic Attribute Profile) — профиль общих атрибутов,
  • L2CAP (Logical Link Control and Adaptation Protocol) — протокол логического соединения и адаптации,
  • ATT (Attribute Protocol) — протокол атрибутов,
  • SM (Security Manager) — менеджер безопасности,
  • HCI (Host Controller Interface) — интерфейс хост-контроллер, часть на стороне хоста,

Хост связан с контроллером протоколом HCI и имеет уровни [6] :

  • HCI — интерфейс хост-контроллер со стороны контроллера,
  • LL (Link Layer) — канальный уровень,
  • PHY — физический уровень.

Профили [ править | править код ]

Стандарт Bluetooth чётко разграничивает понятия протокола и профиля. Протоколы являются неотъемлемой частью спецификации и являются «горизонтальными» частями отдельных уровней стека Bluetooth. Профили же являются «вертикальными» срезами функциональности и могут быть как обязательными ( Generic Access Profile или GAP, Generic Attribute Profile или GATT), так и специфическими для данного устройства (например, Find Me Profile , Proximity Profile ). Производители могут определять и свои собственные профили, например, iBeacon и Apple Notification Center Service фирмы Apple [7] .

Технические данные [ править | править код ]

Техническая спецификация Классический Bluetooth Bluetooth с низким энергопотреблением
Радиочастота 2.4 ГГц 2.4 ГГц
Расстояние 100 м >100 м
Скорость передачи данных по воздуху 1-3 Мб/с 1 Мб/с
Пропускная способность 0.7-2.1 Mb/s 0.27 Mb/s
Ведомые устройства 7 Не предопределено; зависит от реализации
Безопасность 64/128-bit и определяемый пользователем прикладной уровень 128-bit AES с Counter Mode CBC-MAC и определяемый пользователем прикладной уровень
Надёжность Адаптивная быстрая перестройка частоты, FEC, быстрый ACK Адаптивная быстрая перестройка частоты, Lazy Acknowledgement, 24-битовый избыточный циклический код (CRC), 32-разрядная проверка целостности сообщения
Задержка (от неподключенного состояния) Обычно 100 мс 6 мс
Минимальное общее время передачи данных (зависит от состояния батареи) 100 мс 3 мс
Государственное регулирование Во всём мире Во всём мире
Орган по сертификации Bluetooth SIG Bluetooth SIG
Передача голоса Да Нет
Топология сети Scatternet (англ.) русск. Scatternet (англ.) русск.
Потребляемая мощность 1 Вт в качестве исходной От 0,01 Вт до 0,5 Вт (в зависимости от вариантов использования)
Максимально потребляемый ток Варианты использования [ править | править код ]

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

Соответствующие чипы могут быть интегрированы в такие продукты, как наручные часы, беспроводные клавиатуры, геймпады и датчики тела, которые могут подключаться к принимающим (хост) устройствам, таким как мобильные телефоны, персональные цифровые помощники (КПК) и персональные компьютеры (ПК).

Обновления программного обеспечения [ править | править код ]

Соответствующие приложения для существующих устройств могут быть открыты для использования технологии Bluetooth с низким энергопотреблением с помощью обновления. Это даст возможность существующему программному обеспечению Bluetooth-технологии получать данные от Bluetooth с низким энергопотреблением. Однако, возможность общаться в дуплексном режиме ограничена с определенными схемами распределения частоты традиционной технологии Bluetooth. Широко распространенные устройства, такие как мобильные телефоны, персональные цифровые помощники (КПК) и персональные компьютеры (ПК), могут получать данные передаваемые устройствами Bluetooth с низким энергопотреблением в качестве принимающих устройств для сложных задач.

Следовательно, технология Bluetooth с низким энергопотреблением может связать любую персональную сеть согласно IEEE 802.15 (WPAN) которая имеет связь с каждым простым устройством с другими приборами для сложных задач, а также для поддержки шлюза для передачи информации другим сетевым объектам.

Иногда можно «восстановить» рассеянную энергию излучения или энергию движения. Такие «убирающие мусор» системы могут питать Bluetooth со сверхнизким энергопотреблением, что приводит к чему-то наподобие датчиков пыли, очень маленьких, независимых, доступных сетевых датчиков, которые сообщают о цельной картине вокруг, они рассредоточены повсюду и не исчерпывает энергию. Кроме того, являются надежными.

Стандартизация [ править | править код ]

На рынке патентованных решений для обеспечения связи, технология Bluetooth с низким энергопотреблением определяет себя как:

  • широко распространенный промышленный стандарт протоколов (Bluetooth SIG)
  • международно принятый промышленный стандарт для передачи (IEEE 802.15.1)
  • низкая цена благодаря интеграции микросхемы
  • совместимость с уже существующими Bluetooth-устройствами через обновления

Аппаратные платформы [ править | править код ]

Несколько производителей занимаются выпуском чипов для периферийных устройств Bluetooth LE, например, Nordic Semiconductor с микросхемами серии nRF51, nRF52, Texas Instruments с системой-на-кристалле CC2541. Кроме того, вместо того, чтобы самостоятельно разрабатывать свои решения для радио, производители могут приобрести готовые модули, прошедшие соответствующую, довольно дорогостоящую, сертификацию. На начало 2014 года были доступны модули Laird BL600, Bluegiga BLE112/BLE113, а также RFDuino (для платформы Arduino) [8] .

В качестве примера ниже приведены характеристики системы на кристалле серии nRF51 [8] :

  • ARM (архитектура) Cortex-M0 с тактовой частотой 16 МГц
  • От 128 до 256 Кб флеш-памяти, из которых около 90 Кб занимает стек Bluetooth LE
  • 16 Кб SRAM-памяти, из которых 8 Кб может использовать приложение, а остальное использует стек

Беспроводная связь становится неотъемлемой частью электроники, так как все больше и больше потребителей требуют возможности отправлять и получать данные, не привязываясь к разъемам и кабелям. Одним из самых популярных протоколов беспроводной связи является Bluetooth, который имеет универсальность для поиска «родственников» в самых разных приложениях.

Среди многих других приложений Bluetooth встроен в автомобили, так что пользователи могут воспроизводить свою любимую музыку со смартфона на автомобильной стереосистеме. Новая область безопасности «умного дома» использует Bluetooth, чтобы позволить людям выполнять такие задачи, как запирание и отпирание входной двери с помощью телефона. Bluetooth также можно использовать для отправки файлов между планшетом и компьютером, отправки уведомлений с фитнес-трекера на компьютер или телефон и многое другое. На рисунке ниже изображены два распространенных устройства с поддержкой Bluetooth, смартфон и ноутбук.

Все эти различные приложения подпадают под общий термин «Bluetooth», но, что удивительно, не все из них используют одни и те же беспроводные протоколы. Некоторые используют Bluetooth с низким энергопотреблением (BLE), в то время как другие используют базовую скорость Bluetooth / повышенную скорость передачи данных (Bluetooth BR / EDR). Более новые приложения даже могут использовать Bluetooth 5.

Большинство людей не знают ни о разнице между Bluetooth BR / EDR и BLE, ни о том, какой из них лучше всего подходит для их конкретных приложений. С появлением Bluetooth 5 все стало более запутанным, что еще больше стирает грань между этими протоколами. Цель этой статьи — объяснить, чем BLE отличается от Bluetooth BR / EDR и как Bluetooth 5 обещает улучшить оба протокола. Это также поможет вам определить версию, наиболее подходящую для вашего приложения.

Читайте также:  Функция airdry в посудомоечной машине

История

Чтобы лучше понять, чем отличаются Bluetooth с базовой скоростью передачи данных (BR) / повышенную скорость передачи данных (EDR) и BLE, важно изучить историю этих беспроводных технологий. Каждый из них был разработан Специальной группой по интересам Bluetooth (Bluetooth SIG), которая управляет всеми протоколами Bluetooth. По мере разработки Bluetooth SIG выпускает новую спецификацию для внесения улучшений. Временная шкала на рисунке ниже показывает спецификации Bluetooth, которые были выпущены и где Bluetooth BR, Bluetooth EDR, BLE и Bluetooth 5 соответствуют этим спецификациям.

Bluetooth с базовой / повышенной скоростью передачи данных (BR/EDR)

Bluetooth BR был первым разработанным протоколом Bluetooth. В нем реализован уникальный метод использования гауссовой частотно-сдвиговой манипуляции (GFSK) для обмена данными в диапазоне ISM 2,4 ГГц. Эта полоса была выбрана потому, что, в отличие от большинства полос частот, для работы в ней не требуется лицензия, поэтому связь полностью бесплатна. Bluetooth BR быстро завоевал популярность, поскольку он предоставил недорогой и маломощный способ отправки и получения данных по беспроводной сети на короткие расстояния со скоростью передачи данных до 0,7 Мбит / с.

Несколько лет спустя была выпущена новая спецификация Bluetooth 2.0, которая включала опцию Bluetooth EDR. Bluetooth EDR позволяет передавать данные в два-три раза быстрее, чем предыдущая версия. Это стало возможным потому, что он использует дифференциальную квадратурную фазовую манипуляцию (QDPSK) и дифференциальную 8-уровневую фазовую манипуляцию (8DPSK) вместе с GFSK. GFSK передает один бит на символ, тогда как QDPSK передает два бита на символ, а 8DPSK передает три бита на символ.

Когда BLE был впервые разработан, на самом деле это был даже не Bluetooth! Он был разработан Nokia как беспроводная технология под названием Wibree. Данный стандарт был разработан так, чтобы потреблять очень мало энергии (а также быть очень дешевым и простым в настройке), что делает его идеальным решением для устройств, работающих от батарей небольшой емкости.

Wibree включает в себя множество методов, аналогичных Bluetooth BR / EDR, включая работу в диапазоне ISM 2,4 ГГц, модуляцию GFSK, схему канала и скачкообразную перестройку частоты. Параллели между ними привели к тому, что Bluetooth SIG принял Wibree в свою спецификацию. Он был выпущен как новый беспроводной стандарт потребляющий мало энергии для работы под названием Bluetooth Low Energy (BLE). BLE впервые появился в спецификации Bluetooth 4.0.

Bluetooth 4.0 не «уничтожил» полностью стандарты Bluetooth BR / EDR, но вместо этого предлагал BLE в дополнение к Bluetooth BR / EDR. Потребительские устройства с BLE часто назывались Bluetooth Smart, а Bluetooth BR / EDR — Bluetooth Classic; однако эти термины больше не используются для дифференциации каждого протокола. В соответствии с этой спецификацией радиостанции могут быть разработаны для работы в качестве радиомодуля BD / EDR только Bluetooth, радиомодуля BLE или спаренного радиомодуля, который поддерживает Bluetooth BR / EDR и BLE.

Bluetooth 5.0

Bluetooth SIG делает все возможное, чтобы вносить улучшения, соответствующие эволюции технологий, и одним из ключевых достижений, которые, по-видимому, движут электроникой, является Интернет вещей (IoT). BLE сыграл большую роль в развитии IoT, но Bluetooth SIG хотел еще больше расширить возможности Bluetooth в приложениях IoT. Новые достижения в оригинальной технологии BLE были выпущены в Bluetooth 5.0, который называется Bluetooth 5.

Bluetooth BR/EDR vs. BLE

Давайте сравним сходства и различия только между Bluetooth BR / EDR и BLE. Хорошее место для начала — физический уровень (PHY) протоколов. PHY содержит схему, используемую для модуляции и демодуляции аналоговых сигналов и преобразования их в цифровые символы. Различия на физическом уровне — это один из факторов, который делает каждый протокол ориентированным на конкретные приложения. Четыре области PHY, где BR / EDR и BLE различаются, — это схема канала, энергопотребление, задержка и пропускная способность.

Схема канала

И Bluetooth BR / EDR, и BLE обмениваются данными в диапазоне ISM 2,4 ГГц, но различаются по количеству каналов, в которых они делят диапазон частот. Bluetooth BR / EDR делит полосу на 79 каналов, разнесенных на 1 МГц. BLE использует более простой передатчик и приемник, поэтому он разделяет полосу на 40 каналов, разнесенных на 2 МГц.

Одна вещь, с которой должны работать Bluetooth BR / EDR и BLE, независимо от количества используемых каналов, это помехи. Диапазон ISM 2,4 ГГц полон передатчиков, использующих все преимущества нелицензионного диапазона. Чтобы минимизировать помехи, как Bluetooth BR / EDR, так и BLE используют скачкообразную перестройку частоты, когда радиостанция работает на одном канале в течение короткого периода времени, прежде чем перейти на другой канал для продолжения связи.

BLE также добавляет еще один элемент в свою схему канала. BLE резервирует три канала для передатчика BLE, чтобы «заявить», что он доступен для подключения. Частота этих трех рекламных каналов была стратегически выбрана таким образом, чтобы они не мешали трем наиболее часто используемым каналам Wi-Fi, также работающим в диапазоне ISM 2,4 ГГц. После установления соединения радиостанции продолжат свою связь на одном из 37 других каналов. На рисунке ниже изображена схема канала для BLE и показано, где три рекламных канала расположены в полосе частот.

Мощность

Минимизация потребления энергии является ключевым отличием между Bluetooth BR / EDR и BLE, о чем свидетельствует тот факт, что BLE имеет «низкое энергопотребление» в своем названии! Bluetooth BR / EDR использует максимальную выходную мощность 100 мВт для передачи данных примерно до 10-100 м. Это было хорошо в те дни, когда большинство устройств можно было часто заряжать. Однако, поскольку спрос на продукты, которые могут работать от батареи в течение нескольких месяцев или лет без подзарядки, увеличивается, такой уровень выходной мощности будет слишком большим, поскольку это приведет к быстрому разряду батареи.

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

Задержка

Еще одно преимущество BLE делает его лучше, чем Bluetooth BR / EDR — задержка. Переход Bluetooth BR / EDR в активное состояние (готовность передавать данные) занимает около 100 мс. Существует дополнительная задержка в 100 мс с момента получения данных на передатчике до момента их получения на приемнике. В некоторых случаях это может привести к довольно заметной задержке. Это также приводит к увеличению энергопотребления, поскольку дополнительное время, необходимое для отправки данных, приводит к увеличению потребления энергии от батареи.

BLE предлагает гораздо меньшую задержку. BLE будет готов отправлять данные уже через 3 мс. Кроме того, задержка с момента получения данных на передатчике до момента их доступности на приемнике составляет всего 6 мс. Это позволяет отправлять данные гораздо быстрее и экономит электроэнергию.

Пропускная способность

В этот момент вам может быть интересно, почему кто-то выбрал бы Bluetooth BR / EDR вместо BLE. Хорошо, где BLE отстает от Bluetooth BR / EDR в пропускной способности. И Bluetooth BR / EDR, и BLE используют GFSK, поэтому теоретически максимальный предел пропускной способности составляет 1 Мбит / с. Однако такие факторы, как издержки протокола, ограничения радиосвязи и искусственные программные ограничения, ограничивают фактическую пропускную способность.

На практике Bluetooth BR может достигать пропускной способности до 0,7 Мбит / с, в то время как Bluetooth EDR может достигать пропускной способности 2,1 Мбит / с. Этой пропускной способности достаточно для приложений, таких как потоковое аудио. Поскольку BLE отправляет данные короткими пакетами для экономии энергии, его пропускная способность сталкивается с дополнительными ограничениями. Максимальная пропускная способность может достигать только 0,27 Мбит / с. Хотя этой пропускной способности недостаточно для потоковой передачи звука, более чем достаточно для отправки данных датчика, которые не нужно постоянно передавать.

Из этих четырех разделов становится ясно, что различия на физическом уровне для каждого из этих протоколов вызывают много различий в рабочих параметрах. В таблице ниже приведены основные параметры между Bluetooth BR / EDR и BLE.

BLE 5.0

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

Первый физический слой (PHY), который предлагает Bluetooth 5, называется LE 1M. Это тот же PHY используется для BLE в спецификации Bluetooth 4.2, поэтому большинство его параметров будут соответствовать параметрам, показанным в таблице 1. LE 1M является единственным физическим слоем, который является обязательным в Bluetooth 5. Другие два PHY являются дополнительными.

Bluetooth 5 интегрирует закодированный физический уровень как один из дополнительных физических слоев, который может расширить диапазон связи. Кодированный PHY достигает большей дальности, вводя избыточность для получения некоторого выигрыша в обработке вместо увеличения мощности передатчика.

Bluetooth 5 вводит дополнительные избыточные биты, которые используются для определения правильного значения бита. Кодированный физический слой существует в двух вариантах: S = 2 и S = 8. S = 2 отправляет два символа на бит, что уменьшает пропускную способность в два раза, но теоретически удваивает диапазон. S = 8 отправляет восемь символов на бит. Хотя это снижает пропускную способность до 125 кбит / с, но примерно в четыре раза увеличивает диапазон. На практике фактический диапазон будет немного ниже теоретических значений, но этот метод все же помогает достичь гораздо большего диапазона.

Читайте также:  Как найти установленную программу в windows 10

Радиус действия маловажен для большинства конечных приложений, поэтому Bluetooth 5 обязательно включил что-то для приложений, где пропускная способность важнее дальности. Существует опция двойной скорости передачи данных под названием LE 2M, которая увеличивает скорость передачи необработанных данных до 2 Мбит / с. Это позволяет передавать данные с максимальной фактической пропускной способностью 1,4 Мбит / с. Это означает, что данные могут передаваться даже быстрее, чем Bluetooth BR, но с меньшим энергопотреблением.

Таблица 2 сравнивает три физических уровня, доступные в Bluetooth 5, чтобы показать, как они отличаются с точки зрения скорости передачи данных и диапазона.

Bluetooth 5 предлагает множество улучшений в публикации данных. Он по-прежнему использует ту же схему каналов, что и BLE, но включает опции для рассылки данных на всех 40 каналах вместо трех. В Bluetooth 5 небольшие пакеты данных могут передаваться по трем каналам, используемым в BLE. Однако теперь они могут указывать на большие публикуемые пакеты (до 255 октетов), которые можно отправлять по дополнительным 37 каналам. Это также помогает уменьшить объем контента на трех основных каналах. Bluetooth 5 также включает улучшения для цепочки пакетов, периодической публикации данных и меньшего минимального интервала между передачей сообщений.

Приложения

Различия в PHY являются ключом к определению того, какой протокол лучше всего подходит для каждого приложения. В последних нескольких разделах мы рассмотрели много технических деталей, которые можно применять для лучшего понимания идеального использования каждого протокола.

Давайте начнем с Bluetooth BR / EDR. Он снижает скорость задержки и мощность пакета для более высокой пропускной способности, поэтому он лучше всего подходит для приложений, где пропускная способность является критически важной спецификацией. Это делает его идеальным протоколом для приложений, таких как потоковая передача видео / звука или отправка больших объемов данных. Распространенными приложениями являются беспроводные гарнитуры (рисунок ниже) и приложения типа точка-точка.

BLE лучше всего подходит для приложений, которым необходимо отправлять только небольшие объемы данных, в результате чего устройство может проснуться, передать необходимые данные и затем вернуться в спящий режим. Низкое энергопотребление BLE делает его обязательным для устройств, которые питаются от небольшой батареи. Приложение, которое хорошо подходит для BLE, — это пульсометр. Монитор сердечного ритма не должен часто отправлять данные, но он должен работать в течение длительного периода времени от батареи. Поскольку область IoT продолжает развиваться, мы, вероятно, увидим много новых приложений BLE.

Важно отметить, что когда вы выбираете устройство Bluetooth с поддержкой для своего приложения, вы должны быть уверены, что выбрали интегральную схему (ИС), которая поддерживает протокол, который вы планируете использовать. Вы не можете купить ИС наугад и предположить, что она поддерживает как Bluetooth BR / EDR, так и BLE. Как упоминалось ранее, Bluetooth BR / EDR и BLE используют разные физические уровни, поэтому вам необходимо убедиться, что выбранная интегральная схема поддерживает физический уровень для протокола, который вы планируете использовать, или она поддерживает оба PHY, если вы считаете, что оба могут быть полезны для вашего приложение.

Bluetooth 5, который обещает значительные улучшения, уже начал появляться в популярных технологиях. Многие популярные смартфоны уже предлагают поддержку Bluetooth 5. Как и в случае с большинством беспроводных протоколов, Bluetooth 5 интегрировался в большую часть электроники. Тем не менее, становится очевидным, что настало время Bluetooth 5.

Если вы хотите быть готовым к использованию Bluetooth 5, необходим микроконтроллер, совместимый с Bluetooth 5, для соответствия основным требованиям. Одним из примеров является Maxim MAX32666GWPBT, который имеет два ядра Arm Cortex-M4 и отдельное оборудование, предназначенное для работы стека Bluetooth (рисунок ниже). Это оставляет два ядра полностью бесплатными для вашего приложения. Другим вариантом является маломощный микроконтроллер Arm Cortex-M4 MAX32665 с блоком с плавающей запятой (FPU) и Bluetooth 5. Этот микроконтроллер имеет функции управления питанием, такие как импульсный источник питания с одним индуктором и несколькими выходами (SIMO), и динамическое масштабирование напряжения для минимизации энергопотребления и, следовательно, хорошо подходит для систем с батарейным питанием.

Итоги

Как и в любом хорошем уроке, лучший способ проверить свои знания — это викторина. Испытайте себя, вернитесь к приложениям, перечисленным в начале этой статьи, и посмотрите, сможете ли вы определить, какой протокол Bluetooth используется каждым из них. Если вы не помните, ответы ниже …

Bluetooth BR / EDR хорош для приложений, где критична максимальная пропускная способность. Он может потреблять значительное количество энергии, поэтому он не подходит для приложений, в которых требуется длительное время автономной работы. Он также имеет большую задержку и занимает больше времени для настройки соединения для начала отправки данных. Следовательно, он не предназначен для приложений, которые передают и получают нечастые короткие сообщения. Вы можете найти его используемым для подключения телефона к автомобильной стереосистеме для воспроизведения музыки или отправки файлов между компьютерами или планшетами. Оба приложения требуют высокой пропускной способности и могут позволить себе «потреблять некоторую мощность».

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

Хотя все эти технологии и называются Bluetooth, они действительно предлагают различные преимущества в мире беспроводной электроники. Чтобы определить, какой протокол лучше всего подходит для ваших приложений, обязательно посмотрите на различия в PHY, перечисленные в таблице 1, чтобы увидеть, где каждый протокол превосходит. Кроме того, следите за тем, как Bluetooth 5 изменит отрасль в ближайшие несколько лет благодаря более высокой пропускной способности, большему диапазону и расширенным возможностям публикации сообщений.

Этичный хакинг и тестирование на проникновение, информационная безопасность

Чтобы вы не ушли пока читаете скучную теорию — в этой статье я буду взламывать свою зубную щётку…

Bluetooth, как мы знаем, является одной из самых популярных и широко используемых беспроводных технологий в современном мире. В связи с быстрым ростом IoT, ускоряющим развитие технологии Bluetooth, Специальная группа по интересам Bluetooth (Bluetooth Special Interest Group (SIG)) предпринимает постоянные усилия по увеличению скорости передачи с максимальным акцентом на маяки, развлечения, сферу здравоохранения и фитнес.

Примечание: IoT — «Интернет вещей», термин относится к совокупности разнообразных устройств, обычно более простых, чем персональный компьютер, которые подключены к Интернету.

Bluetooth Low Energy (BLE) является частью спецификации Bluetooth 4.0, которая также включает протоколы классического Bluetooth и протокол высокоскоростного Bluetooth (Classic Bluetooth and Bluetooth High Speed Protocols). По сравнению с классическим Bluetooth, BLE предназначен для использования меньшей мощности при сохранении аналогичного диапазона связи. BLE — это технология, которая всегда отключена и передаёт только короткие объёмы данных, когда это необходимо. Это значительно снижает энергопотребление, что делает его идеальным для использования в случаях, когда требуется постоянное долговременное соединение с низкой скоростью передачи данных. BLE идеально подходит для пульта дистанционного управления телевизором, но не для беспроводного устройства потоковой передачи мультимедиа, которому для передачи требуется большой объем данных.

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

Изначально Nokia разработала BLE для собственного проекта под названием «WIBREE», который впоследствии был передан Bluetooth SIG. BLE был задуман с акцентом на лучшую скорость сопряжения и энергоэффективность.

Что выделяет BLE?

  • Обеспечивает многоплатформенную связь: может легко общаться через большое количество устройств, работающих на Android, iOS, Linux, Windows Phone, Windows 8 и OS X
  • Лучшая скорость сопряжения
  • Помогает поддерживать связь в течение более длительных периодов времени
  • Значительно ниже затраты на внедрение
  • Энергоэффективный

На бумаге BLE выглядит хорошо, а как на практике?

Это хороший вопрос с точки зрения безопасности. Дело в том, что BLE — это просто протокол. Изготовители должны безопасно внедрить BLE в своё устройство. Известно, что даже самый сильный криптографический протокол не будет работать, если генератор случайных чисел не является «достаточно случайным». То же самое относится и к BLE. Таким образом, можно сказать, что безопасность BLE лежит в руках его исполнителей.

В то время как все устройства Bluetooth с низким энергопотреблением были разработаны с основной целью улучшения взаимодействия с пользователем, безопасность заняла последнее место во время процесса?

Давайте посмотрим на три основные уязвимости, которым BLE могут подвергать своих пользователей:

  1. Подслушивание: как следует из названия, подслушивание относится к стороннему устройству, прослушивающему данные, которыми обмениваются два сопряжённых устройства. Соединение между двумя сопряжёнными устройствами означает цепочку доверия. Цепь разрывается при удалении одного из устройств. Злоумышленник может использовать номер устройства для доступа к другим Bluetooth-устройствам. Даже если ключи шифрования/расшифровки должны были быть удалены, атакующий может офлайн брутфорсить ПИН, используя Bluetooth Sniffer (на основе идентификатора устройства). Как только PIN-код будет получен, устройство может быть легко взломано.
  2. Атаки «человек посередине» (MITM). Атаки «человек посередине» включают стороннее устройство, имитирующее законное устройство, обманывая два легитимных устройства, заставляя их поверить в то, что они связаны друг с другом, когда на самом деле законные устройства подключены к имитатору (посреднику). Этот тип атаки позволяет злоумышленнику/имитатору получить доступ ко всем данным, которыми обмениваются устройства, а также манипулировать данными, удаляя или изменяя их, прежде чем они достигнут соответствующего устройства.
  3. Отказ в обслуживании и Fuzzing атака. Поскольку большинство беспроводных устройств в наши дни работают на встроенных аккумуляторных батареях, эти устройства подвержены риску атак типа «отказ в обслуживании» (DoS). DoS-атаки подвергают систему частым сбоям, приводящим к полному истощению её батареи. Fuzzing атаки также приводят к сбою систем, поскольку злоумышленник может отправлять искажённые или нестандартные данные на радиомодуль устройства Bluetooth и проверять его реакцию, что в конечном итоге может сбить с толку устройство.
Читайте также:  Телевизор сони или лджи что лучше

Итак, резюмируя, по своей задумке BLE это упрощённая версия Bluetooth, которая всегда не меняет каналы (частоты), что облегчает сниффинг и атаку человек-посередине. BLE не имеет встроенного протокола обеспечения безопасности. Реализация безопасности BLE возложена на производителей конечных устройств, которые не всегда подходят к этому добросовестно. По этой причине многие BLE устройства можно легко обнаружить практически в любое время их работы. При этом зачастую они не содержат каких-либо механизмов для ограничения чтения и даже записи на них, то есть открыты для подключения и модификации кому угодно.

Основные понятия в BLE

В BLE есть два основных понятия.

  • GAP — Generic Access Profile (общий профиль доступа)
  • GATT — Generic Attribute Protocol (протокол общих атрибутов)

Общий профиль доступа (GAP)

Он ответственен за подключение и распространения информации о наличии устройства BLE. GAP отвечает за видимость устройства во внешнем мире, а также играет важную роль в определении того, как устройство взаимодействует с другими устройствами.

Следующие две концепции являются неотъемлемой частью GAP:

Периферийные устройства. Это небольшие устройства с низким энергопотреблением, которые могут подключаться к сложным, более мощным центральным устройствам. Монитор сердечного ритма является примером периферийного устройства.

Центральные устройства: в основном это мобильные телефоны или гаджеты с увеличенной памятью и вычислительной мощностью.

Advertising process (обеспечение видимости устройства)

Процесс обнаружения устройств заключается в том, что Периферийное устройство в заданные интервалы отправляет в округу данные о своём существовании. Если эти данные получит Центральное устройство, то оно отправит запрос на сканирование. В ответ Периферийное устройство пришлёт данные результата сканирования.

Периферийное устройство будет отправлять «рекламные» данные каждые 2 секунды. Если центральное устройство готово прослушать рекламные пакеты, оно ответит запросом сканирования. В ответ на этот запрос периферийное устройство отправит данные ответа сканирования. Таким образом, центральное и периферийное устройства узнают друг о друге и связывается друг с другом.

Протокол общих атрибутов (GATT)

Используя общий протокол данных, известный как протокол атрибутов, GATT определяет, как два устройства BLE обмениваются данными друг с другом, используя понятия — сервис (service) и характеристика (characteristic). Этот протокол сохраняет все сервисы и характеристики в справочной таблице с использованием 16-битных идентификаторов, как указано в Bluetooth SIG. Важно отметить, что GATT инициируется только после того, как Advertising процесс, регулируемый GAP, завершён.

Две основные концепции, которые образуют GATT

  • Сервисы (service)
  • Характеристики (characteristic)

Сервисы

Сервисы можно представить просто как шкаф, в котором может быть много ящиков, которые в свою очередь называются характеристиками. Сервис может иметь много характеристик. Каждый сервис уникален сам по себе с универсально уникальным идентификатором (UUID), который может быть размером 16 бит для официальных адаптированных сервисов или 128 бит для пользовательских сервисов.

Характеристики

Характеристики являются наиболее фундаментальным понятием в рамках транзакции GATT. Характеристики содержат одну точку данных и схожи с сервисами, каждая характеристика имеет уникальный идентификатор или UUID, который отличается от другой характеристики.

Вот спецификации SIG для характеристик и сервисов для устройств BLE. Любое устройство BLE, которое официально приняло UUID от SIG, должно использовать идентификатор, указанный ими в своих приложениях.

Например, официальный UUID мощности передачи (TX power) в соответствии с мандатом SIG равен 0x1804.

Чтобы было наглядно, посмотрите на этот пример сервисов и характеристик конкретного устройства:

В нём «Generic Access (1800)» — это 16-битный сервис. Внутри этого сервиса, следующие 16-битные характеристики:

Ещё один 16-битный сервис это «Generic Attribute (1801)», он содержит только одну 16-битную характеристику: Service Changed (2a05).

Далее идут три 128-битные сервиса, первый из них «a0f0fff050474d5382084f72616c2d42», содержит четыре 128-битных характеристики:

Имеется проблема в идентификации сервисов и характеристик. Для 16-битных сервисов и характеристик всё просто, ссылки на их значения даны выше. Что касается 128-битных сервисов и характеристик, то они у каждого производителя могут быть свои. То есть нужно приложит некоторые усилия, чтобы, к примеру, сопоставить что-то вроде d0611e78-bbb4-4591-a5f8-487910ae4366 с чем-то вроде Apple Continuity Service. Для сопоставления можно использовать как минимум два подхода:

  • анализ приложения для управления устройством (многие устройства имеют программы под Android)
  • фаззинг — ввод различных данных и наблюдение за устройством, что в нём поменялось

Как взломать Bluetooth Low Energy

Суть процесса взлома Bluetooth Low Energy можно описать следующими стадиями:

  1. Обнаружение устройства
  2. Считывание его сервисов и характеристик
  3. Обнаружение среди характеристик те, которые можно перезаписать
  4. Определение, за что отвечают характеристики
  5. Изменить значения характеристик

Четвёртый этап является творческим и самым сложным. Иногда роль характеристик можно найти в документации разработчиков для данного устройства. Иногда приходится перебирать значения и смотреть, что поменялось в устройстве. Самый сложный вариант — это обратная инженерия перехваченного Bluetooth трафика или приложения для управление устройством.

Я покажу пример изменения BLE параметров на устройстве с помощью bettercap.

Вводим команду для включения модуля по обнаружению BLE устройств:

При обнаружении новых устройств и при потере видимости устройств будут выводиться примерно следующие сообщения:

Чтобы вывести устройства, которые в данный момент в пределах досягаемости, выполните команду:

Для показа характеристик конкретного устройства, запустите команду следующего вида, где вместо MAC укажите MAC-адрес устройства:

К примеру, меня интересует устройство C8:DF:84:1A:9F:26:

В столбце Properties вы увидите свойства данной характеристики, они могут быть:

  • READ (чтение)
  • WRITE (запись) — то есть возможно изменение данной характеристики
  • NOTIFY (уведомление)
  • INDICATE (индикатор)

В колонке Data присутствует текущее значение характеристики, либо дополнительная информация, например:

Для записи данных HEX_DATA в BLE устройство с указанным MAC адресом, в характеристику с идентификатором UUID:

Чтобы знать, что именно записывать, нужно понимать, за что отвечают характеристики. Вот пример значений для моего устройства — это электрическая зубная щётка Oral-B Genius 9000 (кстати, рекомендую). Значение характеристик я нашёл в Интернете.

Исследование и взлом Bluetooth Low Energy (BLE) с телефона

Поскольку на всех современных телефонах имеется Bluetooth, то вы можете использовать приложения для работы с Bluetooth Low Energy (BLE) окружающих устройств на телефоне.

Пример такого приложения — nRF Connect — бесплатная программа программа для Android, которая умеет сканировать для поиска BLE устройств, подключаться к ним и менять значение характеристик. Программа поддерживает макросы и другие продвинутые функции.

Просмотр сервисов устройства:

Просмотр свойств характеристик:

Редактирование значений характеристик:

Работа с Bluetooth Low Energy (BLE) в Linux

Конечно, в Linux можно работать с устройствами, поддерживающими BLE, напрямую, без таких программ как Bettercap.

К сожалению, этот аспект довольно запутанный. В Debian и производных программы для работы с Bluetooth Low Energy собраны в пакете bluez. В Arch Linux и производных, пакет bluez также имеется, но утилиты, которые нас интересуют, помещены в пакет bluez-utils. Но не это самая большая проблема.

После очередного обновления утилит bluez, авторы вдруг признали многие важные программы «устаревшими», а именно устаревшими объявлены:

  • gatttool
  • hciattach
  • hciconfig
  • hc > Поразительно, но для них не было представлено полноценных замен. Путаницу добавляет отсутствие нормальной документации и даже справки по программам.

Была составлена такая таблица замены:

Устаревший инструмент Самая подходящая замена
gatttool btgatt-client, D-Bus Gatt API
hciattach btattach
hciconfig btmgmt (и bluetoothctl?)
hcidump btmon (и btsnoop)
hcitool отсутствует, доступно в D-Bus Device API
rfcomm отсутствует, реализовано в D-Bus Profile1 API?
ciptool
sdptool отсутствует, кажется, что функциональность разбросана по разным объектам D-Bus: Profile, Advertising, и массивы UUIDs в device и adapter.

Слова «отсутствует» не вселяют уверенности. По этой причине для Debian и производных этот пакет компилируется с ключом —enable-deprecated, а на Arch Linux в дополнении к пакету bluez-utils, доступному в стандартных репозиториях, в AUR имеется пакет bluez-utils-compat, в котором тоже включены устаревшие инструменты.

В относительно свежих инструкциях, для взаимодействия с Bluetooth Low Energy используются утилиты:

  • hcitool
  • gatttool

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

Если запустить программу btmgmt:

И в ней выполнить команду:

То она выведет список обнаруженных устройств:

Будут выведены как BLE, так и обычные Bluetooth устройства.

Также умеет искать BLE устройства, если ввести:

С помощью команды connect можно подключиться к устройству, для этого нужно указать его MAC-адрес:

Информация по устройству:

Если перейти в меню GATT:

То можно получить список характеристик:

А также перезаписать характеристики устройства.

Для получения информации по отдельным характеристикам:

Ещё одна программа, которая выведет сразу все характеристики устройства — btgatt-client. Например, выполним подключение и посмотрим характеристики устройства с MAC C8:DF:84:1A:9F:26:

В дополнении к рассмотренным программам, в отдельной консоли можно запустить Bluetooth monitor:

Как и полагается программе-монитору, она будет выводить множество информации о происходящем с Bluetooth и об обнаруженных устройствах.

Заключение

Системные утилиты Linux для работы с Bluetooth заслуживают более внимательного изучения — с их помощью можно узнать более подробную информацию о своей системе и сделать тонкую настройку Bluetooth адаптера.

Также с помощью них можно реализовать сканеры BLE и Bluetooth устройств и/или написать или приспособить фаззеры для исследования назначения характеристик BLE устройств. Поэтому вполне возможно, что в одной из следующих статей будут более подробно рассмотрены программы для работы с BLE.

Рекомендуем к прочтению

Добавить комментарий

Ваш адрес email не будет опубликован.