Какие возможности предоставляет технология bluetooth smart. Разработка IoT устройств с использованием Bluetooth LE

,
В мире существует большое разнообразие способов передачи информации «по воздуху». В последнее время всё большую популярность обретает формат BLE. Сегодня мы рассмотрим особенности этого протокола и поговорим о том, почему же он так востребован в современном мире. Так же мы рассмотрим средства разработки и особенности работы вспомогательных приложений на windows, android от фирмы Nordic.

Зачем придумали BLE

Как только люди научились передавать информацию без помощи проводов, встала задача передачи данных, используя устройство с батарейным питанием. Проблема в том, что ему должно помогать другое устройство, которое будет постоянно либо прослушивать эфир, либо передавать данные. Проблема возникает в том случае, если и приемник и передатчик имеют батарейное питание. В этом случае приходит на помощь BlueTooth Low Energy (BLE). Он впервые вошел в протокол BlueTooth 4.0. На данный момент уже вышла спецификация BlueTooth 5.0, однако мы будем рассматривать в основном формат BlueTooth 4.0, иногда указывая нововведения для формата 5.0. В качестве одного из устройств обычно выступает смартфон, а второго - батарейный гаджет. Андроид поддерживает BLE с версии 4.3.

Для передачи и приема данных необходима энергия, поэтому поднимают скорость передачи данных, что бы в единицу времени успеть передать больше информации. Для этого в BLE принята скорость передачи информации в 1 Mbit/c. Однако не только скорость передачи данных важна. Самым важным в BLE является то, что устройства связи умеют переходить в синхронный режим работы. Другими словами, устройства спят 99% времени, потом просыпаются на очень короткое время, обмениваются информацией и опять засыпают. Однако перед тем как войти в этот режим, необходимо пройти процедуру синхронизации. Для этого существует режим «advertising». Его мы рассмотрим позднее. А перед тем как погрузится в описание протокола BLE, хотелось бы затронуть тему инструментальных средств, для работы с протоколом BLE.

Инструменты

Для того чтобы разобраться во всем многообразии посылок и запросов нам необходимы инструментальные средства. С их помощью мы смогли бы увидеть содержимое посылок и проконтролировать механизм взаимодействия между устройствами. Для этих целей мы будем использовать nRF51822 Development Dongle (PCA10000), программу сниффера и, для отображения результатов, хорошо известную всем сисадминам программу «Wireshark».


Программы бесплатные, но достать сам донгл может оказаться проблемой. Однако без инструментария, заниматься разработкой таких сложных устройств будет весьма проблематично. На первом этапе может помочь программа на андроиде «nRF Connect».


Она позволяет сканировать эфир, находить и разбирать посылки как присоединяемых, так и не присоединяемых устройств. У Nordic-a есть и ещё инструменты для разработки BLE устройств, но нам будет достаточно этих. На российском рынке присутствует представитель компании Nordic – фирма «Rutronik» (rutronik24.com, rutronik.com). Через её представителей можно приобрести необходимые микросхемы, отладочные платы и т.д. Кроме того, в интернете имеется форум , на котором представители фирмы отвечают на вопросы разработчиков.

Сначала вкратце поговорим о том, как пользоваться нашими инструментами. Вставим в разъем USB наш донгл и запустим программу ble_sniffer_win. Мы увидим следующее окно.


Если донгл увидит BLE устройства, то внизу появится информация о них. В данном случае, в эфире присутствует одно устройство с именем «TestBLE». Так же отображается его уровень сигнала, MAC адрес и то, что этот адрес является случайным (random). Забегая вперед, хочется заметить, что здесь кроется один из подводных камней для разработчиков. Некоторые телефоны (LG G3S, Samsung S6) работают только с устройствами, MAC адреса которых зарегистрированы (public).

У сниффера есть два режима работы. Если мы нажмем кнопку «w» на клавиатуре, то запустится программа «Wireshark». Сниффер будет сканировать три рекламных канала и выдавать информацию обо всех устройствах объявления. Если мы сначала нажмем цифру на клавиатуре, такую же, как напротив интересующего нас устройства, то включится другой режим работы. В нем сниффер будет отслеживать трафик только одного выбранного устройства, причем как на каналах объявления, так и на рабочих каналах


Используя «Wireshark», легко получить всю информацию о посылке. Программа состоит из трех окон. Сверху отображаются все принятые посылки, во втором окне – детальная информация о выбранном пакете, а в третьем окне отображается сам фрейм. В свою очередь, во втором окне имеется три блока информации. В самом верхнем – временные значения выбранного фрейма, во втором (Nordic BLE sniffer meta) – общая информация о фрейме, такие как уровень сигнала, частотный канал и некоторые другие. Самым интересным для нас является третий блок информации (Bluetooth Low Energy Link Layer). В нем можно посмотреть разбор самого фрейма. В дальнейшем мы будем говорить именно об этом блоке информации. Сначала мы разберем формирование рекламных пакетов.

Advertising

Посмотрим на рисунок ниже. На нем показаны распределения каналов по частотам для BLE. Рекламные каналы - это 37 (2402Мгц), 38 (2426Мгц) и 39 (2480Мгц) каналы. Такое распределение рекламных каналов выбрано не случайно. Во-первых, рекламные каналы попадают между каналами Wi-Fi (1, 6, 11 каналы), что позволяет даже при малом уровне мощности, быть услышанными другими устройствами. Во-вторых, когда мы разносим рекламные каналы далеко друг от друга, мы получаем гарантированную доставку сообщения. Это связано с интерференцией сигнала в помещениях. Известно, что в результате отражения радиосигналов от стен, может получиться ситуация, когда приемник и передатчик не слышат друг друга. Однако в нашем случае, когда передача рекламных пакетов идет последовательно на трех разных каналах, максимально удаленных друг от друга по частоте, этот эффект отсутствует.


Рассмотрим теперь формат самого пакета advertising. В спецификации длина данных измеряется в октетах. Для нас это байты. Самым первым байтом идет преамбула. Она состоит из чередующихся нулей и единиц. Это нужно для синхронизации передатчика и приемника. Следом за преамбулой передаются четыре байта адреса доступа(Access Address). После него идет пакет данных (PDU). В спецификции 4.0 максимальная длина PDU составляет 39 байт, а в версии 5.0 длина пакета данных увеличена до 257 байт. В конце каждого рекламного пакета идут три байта контрольной суммы (CRC).
Здесь надо заметить, что Access Address служит для того, что бы устройства понимали, для кого предназначен BLE пакет. Это своеобразный код доступа. Если этот код доступа не знаком устройству, то пакет игнорируется. На всех рекламных каналах, в отличии от рабочих, он одинаков (0x8E89BED6), поэтому все устройства на каналах объявления видят друг друга.

Рассмотрим теперь формат блока данных PDU. В самом начале пакета PDU идет заголовок длинной 16 бит. В нем содержится тип пакета, флаги TxAdd, RxAdd, а так же длина всего поля PDU в байтах. RFU – это зарезервированные поля. Для спецификации 4.0 это выглядит так:


Заголовок:
Для спецификации 5.0 увеличена длина поля Payload до 255 байт, а так же добавлены новые поля в заголовок:
Заголовок:
Поле TxAdd как раз и отвечает за то, как будет видеться MAC адрес устройства. Если это поле равно единице, то МАС устройства будет виден как random. Рассмотрим теперь какие бывают типы advertising пакетов. На рисунке приведен их список для спецификации 4.0. В формате 5.0 их число увеличено, но мы будем рассматривать то, что есть в обоих форматах.


ADV_IND – это ненаправленные пакеты, которые рассылают устройства, готовые к присоединению. Большинство гаджетов при рассылке рекламных пакетов используют именно их.

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

SCAN_REQ, SCAN_RSP, CONNECT_REQ – пакеты, которыми обмениваются присоединяемое устройство и телефон в процессе установления синхронного соединения. Эти пакеты и сам процесс присоединения мы рассмотрим во второй части статьи.

ADV_SCAN_IND – эти пакеты рассылает не присоединяемое устройство, которое может предоставить дополнительную информацию в ответ на запрос при сканировании.

Во второй части статьи мы рассмотрим различные режимы работы BLE устройств, а так же механизм «присоединения» устройства к телефону и переход на рабочие частоты.

Печерских Владимир

Теги:

  • ble
  • bluetooth 4.0
Добавить метки

В индустрии хайтека очень важно, чтобы пользователь понимал преимущества тех или иных технологий. Простой пример - Wi-Fi 802.11n. Благодаря умелому маркетингу производителям удалось донести до клиентов, что устройства стандарта 802.11n передают данные быстрее своих предшественников. И этого достаточно - увидев магическую букву “n” на коробке с роутером, счастливый покупатель его с руками оторвёт. С технологией Wi-Fi разобрались, переходим к Bluetooth .

Что такое Bluetooth 4.0, о котором мы так часто говорим в последнее время? Дойдя до этого вопроса, любознательные полезут за ответом в Википедию. И будут правы, но это совсем не то, чего хотят производители. Им нужно обеспечить узнаваемость технологии. Им хочется, чтобы вы прыгали от восторга, увидев новую версию Bluetooth в списке характеристик очередного iPhone. Что мешает? Мешают, как ни странно, цифры. “Четыре ноль”, “два один” - для пользователя всё едино. Пользователь скажет: “Моя гарнитура работает с любым телефоном, какая мне разница, что там за версия?”

А ведь смысл-то в том, что Bluetooth 4.0 разрабатывался вовсе не под гарнитуры. Он хорош для небольших электронных датчиков: спортивных, медицинских и многих других. Иными словами, четвёртая версия - это не совсем общепринятый Bluetooth, это другая технология, другая по своей направленности . С её названием Bluetooth Special Interest Group (сокращённо Bluetooth SIG) села в лужу. Если уж разрабатываете что-то инновационное, не ставьте новинку в один ряд с привычными понятиями. Придумайте новое название.

Что Bluetooth SIG и сделали! Встречаем Bluetooth Smart . Ничего нового, это просто имя для технологий, заложенных в стандарт Bluetooth 4.0.

Устройства Bluetooth Smart предназначены для сбора определённых видов информации (Все ли окна в моём доме закрыты? Каков мой уровень инсулина? Сколько я сегодня вешу?) и их отправки на совместимое устройство.

Среди основных примеров - кардиомониторы, глюкометры, “умные” часы, датчики безопасности для окон и дверей, брелки автомобильной сигнализации, тонометры… Возможности применения безграничны.

Из официального пресс-релиза Bluetooth Smart

Таким образом, через годик-другой вы сможете напичкать свой дом, свои вещи и самого себя разнообразными датчиками, которые будут дружно посылать информацию на ваше устройство. Благодаря энергосберегающим алгоритмам четвёртого Bluetooth любой такой датчик проработает долгие годы от одной-единственной батарейки. Вы сможете спросить у Siri: “Закрыта ли моя машина?” - и она вам ответит!

В ассоциации Bluetooth SIG состоят несколько крупных производителей, но из всех них только Apple активно внедряет чипы Bluetooth 4.0 в свои устройства. Первыми двумя “ласточками” стали летние . Теперь подоспел ещё . А вот линейку MacBook Pro, несмотря на вчерашний , пока оставили “за бортом”. Заменить процессоры при неизменной структуре чипсета - это одно дело. Внедрить новую технологию - совсем другое. [macrumors ]

сайт В индустрии хайтека очень важно, чтобы пользователь понимал преимущества тех или иных технологий. Простой пример - Wi-Fi 802.11n. Благодаря умелому маркетингу производителям удалось донести до клиентов, что устройства стандарта 802.11n передают данные быстрее своих предшественников. И этого достаточно - увидев магическую букву “n” на коробке с роутером, счастливый покупатель его с руками оторвёт. С технологией...

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

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

Bluetooth 1.0/1.1

Bluetooth 1.0/1.1 - разработан в 1998 году. Скорость первой версии стандарта была небольшой и составляла всего 150 Кбит/с (Bluetooth 1.0/1.1).

Bluetooth 2.0

Bluetooth 2.0 является эволюционным развитием стандарта 1.0/1.1, в результате которого значительно увеличилась скорость соединения (до 3 Мбит/с ) и повысилось энергосбережение. На сегодняшний день Bluetooth 2.0 является самым распространённым стандартом. Он используется в беспроводных гарнитурах, наушниках, клавиатурах и мышках, сотовых телефонах, смартфонах, ноутбуках и т.д.

Bluetooth 3.0

Для увеличения скорости передачи данных в 2009 году был принят стандарт Bluetooth 3.0, который сочетает в себе технологии Bluetooth и Wi-Fi . Bluetooth 3.0 позволяет работать в двух радиорежимах: в одном передача данных осуществляется со скоростью до 3 Мбит/с (как и у Bluetooth 2.0) и характеризуется пониженным энергопотреблением (что позволяет значительно экономить электроэнергию и увеличивать время работы мобильного устройства без дополнительной подзарядки), во втором скорость передачи достигает 24 Мбит/с , но значительно увеличивается энергопотребление. Выбор режима работы происходит автоматически в зависимости от размера передаваемого файла. Для передачи небольших файлов используется медленный канал, для больших – быстрый.

Важно помнить, что хотя Bluetooth 3.0 и использует технологию Wi-Fi стандарта 802.11, с Wi-Fi 802.11b/g/n он несовместим!

Bluetooth 4.0

Bluetooth 4.0 как стандарт был принят в июне 2010 года. Отличительной особенностью версии 4.0 является режим сверхнизкого энергопотребления и стабильная работа на расстоянии до 100 м. В первую очередь Bluetooth 4.0 рассчитан на использование в разнообразных миниатюрных датчиках, которые смогут работать до нескольких лет от одной батарейки. Особенность состоит в том, что в датчиках Bluetooth активируется только в момент приема/передачи информации. Для остальных устройств (телефоны, смартфоны, планшеты, ноутбуки) Bluetooth доступен для использования в классическом понимании – передача файлов, обмен фотографиями и музыкой, пересылка контактов. При этом максимальная скорость, как и в спецификации Bluetooth 3.0, составляет 24 Мбит/с .

Для удобства пользователей, введены два новых понятия: Bluetooth SMART и Bluetooth SMART READY .

  • Bluetooth SMART – обозначение миниатюрных устройств со встроенными датчиками, собирающими самую разнообразную информацию: электронный измеритель пульса, давления, датчик закрытия окон или дверей, электронный цифровой замок автомобиля, домашний термометр пульт от телевизора и многое другое.
    ВАЖНО!!! Устройства Bluetooth SMART смогут передавать информацию только на Bluetooth SMART READY совместимые устройства.
  • Bluetooth SMART READY – обозначение устройств, работающих с датчиками Bluetooth SMART, то есть считывающих и обрабатывающих информацию поступающую от них. Например, устройства подсчитывающие количество сожженных калорий получая данные с шагомера или же подающие звуковой сигнал в случае срабатывания беспроводного датчика задымления помещения и многое другое. Bluetooth SMART READY устройства полностью совместимы с Bluetooth 2.0/3.0 оборудованием.

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

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

Bluetooth 1.0/1.1

Bluetooth 1.0/1.1 - разработан в 1998 году. Скорость первой версии стандарта была небольшой и составляла всего 150 Кбит/с (Bluetooth 1.0/1.1).

Bluetooth 2.0

Bluetooth 2.0 является эволюционным развитием стандарта 1.0/1.1, в результате которого значительно увеличилась скорость соединения (до 3 Мбит/с ) и повысилось энергосбережение. На сегодняшний день Bluetooth 2.0 является самым распространённым стандартом. Он используется в беспроводных гарнитурах, наушниках, клавиатурах и мышках, сотовых телефонах, смартфонах, ноутбуках и т.д.

Bluetooth 3.0

Для увеличения скорости передачи данных в 2009 году был принят стандарт Bluetooth 3.0, который сочетает в себе технологии Bluetooth и Wi-Fi . Bluetooth 3.0 позволяет работать в двух радиорежимах: в одном передача данных осуществляется со скоростью до 3 Мбит/с (как и у Bluetooth 2.0) и характеризуется пониженным энергопотреблением (что позволяет значительно экономить электроэнергию и увеличивать время работы мобильного устройства без дополнительной подзарядки), во втором скорость передачи достигает 24 Мбит/с , но значительно увеличивается энергопотребление. Выбор режима работы происходит автоматически в зависимости от размера передаваемого файла. Для передачи небольших файлов используется медленный канал, для больших – быстрый.

Важно помнить, что хотя Bluetooth 3.0 и использует технологию Wi-Fi стандарта 802.11, с Wi-Fi 802.11b/g/n он несовместим!

Bluetooth 4.0

Bluetooth 4.0 как стандарт был принят в июне 2010 года. Отличительной особенностью версии 4.0 является режим сверхнизкого энергопотребления и стабильная работа на расстоянии до 100 м. В первую очередь Bluetooth 4.0 рассчитан на использование в разнообразных миниатюрных датчиках, которые смогут работать до нескольких лет от одной батарейки. Особенность состоит в том, что в датчиках Bluetooth активируется только в момент приема/передачи информации. Для остальных устройств (телефоны, смартфоны, планшеты, ноутбуки) Bluetooth доступен для использования в классическом понимании – передача файлов, обмен фотографиями и музыкой, пересылка контактов. При этом максимальная скорость, как и в спецификации Bluetooth 3.0, составляет 24 Мбит/с .

Для удобства пользователей, введены два новых понятия: Bluetooth SMART и Bluetooth SMART READY .

  • Bluetooth SMART – обозначение миниатюрных устройств со встроенными датчиками, собирающими самую разнообразную информацию: электронный измеритель пульса, давления, датчик закрытия окон или дверей, электронный цифровой замок автомобиля, домашний термометр пульт от телевизора и многое другое.
    ВАЖНО!!! Устройства Bluetooth SMART смогут передавать информацию только на Bluetooth SMART READY совместимые устройства.
  • Bluetooth SMART READY – обозначение устройств, работающих с датчиками Bluetooth SMART, то есть считывающих и обрабатывающих информацию поступающую от них. Например, устройства подсчитывающие количество сожженных калорий получая данные с шагомера или же подающие звуковой сигнал в случае срабатывания беспроводного датчика задымления помещения и многое другое. Bluetooth SMART READY устройства полностью совместимы с Bluetooth 2.0/3.0 оборудованием.


Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: