Slble что за устройство
Связь Bluetooth – как она работает и как использовать технологию связи
Электронные устройства, несмотря на то, что производятся тысячами различных производителей должны использовать одну технологию/стандарт, чтобы соединяться друг с другом. Именно по этой причине по всему миру используют сети 4G LTE (с недавнего времени также 5G), а современные устройства подключаются к сети с помощью беспроводного стандарта Wi-Fi.
Bluetooth, в свою очередь, это стандарт беспроводной связи малой дальности. Это решение используется на портативных компьютерах, планшетах, смартфонах, автомобилях, колонках, саундбарах, домашних кинотеатрах, умных часах, фитнес-браслетах, устройствах smart home, в беспроводных клавиатурах и других устройствах. Возможности использования Bluetooth практически безграничны.
Технология Bluetooth, как правило, проста в настройке и использовании, но, к сожалению, иногда случаются различного рода проблемы.
В следующей статье мы объясним, что такое Bluetooth, для чего можно использовать эту технологию и как использовать. Приведены также возможные способы решения наиболее частых проблем, возникающих при использовании Bluetooth.
Что такое связь Bluetooth
В самом начале следует объяснить, что такое Bluetooth. Это стандарт беспроводной связи между устройствами малого радиуса действия, который для передачи данных использует радиосвязь. С помощью Bluetooth мы можем передавать файлы, документы, видео и музыку. Из-за особенности подключения Bluetooth – низкая пропускная способность и значительной энергоэффективности Bluetooth используется, в основном, для связи между аксессуарами и передачи звука.
Bluetooth является открытым стандартом, который был описан в спецификации IEEE 802.15.1. Она включает в себя три основных класса мощности с пределами дальности действия 1 метр, 10 метров и 100 метров.
Разработка стандарта Bluetooth была инициирована компанией Ericsson, которая вместе с IBM, Intel, Nokia и Toshiba создали в 1994 году группу SIG (Special Interest Group), целью которой была разработка универсального стандарта беспроводной связи малого радиуса действия. Идея избавиться от проводов быстро эволюционировала к сети LAN и превратилась в известную нам сегодня сеть WLAN (Wi-Fi).
Первая версия стандарта Bluetooth 1.0 была представлена в 1999 году. Описание решения занимало до 1500 страниц.
В настоящее время стандарт – это Bluetooth 5.0 (+ новый Bluetooth 5.1), а также популярный старый стандарт Bluetooth 4.2.
В самых простых случаях Bluetooth соединяет два устройства, например, смартфон с гарнитурой в легковом автомобиле. Подключение создается с помощью PAN (Personal Area Network), в котором есть одно соединение типа «точка-точка». Любое устройство, имеющее Bluetooth, имеет уникальный AMA (Active Member Address), т.е. идентификатор, который позволяет легко узнавать устройство. Производители могут также называть свои устройства понятными именами, что облегчает поиск выбранного оборудования в списке Bluetooth-устройств поблизости. Пользователь часто может изменить это название на другое.
Bluetooth также позволяет подключать большее количество устройств (до 8) в одной сети. В этом случае используется подключение типа «точка-много точек», когда одно устройство выполняет роль сервера, а остальные роль узлов.
Кроме того, устройства Bluetooth имеют функции standby (режим ожидания), благодаря которой пользователю не нужно каждый раз подключать между собой устройства. Например, мышь, связанная с устройством, будет автоматически подключаться после перезагрузки. Комплект громкой связи в информационно-развлекательной системе автомобиля при каждом запуске двигателя будет пытаться подключиться к последнему сопряженному смартфону.
Теоретическая спецификация Bluetooth предусматривает возможность использования до 256 устройств в режиме ожидания. Это возможно благодаря адресации PMA (Passive Member Adres), которая имеет разрядность 8 бит (2 8 = 256 устройств).
Классы и диапазоны Bluetooth
В сети можно найти информацию о трёх классах Bluetooth. Их основной задачей является определение максимальной дальности передачи и мощности беспроводного соединения.
Самые популярные версии Bluetooth
В настоящее время на рынке тяжело найти устройства с Bluetooth 1-2.1. Доступные на рынке устройства используют одну из следующих версий Bluetooth:
Если производитель решит ограничить передачу скоростью 125 КБ/сек, то возможно увеличение дальности до 200 метров (на открытых пространствах). Они также могут повысить скорость за счет энергоэффективности или сделать медленнее, но повысить энергоэффективность передачи данных.
Профили Bluetooth
Технология Bluetooth поддерживает различные профили. Они отвечают за то, как и могут ли вообще устройства общаться друг с другом с помощью Bluetooth.
Существует множество различных профилей, которые предназначены для конкретных применений. Ниже приведены самые популярные из них:
Как передаются данные с помощью Bluetooth?
Bluetooth использует полосу частот ISM (Industrial, Scientific and Medical Band) в диапазоне от 2,402 до 2,480 Ггц. В этом интервале доступно до 79 каналов. Каждый из них имеет ширину полосы частот равную 1 Мгц. Диапазон частот 2,4 Ггц, очень близкий к 2,402 Ггц используется связь Wi-Fi, совместимую со стандартом IEEE 802.11.
Bluetooth поддерживает функции изменения частоты «на лету» (FHSS), благодаря которой в течение секунды каналы могут быть изменены 1600 раз. Эти изменения, а также передача небольших пакетов данных приводят к тому, что Bluetooth-соединения остаются стабильны.
Bluetooth и WLAN (Wi-Fi) – какие различия?
Bluetooth и WLAN исходят из одной идеи и работают аналогично, но используются для совершенно других действий.
Bluetooth использует два различных метода передачи данных: SCO – Synchronous Connection Oriented и ACL – Asynchronous Connectionless Link. SCO используется для передачи голоса в режиме реального времени с максимальной скоростью 64 Кбит/с. Остальные данные передаются с помощью ACL и требует, чтобы передающее устройство имело встроенную память для хранения данных.
Сеть WLAN (Wi-Fi) в состоянии передавать данные только в асинхронном режиме. Кроме того, Wi-Fi работает на других частотах и при имеет гораздо более высокую пропускную способность.
Где искать настройки Bluetooth на устройстве
Место, в котором находятся настройки для Bluetooth, зависит только и исключительно от производителя конкретного устройства. К счастью, в настоящее время смартфоны и компьютеры используют несколько операционных систем, в которых параметры находятся в одном месте.
В Android необходимо запустить приложения Настройки и найти раздел Подключения → Bluetooth. Кроме того, можно воспользоваться поисковой системой внутри Настроек или перейти к настройкам Bluetooth, после длительного нажатия значка Bluetooth в строке уведомлений.
В системе iOS запустите приложение Настройки и выберите раздел Bluetooth, который находится практически на самом верху.
В системе Windows 10 запустите приложение Параметры → Устройства → Bluetooth. Кроме того, вы можете перейти к настройкам Bluetooth с помощью быстрых действий в центре уведомлений операционной системы Windows 10.
В системе macOS необходимо запустить приложение Системные настройки → Bluetooth.
Как определить версию Bluetooth на устройстве
В течение 20 лет на рынок вышло несколько версий Bluetooth, которые несмотря на то, что совместимы друг с другом, имеют различные возможности и технические параметры. В мобильных устройствах из-за их небольшого размера модуль Bluetooth интегрирован с процессором в рамках одной системы SoC (System on a Chip).
В случае компьютеров с Windows, необходимо запустить Диспетчер устройств (его можно найти через системный поиск) и перейдите в меню Bluetooth. При выборе модуля следует перейти в раздел «Дополнительно». Там вы увидите строку LMP с числом.
Ниже информация о том, какое число соответствует какому стандарту Bluetooth:
На компьютерах Mac, перейдите в Finder → Об этом Mac → Отчет о системе → Bluetooth. Параметр Bluetooth Core Spec показывает, какую версию Bluetooth имеет компьютер.
Информации о типе используемой версии Bluetooth можно найти в технической спецификации данного устройства. Кроме того, все оборудование с Bluetooth имеет специальный сертификат.
Как соединить устройства с помощью Bluetooth
Само подключение устройств с помощью Bluetooth с виду простое, но на практике оказывается, что пользователи имеют с ним немалые проблемы.
Чтобы соединить между собой два устройства, они должны иметь активный модуль Bluetooth. Параметры Bluetooth, как правило, находятся в настройках подключения. В случае смартфонов с Android можно запустить Bluetooth с помощью быстрых настроек на панели уведомлений. Пользователи устройств с iOS/iPadOS могут воспользоваться «Центром Управления».
Оборудование, к которому мы хотим подключить другое устройство, например, комплект громкой связи, должны находиться в режиме сопряжения. К сожалению, часто получается, что каждый производитель «скрывает» функцию активации режима сопряжения в своём месте меню. Иногда оборудование можно подключить сразу после включения Bluetooth, другое через какое-то время, а третье только после включения соответствующей опции. В этом случае лучше всего проверить инструкцию по эксплуатации данного оборудования.
При попытке подключения оба устройства отображают четырехзначный код PIN-код (обычно 0000 или 1234), который позволяет дополнительно убедиться, что мы связываем выбранные устройства. Только после подтверждения PIN-кодом начинается процесс сопряжения.
Подключение через Bluetooth с использованием NFC
Значительная часть новых смартфонов и планшетов имеет встроенный модуль NFC – Near Field Communication. Это решение используется для оплаты с помощью Google Pay, Apple Pay и других платежных систем.
Мало кто знает, что NFC может также использоваться для быстрого сопряжения двух устройств. В случае, если у вас есть смартфон с NFC и другое устройство с поддержкой NFC, например, звуковая панель или наушники, поднесите устройства друг к другу и начнётся автоматическое сопряжение. В этом случае вам не нужно вводить код PIN-код или дополнительно подтверждать соединение.
Почему смартфон не обнаруживает всех устройств?
Как мы уже писали ранее, не все устройства обнаруживаются даже в случае, когда модуль Bluetooth активен. Очень большое влияние на работу этой технологии имеет операционная система, примененная в данном оборудовании.
В настоящее время проблема с определением доступных устройств является самым большим «проклятием» технологии Bluetooth. Часть таких производителей, как Samsung изменяет драйверы Bluetooth, как и меню настроек, чтобы доступ к ним был более понятным по отношению к обычному Android.
К сожалению, на противоположной стороне есть компании, которые препятствуют доступу к меню Bluetooth. Здесь речь идёт, в основном, о производителях автомобилей и комплектов громкой связи. Если в случае смартфонов и компьютеров можно научиться пользоваться Bluetooth в нескольких системах (Android, iOS, Windows и macOS), то каждый производитель автомобилей использует совершенно иную систему, в которой функции Bluetooth иногда глубоко скрыты.
Устройство было обнаружено, но не может подключиться
Иногда может случиться так, что устройство будет правильно обнаружено, но не может подключиться. К сожалению, нет универсального решения этой проблемы, но, к счастью, она касается, в основном, старых устройств.
Возможно, что смартфон или другое устройство уже подключено к другому оборудованию с помощью Bluetooth (например, smartwatch), и при попытке соединения с домашним кинотеатром Bluetooth отклонит вызов. Это происходит потому, что не все устройства поддерживают множественные подключения по Bluetooth.
Более ранние версии операционной системы Android (4.4 Kitkat включительно) имеют проблемы, если в списке подключенных устройств есть много записей. В этом случае лучше всего удалить устройства, которыми вы не пользуетесь.
В случае переноса данных со старого смартфона Android на новый, могут быть перенесены также сопряженные устройства. Решение это редко когда работает так, как должно. После покупки нового телефона, советуем очистить список сопряженных устройств Bluetooth и приступить к повторной установке.
Иногда проблема с подключением возникает из-за значительного расстояния между устройствами. Убедитесь, что оборудование находится рядом.
Соединение Bluetooth разрывается через некоторое время
К сожалению, разрыв связи – это всё ещё актуальная проблема, даже в последних смартфонах. Проблемы с подключением Bluetooth являются большой проблемой владельцев всевозможных фитнес-браслетов и умных часов, которые должны быть постоянно соединены с телефоном в течение всего дня. В этом случае решением проблемы может быть удаление из списка сопряженных устройств неиспользуемого оборудования, но у нас есть другие, более эффективные решения.
Новые смартфоны под управлением Android имеют сложные алгоритмы, используемые для экономии заряда батареи. Производители телефонов и Google ввели агрессивное управление процессами. Это приводит к тому, что когда телефон переходит в спящий режим – так называемый Deep Sleep, «засыпает» также процесс, отвечающий за соединение Bluetooth. В результате smartwatch сообщает нам об отсутствии соединения с телефоном.
Решением этой проблемы является отключение энергосбережения для приложений управления фитнес-браслетом или smartwatch. Это можно сделать в настройках в разделе «Приложения». Точное положение параметра зависит от используемого интерфейса. Для часов Samsung Gear/Galaxy необходимо отключить экономичный режим в приложениях Samsung Gear, Gear Plugin (опционально – если отображается в списке), а также Samsung Health.
За проблемы с подключением могут быть ответственны также запуск режимов энергосбережения в самом smartwatch или фитнес-браслете.
Сопряжение носимых устройств с помощью Bluetooth
В случае носимых устройств, таких как smartwatch и фитнес-браслеты, нужно не только подключить устройство с помощью Bluetooth. Чтобы использовать возможности этого типа устройств следует установить на мобильном устройстве клиентское приложение. В случае часов с Android это Wear OS, smartwatch и браслеты Samsung используют Samsung Gear, а устройства Xiaomi – Mi Fit.
Сопряжение осуществляется с помощью приложения и отличается в зависимости от используемого устройства. Всё это тщательно описано в руководстве по эксплуатации устройства, а также клиентского приложения.
Возможно ли обновление через Bluetooth
Да, обновление с помощью Bluetotoh возможно. Чаще всего, так вы можете обновить устройства, которые не имеют Wi-Fi. Речь идёт о носимых устройствах, smartwatchach, а также комплектах громкой связи, ресиверах и смарт-колонках. В их случае микропрограмма загружается на мобильное устройство и передаётся с помощью Bluetooth на память подключенного оборудования.
Воспроизведение звука на двух устройствах Bluetooth
Bluetooth в течение длительного периода времени не позволял поддерживать соединение с двумя устройствами одновременно, а тем более одновременную передачу данных между всеми подключенными устройствами.
Ситуация изменилась с появлением стандарта Bluetooth 4.0. Он ввел дуальный режим (Dual Mode), который позволяет передавать звук на два устройства одновременно. Все три устройства должны поддерживать Bluetooth версии 4.0, а передающее устройство должно быть дополнительно совместимые с функцией Dual Mode.
В этом случае одно из устройств, подключенных использует Bluetooth Classic, в то время как второе Bluetooth Low Energy.
Функция Dual Audio дебютировала в Samsung Galaxy S8 и Galaxy S8+. С момента своего запуска в начале 2017 года в магазинах появились другие модели телефонов с возможностью одновременной передачи звука на два устройства Bluetooth.
Проблема с Bluetooth в Windows
В случае использования ПК иногда появляется проблема с активацией модуля Bluetooth. В настройках системы Windows 10 существует возможность включения и выключения Bluetooth, но она чисто программная.
В начале мы рекомендуем вам проверить модуль Bluetooth в Диспетчере устройств Windows. В случае, если его нет в списке, перезагрузите компьютер – возможно, что были обновлены драйверы. Когда после перезагрузки модуль Bluetooth по-прежнему невидимым, возможно, он был отключен с уровня BIOS/UEFI или физического переключателя на корпусе (в основном, старые модели ноутбуков). Если эти решения не помогут, возможно, что ваш компьютер не имеет модуля Bluetooth или он был поврежден.
Обновление драйвера Bluetooth в Windows
Драйверы в системе Windows 10 обновляется автоматически в службе Windows Update, но можно вручную принудительно проверить обновления и установить последнюю версию драйвера. Это полезное решение, когда по каким-то причинам после обновления модуль перестанет работать.
Чтобы обновить драйверы для модуля Bluetooth нужно перейти в Диспетчер устройств → Bluetooth и выберите устройство Bluetooth (например, Intel Wireless Bluetooth). Следующим шагом будет переход на вкладку Драйвер и выберите Обновить драйвер. В следующем шаге вы можете выбрать обновление в режиме онлайн или указать папку с драйверами.
В случае, если после обновления драйверов модуль Bluetooth по-прежнему будет доставлять проблемы, вы можете удалить устройство с помощью Диспетчера устройств и установить заново. Выполнение этого действия приведет к повторной установке драйверов.
Bluetooth-адаптер USB или PCI не распознается системой
Большинство фирменных и марочных адаптеров Bluetooth используют интерфейс USB или PCI, драйверы для которых Windows находит сама. Несмотря на это, на рынке по-прежнему встречаются адаптеры Bluetooth, к которым Windows сама не может найти драйверов.
В этом случае следует зайти в Диспетчер устройств и выбрать пункт локального обновления драйвера. Неизвестный модуль Bluetooth определяется как Неизвестное устройство. Драйверы, как правило, поставляются в комплекте с устройством. Кроме того, вы можете найти их на сайте службы поддержки производителя в интернете.
Для мобильных стражей: беспроводной стандарт Bluetooth Low Energy в системах безопасности
Пожалуй, одной из наиболее часто встречающихся в повседневной жизни беспроводных сетевых технологий (после сотовой связи) является Bluetooth. Благодаря относительно высоким скоростям передачи данных и неплохим энергетическим показателям технология Bluetooth получила широкое распространение в мобильных электронных устройствах, персональных компьютерах, ноутбуках, беспроводных наушниках, гарнитурах, мультимедийных центрах. Стандарт позволяет поддерживать достаточно разветвленную и сложную сеть устройств. Однако, для применения в сенсорных сетях классический Bluetooth подходит мало из-за значительного для автономных источников питания энергопотребления вследствие особенностей работы стека протоколов.
Технология Bluetooth Low Energy (BLE) 3 — Bluetooth 4.0 является технологией беспроводной связи для ближних коммуникаций, разработанной группой Bluetooth Special Interest Group (SIG). В отличие от предыдущих стандартов — Bluetooth 2.0, Bluetooth 2.1 + EDR, Bluetooth 3.0, стандарт BLE изначально ориентирован на применение в системах сбора данных, мониторинга с автономным питанием. В отличие от технологий сенсорных сетей, таких как, ZigBee, 6LoWPAN или Z-Wave, ориентированных на разветвленные распределенные сети с многочисленными передачами данных между узлами сети, Bluetooth Low Energy рассчитан на топологии типа «точка-точка» и «звезда». Основными областями применения BLE являются устройства обеспечения безопасности, управления электроприборами и отображения показаний, датчики с батарейным питанием, домашние медицинские приборы, спортивные тренажеры.
Успех предыдущих версий Bluetooth, подтвержденный массовым применением беспроводных интерфейсов данных стандартов в большом количестве устройств, в том числе — рассчитанных на обычного потребителя, позволяет ожидать аналогичной ситуации и с устройствами, поддерживающими стандарт BLE. В частности IEFT 6LoWPAN Working Group рассматривает BLE как одну из значительных составляющих т.н. «Интернета вещей» (Internet of Things) и разрабатывает спецификацию, позволяющую транслировать пакеты IPv6 посредством BLE [2, 3].
Компания BlueGiga является одной из первых компаний, которая начала внедрять технологию Bluetooth Low Energy в своих устройствах. Однорежимные устройства (single-mode) выпускаются с 2010 года, а с 2011 года — и двухрежимные (dual-mode). Ассортимент устройств с технологией Bluetooth Low Energy от BlueGiga позволяет строить на их основе решения для самых различных секторов рынка встраиваемых беспроводных устройств:
Отдельно можно выделить возможность применения BLE-модулей BlueGiga в устройствах обеспечения безопасности. Это могут быть тревожные кнопки, бесконтактные ключи, выполненные в виде отдельных брелоков или функционирующие на базе мобильных телефонов.
Ряд задач может быть решен на основе обнаружения присутствия других BLE-устройств в радиусе действия сигнала центрального узла. К таким решениям относятся устройства-сигнализаторы, позволяющие обнаруживать удаление владельца от сумочек, багажа, кошельков, портмоне со встроенным BLE-модулем и сигнализирующее ему и окружающим (при необходимости) о потере владельца. Модули серий BLE111, BLE112 благодаря своим компактным размерам, низкому профилю и малому потреблению позволяют встраивать сигнализирующие устройства непосредственно в предметы (карманы сумочек, корочки кошельков и записных книжек, стенки портфелей). Будучи встроенными в браслеты или брелоки, подобные устройства помогут, к примеру, не потерять ребенка в местах с большим скоплением людей (рынки, вокзалы, супермаркеты, аэропорты). Как бы это ни казалось странным, но такая проблема существует.
Аналогичным образом BLE-устройства могут служить для учета времени прихода/ухода работников: они устанавливаются на входе или выдаются по приходу на работу. Возможна также реализация систем мониторинга присутствия:
Немаловажной областью применения BLE-устройств могут стать автомобильные системы. При помощи специальных BLE-брелоков или непосредственно со смартфона, оснащенного Bluetooth, возможно управление и настройка ряда автомобильных систем, начиная от личных настроек водителя (климат, предпочтительная радиостанция) до дополнительного уровня противоугонной системы. Таким уровнем может быть блокировка запуска автомобиля в отсутствии BLE-устройства (или любого из предварительно зарегистрированных устройств хозяина с Bluetooth) в радиусе действия BLE-узла, находящегося в автомобиле.
Ниже рассмотрим ключевые особенности стека протоколов Bluetooth Low Energy и BLE-устройств, поставляемых BlueGiga.
Стек протоколов Bluetooth Low Energy
Структура стека
Как и классический стек протоколов Bluetooth, стек BLE состоит из двух основных частей: контроллера (Controller) и узла сети (Host). Контроллер включает в себя физический и канальный уровень и часто реализуется в виде системы-на-кристалле (СнК) с интегрированным беспроводным трансивером. Часть стека, именуемая узлом сети реализуется программно на микроконтроллере приложений и включает в себя функциональность верхних уровней: уровень логической связи (Logical Link Control — LLC), протокол адаптации (Adaptation Protocol — L2CAP), протокол атрибутов (Attribute Protocol — ATT), протокол атрибутов профилей устройств (Generic Attribute Profile — GATT), протокол обеспечения безопасности (Security Manager Protocol — SMP), протокол обеспечения доступа к функциям профиля устройств (Generic Access Profile (GAP). Взаимодействие между верхней и нижней частями стека осуществляется интерфейсом Host Controller Interface (HCI). Дополнительная функциональность прикладного уровня может быть реализована поверх уровня узла сети. На рисунке 1 представлена структура стека протоколов BLE [1, 3].
Рис. 1. Структура стека протоколов Bluetooth Low Energy (BLE) — а) и пакета данных BLE — б)
Несмотря на то, что некоторые функции контроллера BLE заимствованы у классического Bluetooth, они не совместимы между собой, т.е. устройство, поддерживающее только BLE (однорежимное устройство — single-mode device) не сможет взаимодействовать с устройством, поддерживающим только Bluetooth 2.x/3.0. Для осуществления взаимодействия между ними хотя бы одно из устройств должно поддерживать оба стека протоколов (двухрежимное устройство — dual-mode device).
Однорежимные устройства обладают наименьшим потреблением и в основном представляют собой конечные исполнительные устройства. Двухрежимные устройства предполагают возможность периодического получения энергии, располагаются на различных мобильных устройствах, а также могут функционировать и как обычные Bluetooth-устройства. Схема взаимодействия между однорежимными, двухрежимными устройствами и классическими Bluetooth-устройствами представлена на рисунке 2 [1, 4].
Рис. 2. Схема взаимодействия между однорежимными, двухрежимными устройствами и классическими Bluetooth-устройствами
Физический уровень
Выделяют два типа каналов — каналы объявления и каналы данных. Каналы объявления используются для поиска устройств, установления соединения, широковещательных передач, тогда как каналы данных используются для двунаправленного обмена между устройствами.
Для каналов объявления выделено три частотных канала в центре полосы, что минимизирует перекрытие с каналами 1, 6 и 11 стандарта IEEE 802.11. Остальные 37 каналов используются для обмена данными. Для снижения влияния помех, многолучевого распространения, а также снижения влияния соседних устройств при обмене данными происходит скачкообразное переключение частоты (рис. 3) [1].
Рис. 3. Соотношение частотных каналов BLE и каналов IEEE 802.11
Канальный уровень
В BLE для передачи широковещательных пакетов применяются каналы объявления. Любое устройство, передающее пакеты по данным каналам, называется объявителем. Передача пакетов по каналам объявлений происходит только в течение специальных выделенных интервалов времени, называемых событиями объявлений. Во время этих событий устройство-объявитель передает пакеты объявлений последовательно по каждому из трех каналов. Устройства, единственной функцией которых является прием пакетов объявлений, называются сканерами [3].
Двунаправленный обмен между BLE-устройствами возможен только после установления соединения между ними. Создание нового соединения между двумя устройствами является асимметричной процедурой, в течение которой устройство-объявитель по каналам объявления сигнализирует о своей готовности к соединению, в то время как другое устройство (инициатор соединения) прослушивает данные каналы. Когда инициатор обнаруживает нужное устройство, он может послать запрос на установление соединения (Connection Request) объявителю, который устанавливает между ними соединение. С этого момента устройства могут осуществлять обмен по каналам данных. Пакеты, относящиеся к установленному соединению, будут отмечены сгенерированным случайным образом 32-битным кодом доступа.
Также как и в классическом варианте Bluetooth, в BLE для установленного соединения одно из устройств выступает в качестве ведущего (master), второе — ведомого (slave). В ходе процедуры установления соединения — инициатор и объявитель, соответственно. Ведущее устройство может поддерживать несколько соединений с ведомыми, в то время как ведомое устройство может иметь только одно подключение — к ведущему. Таким образом, BLE-устройство одновременно может принадлежать только одной пико-сети. В этом кроется еще одно отличие BLE от Bluetooth — в последнем случае ведомое устройство в свою очередь могло выступать в качестве ведущего устройства своей собственной пико-сети.
Для экономии энергии ведомое устройство по умолчанию находится в спящем состоянии, периодически просыпаясь для проверки наличия пакетов данных от ведущего. Ведущий определяет для своих ведомых устройств моменты времени, в которые ведомый просыпается для прослушивания канала, регулируя тем самым доступ устройств к среде передачи по схеме разделения времени (Time Division Multiple Access — TDMA). Ведущее устройство также задает ведомым схему переключения частотных каналов. Параметры соединения передаются в сообщении запроса на установление соединения и могут быть обновлены при необходимости (например при смене схемы переключения каналов для устранения перекрытия с частотными каналами других устройств).
После установления соединения физический канал передачи данных разделяется на неперекрывающиеся временные интервалы, называемые событиями соединения (connection events) или фреймами. В течение фрейма все пакеты передаются по одному частотному каналу. Каждый фрейм начинается с передачи пакета ведущим устройством. В том случае, если ведомое устройство получило пакет, оно должно послать пакет-подтверждение. В то же время подтверждения от ведущего устройства ведомому не требуется. Между двумя последовательными пакетами должен быть выдержан интервал времени не менее 150 мкс — т.н. межкадровый интервал (Inter Frame Space — IFS).
До тех пор, пока между ведущим и ведомым продолжается обмен пакетами, событие соединения (или фрейм обмена) считается открытым. В пакетах данных, в случае необходимости дальнейшего обмена, установлен бит More Data (MD). Если ни одно из устройств не имеет данных для передачи, событие соединения будет закрыто, и ведомое устройство уже не должно прослушивать канал до начала следующего фрейма. Другими причинами, приводящими к закрытию события соединения, являются два последовательно принятых пакета с ошибками, неверный адрес устройства в пакете. Для контроля битовых ошибок в пакете после поля данных следует поле 24-битной контрольной суммы.
Для нового события соединения ведущий и ведомый используют новый частотный канал, заданный в карте переключения каналов. Время между началом двух последовательных событий соединения задается параметром connInterval, является кратным 1,25 мс и может лежать в пределах от 7,5 мс до 4 с. Вторым важным параметром для пико-сети BLE является параметр connSlaveLatency, определяющий количество последовательных фреймов, в течении которых ведомое устройство не прослушивает канал и может на это время отключить трансивер. Данный параметр является целым числом в пределах от 0 до 499, которое не должно превышать контрольного интервала супервизора — параметр connSupervisionTimeout. Параметр connSupervisionTimeout может принимать значения в диапазоне от 100 мс до 32 с. Его назначение — обнаружение потери соединения с устройством из-за ухудшения качества канала связи или перемещения его за пределы досягаемости [3].
На канальном уровне для управления потоком данных действует механизм остановки и ожидания (stop-and-wait mechanism) на основе т.н. кумулятивного подтверждения, служащего одновременно и оповещением об ошибке. Заголовок каждого пакета, передаваемого по каналам данных, содержит два однобитных поля, называемых порядковым номером и следующим ожидаемым порядковым номером (Sequence Number (SN) и Next Expected Sequence Number (NESN) соответственно). SN идентифицирует пакет, тогда как NESN показывает, какой пакет ожидается от устройства, с которым установлено соединение. Если пакет устройством принят успешно, поле NESN в его следующем пакете будет увеличено, и такой пакет одновременно будет считаться пакетом подтверждения. В противном случае, если устройство обнаруживает ошибку (не сходится контрольная сумма), полю NESN в принятом пакете нельзя доверять, и устройство, принявшее такой пакет, повторяет отправку своего последнего пакета, что на стороне приемника в такой ситуации будет воспринято как сообщение об ошибке.
L2CAP
Протокол L2CAP в BLE является упрощенной и оптимизированной версией соответствующего протокола в Bluetooth 2.x/3.x. В BLE основной задачей L2CAP является мультиплексирование данных трех протоколов (ATT, SMP, Link Layer) для соединения канального уровня. Отвечает за установление логического соединения. Не производится сегментирования пакетов или сборки пакетов, т.к. максимальная полезная нагрузка L2CAP в BLE составляет 23 байта.
Определяет коммуникационные сообщения между двумя устройствами, выступающими в контексте данного протокола в качестве клиента и сервера.
Сервер поддерживает набор атрибутов, представляющих собой структуру данных, позволяющую получать доступ к информации, управляемой протоколом GATT. Роли клиента и сервера определяются протоколом GATT и не зависят от роли устройства в соединении (ведущий/ведомый).
Клиент посредством запросов может получить доступ к атрибутам сервера. Кроме того, сервер посылает клиенту два типа сообщений, содержащих атрибуты:
Клиент также может послать серверу команды на изменение значений атрибутов.
Протокол GATT определяет среду исполнения, используемую ATT для обнаружения сервисов и обмена характеристиками между устройствами. Характеристика в данном случае представляет собой набор данных, включающих в себя значения и свойства. Данные, относящиеся к сервисам и характеристикам, сохраняются в атрибутах.
К примеру, сервер с работающим сервисом «температурный датчик» может быть связан с характеристикой «температура», которая используется для описания датчика, а другой атрибут может применяться для хранения результатов измерений.
Вопросы безопасности BLE
BLE предлагает несколько сервисов безопасности для защиты данных, передаваемых между парой соединенных устройств. Большинство из поддерживаемых сервисов могут быть описаны в терминах двух режимов: LE Security Mode 1 и LE Security Mode 2. Эти режимы обеспечивают сервисы безопасности на канальном уровне и уровне ATT, соответственно [3].
Канальный уровень BLE поддерживает шифрование и аутентификацию на основе алгоритма Cipher Block Chaining-Message Authentication Code (CCM) и блочного шифра AES-128. При использовании в соединении шифрования и аутентификации, к полезной нагрузке (PDU) добавляется четырехбайтное сообщение проверки целостности Message Integrity Check (MIC), после чего поля PDU и MIC шифруются.
Также возможна передача аутентификационных данных поверх нешифрованного соединения канального уровня. В данном случае на уровне ATT к полезной нагрузке добавляется 12-байтная сигнатура. Сигнатура вычисляется путем использования алгоритма AES-128 как блочного шифра. Одним входом алгоритма является счетчик, позволяющий предотвратить атаки типа повтора сообщений. Если приемнику удается верифицировать сообщение, считается, что оно пришло от достоверного источника.
В дополнение к описанным сервисам, BLE поддерживает механизм, называемый приватным (или частным) адресом, который позволяет устройству использовать множество часто меняемых адресов. Этот механизм снижает угрозу отслеживания BLE-устройства по его адресу. Приватные адреса генерируются на основе публичного адреса устройства путем его шифрования с использованием ключа, полученного от доверенного устройства.
Каждый режим безопасности предусматривает наличие нескольких уровней, применяемых в зависимости от типа соединения пары устройств (таблица 1).
Таблица 1. Сервисы и уровни безопасности, определенные в стеке протоколов BLE [3]
Режим | Уровень безопасности | Тип соединения (Pairing) | Шифрование | Проверка целостности | Уровень стека |
---|---|---|---|---|---|
LE Security Mode 1 | Уровень 1 | Нет | Нет | Нет | Канальный уровень (Link Layer) |
Уровень 2 | Без аутентификации | Есть | Есть | ||
Уровень 3 | Аутентификация | Есть | Есть | ||
LE Security Mode 2 | Уровень 1 | Без аутентификации | Нет | Есть | Уровень ATT (ATT Layer) |
Уровень 2 | Аутентификация | Есть | Есть |
Логическое соединение устройств (pairing) происходит в три этапа. На первом этапе соединенные на канальном уровне устройства объявляют свои доступные возможности ввода-вывода, и на основе их принимается решение о методе взаимодействия на втором этапе.
Целью второго этапа является генерация короткоживущего ключа (Short-Term Key — STK), который будет использован на третьем этапе для обеспечения безопасности передачи распространения ключевой информации. На втором этапе устройства первоначально договариваются о временном ключе (Temporary Key — TK) при помощи одного из методов:
Метод Out Of Band (передача вне полосы) предполагает передачу временного ключа по альтернативным каналам, например, используя NFC. В методе Passkey Entry ключ задает пользователь в виде последовательности из шести цифр. Когда применение обоих методов невозможно, используется метод Just Work, хотя он не поддерживает проверку аутентификаций, и не защищен от атаки типа «посредник» (Man In The Middle — MITM).
На базе ключа ТК и случайных чисел, генерируемых каждым из узлов, создается STK, что является завершением второго этапа.
На третьем этапе каждая из конечных точек соединения может передать другой конечной точке до трех 128-битных ключей, называемых Long-Term Key (LTK), Connection Signature Resolving Key (CSRK) и Identity Resolving Key (IRK).
LTK используется для генерации 128-битного ключа для шифрования и аутентификации на канальном уровне, CSRK — для подписи данных на уровне ATT, а IRK — для генерации частных адресов.
Протокол управления безопасностью Security Manager Protocol (SMP), работающий поверх фиксированного канала уровня L2CAP, отслеживает выполнение всех трех этапов.
Уязвимым местом BLE на текущий момент является незащищенность ни одного из реализованных в нем методов установления соединения от пассивного прослушивания. Однако, в следующих версиях BLE планируется использование эллиптической криптографической кривой и алгоритма обмена открытыми ключами (алгоритм Диффи-Хэлмана).
Уровень GAP и профили приложений
Протокол GAP определяет роли устройств, режимы и процедуры обнаружения устройств и сервисов, управление установлением соединения и безопасностью. В BLE GAP выделяет четыре роли для контроллера — широковещательный, наблюдатель, периферийный и центральный.
Поверх GAP могут быть построены дополнительные профили приложений, обеспечивающие необходимую пользователю функциональность. В BLE поддерживается иерархия профилей — профиль верхнего уровня может использовать функции профиля низкого уровня.
Эксплуатационные характеристики BLE
Одним из важных показателей, определяющих возможность применения технологии беспроводной связи в той или иной задаче, является энергопотребление узлов сети, работающей по данной технологии. Этот показатель будет определять время автономной работы устройств, и, соответственно, схему технического обслуживания сети.
Для устройств BLE потребление будет зависеть от роли устройства в соединении и параметрах соединения, в частности от connInterval, connSlaveLatency, connSupervisionTimeout, а также от качества связи.
Среднее энергопотребление узла в режиме ведомого в зависимости от величины connInterval представлено на рисунке 4 [3].
Рис. 4. Средний ток потребления BLE-устройства в режиме ведомого (узел построен на базе СнК CC2450, connSlaveLatency=0)
В [3] также представлены результаты теоретического анализа времени автономной работы BLE-устройства в качестве ведомого в зависимости от интервала следования событий связи connInterval и уровня битовых ошибок (BER) (рисунки 5 и 6, соотвестственно).
Рис. 5. Теоретические оценки времени автономной работы BLE-устройства на основе CC2540 (от батареи емкостью 230 мАч в режиме ведомого устройства при уровне ошибок равном 0 и максимальном значении connSlaveLatency)
Рис. 6. Теоретические оценки времени автономной работы BLE-устройства на основе CC2540
(от батареи емкостью 230 мАч в режиме ведомого устройства при различном уровне ошибок и различных значениях параметров connInterval и connSlaveLatency)
Данные результаты, хотя и представляют максимальные оценки времени работы BLE-устройств, но показывают, что BLE вполне подходит для сенсорных устройств с автономным питанием, и среднее потребление BLE-устройств вполне сравнимо с потреблением устройств, «традиционных» для сенсорных сетей.
Сравнительные характеристики технологий BLE, Bluetooth, ZigBee, 6LoWPAN, Z-Wave представлены в таблице 2 [1, 3].
Таблица 2. Некоторые сравнительные характеристики технологий BLE, Bluetooth, ZigBee, 6LoWPAN, Z-Wave
3,6 кбайт ОЗУ
Области применения BLE
Безусловно, большая часть областей применения Bluetooth может быть успешно заменена или дополнена устройствами BLE, что продлит срок службы устройств за счет более эффективного управления энергопотреблением. В частности, возможно применение двухрежимных устройств BLE в мобильных телефонах, планшетных компьютерах, ноутбуках. Однорежимные устройства могут применяться в качестве беспроводного интерфейса датчиков с батарейным питанием, применяющихся как отдельно, так и в составе других устройств — в часах, пульсометрах, шагомерах, домашних тонометрах, термометрах и тому подобных устройств.
В составе мобильных устройств BLE может быть использован для управления домашней автоматикой, устройствами освещения или охраны, как минимум, в пределах одного помещения. Для управления устройствами в пределах всего дома возможно использование BLE в качестве шлюза между управляющим устройством и сетью домашней автоматики.
Низкое энергопотребление и более устойчивая работа в условиях большого количества аналогичных устройств в ряде случаев позволяет рассматривать BLE как альтернативу устройствам NFC, в частности RFID-меткам. Но более интересен вариант использования BLE совместно с NFC. В этом случае первые обеспечивают больший радиус устойчивой работы и большое количество совместно работающих устройств, а вторые служат для установления логического соединения между парой устройств, обеспечивая более высокий уровень безопасности за счет меньшего радиуса действия.
Модули Bluetooth Low Energy компании BlueGiga
На данный момент BlueGiga предлагает серии BLE-устройств [5, 6]:
Модуль BT111
BT111 предназначен для приложений, в которых необходима работа и с классическими Bluetooth-устройствами, и с устройствами Bluetooth Low Energy, и представляет собой миниатюрный модуль поверхностного монтажа со встроенной антенной (рис. 7).
Рис. 7. Внешний вид двухрежимного BLE-модуля BT111
В основе BT111 лежит беспроводная система-на-кристалле CS8510 [7], содержащая Bluetooth-трансивер, 16-битный RISC-микроконтроллер с достаточно эффективной схемой управления энергопотреблением и распределением памяти. Ядро микроконтроллера при поддержке контроллера прерываний и таймера исполняет стек протоколов Bluetooth, а также отслеживает беспроводной интерфейс и интерфейс к хост-контроллеру. Встроенный в CS8510 LDO-регулятор позволяет модулю работать в диапазоне напряжений от 1,8 до 3,6 В.
CSR8510 дополнительно имеет SPI-, PCM- и USB (Full-speed 12 Мбит/с)-интерфейсы. Кроме того, доступны до четырех линий ввода-вывода, которые могут быть использованы в качестве линий индикаторов, в качестве входных линий, а также в режиме совместимости с Wi-Fi.
Помимо самой однокристальной системы CS8510 в состав BT111 входят: монопольная керамическая антенна, входной фильтр, EEPROM объемом 32 кбайта и кварцевый резонатор на 26 МГц. Структурная схема BT111 представлена на рисунке 8.
Рис. 8. Структурная схема BLE модуля BT111
Антенна обеспечивает усиление порядка 0,5 дБм, радиочастотный фильтр позволяет уменьшать уровень помех модуля. Встроенная EEPROM может быть использована для хранения настроек модуля, таких как выходная мощность передатчика, конфигурация периферийных интерфейсов, настройки и идентификаторы USB, адрес Bluetooth.
BT111 может работать совместно с Wi-Fi-устройствами. Для этого предусмотрено три режима совместимости:
CS8510 обладает весьма впечатляющими объемами памяти и эффективной схемой управления ею. Так, модуль управления памятью поддерживает несколько кольцевых буферов для передачи данных между хост-контроллером и беспроводным интерфейсом при минимальном участии в этом процессорного ядра.
В CS8510 56 кбайт оперативной памяти разделятся между кольцевыми буферами для голосовых данных или для пакетов данных для каждого из поддерживаемых активных соединений. Встроенная постоянная память объемом 5 Мбайт предназначена для хранения прошивки стека протоколов, настроек модуля и кода прикладных программ.
Модуль BLE112
Модуль BLE112 (рис. 9) является однорежимным BLE-модулем, предназначенным для сенсорных систем и BLE-аксессуаров с батарейным питанием. BLE112 поддерживает практически все возможности устройств BLE — беспроводная передача данных, поддержка стека протоколов BLE и ряда профилей BLE-устройств, дополнительно присутствует возможность хранения пользовательских приложений. Таким образом, возможна работа модуля BLE без внешнего контроллера.
Рис. 9. Внешний вид модуля BLE112
BLE112 отличает достаточно низкое энергопотребление и широкий диапазон напряжений питания. Так он может напрямую работать от 3 В батарейки типа «монета» или от пары батареек типа ААА. В режиме сна модуль потребляет только порядка 400 нА, переход в активный режим осуществляется за доли миллисекунд, а в режиме передачи ток потребления составляет около 27 мА (при выходной мощности 0 дБм).
BLE112 основан на BLE-процессоре от Texas Instruments СС2540 [8], и в дополнение к самому беспроводному процессору имеет встроенные кварцевые резонаторы на 32 МГц и на 32,678 КГц, обеспечивающие тактирование CC2540, согласующий фильтр и миниатюрную керамическую антенну. На печатной плате модуля предусмотрено также посадочное место для UFL-разъема, позволяющего подключать внешнюю антенну.
Структурная схема BLE112 представлена на рисунке 10.
Рис. 10. Структурная схема модуля BLE112
СС2450 содержит высокопроизводительный микроконтроллер архитектуры 8051 с 8 кбайт оперативной памяти и до 256 кбайт флеш-памяти с возможностью перепрограммирования самим устройством. Пятиканальный контроллер прямого доступа в память позволяет весьма эффективно организовать работу с периферийными устройствами и памятью, существенно экономя ресурсы процессорного ядра. Контроллер прерываний обслуживает до 18 каналов прерываний с четырьмя уровнями приоритета, включая прерывания от таймеров, периферийных устройств, линий ввода-вывода.
Набор периферийных устройств включает в себя:
Еще одним устройством, предлагаемым BlueGiga для приложений BLE, является USB-BLE модуль BLED112 (рис. 11). Сохраняя функциональность, аналогичную модулю BLE112 (за исключением возможностей ввода-вывода), он выполнен в формате USB-устройства и позволяет подключать другие BLE к персональному компьютеру. BLED112 может также выполнять роль виртуального COM-порта или USB-HID устройства.
Рис. 11. Внешний вид USB-BLE модуля BLED112
BLED112 может также быть полезен при отладке и демонстрации приложений, использующих стек протоколов Bluetooth Low Energy.
Программное обеспечение
BlueGiga предоставляет ряд инструментов и сред для разработки BLE-приложений, а также для настройки модулей и отладки встроенного программного обеспечения.
Программный интерфейс BGAPI TM совместно с библиотекой BGLib TM C-library позволяет достаточно легко и эффективно использовать ресурсы модулей BlueGiga при помощи внешнего хост-контроллера (рис. 12).
Рис. 12. Структурная схема программного обеспечения, предоставляемого BlueGiga
Программный пакет Profile Toolkit TM позволяет производить разработку и отладку пользовательских приложений для BLE-модулей.
BGScript TM предназначен для быстрой разработки приложений без глубоких знаний особенностей работы стека протоколов, для отладки и тестирования логики работы приложений. Приложения на BGScript TM могут разрабатываться и для хост-контроллера и для самих модулей.
Заключение
Технология Bluetooth Low Energy представляется весьма перспективной технологией для сенсорных приложений, особенно связанных с тесным взаимодействием с пользователем. BLE имеет большой потенциал для широкого распространения, связанный в том числе с успехом классического Bluetooth.
Специализирующаяся на Bluetooth-устройствах компания BlueGige выпускает одно- и двухрежимные устройства BLE, включая модули поверхностного монтажа и USB-устройства, позволяющие благодаря компактным размерам и низкому энергопотреблению реализовывать приложения практически любых областей применения технологии BLE.
Литература
2. Johanna Nieminen. Connecting IPv6 capable Bluetooth Low Energy sensors with the Internet of Things// http://www.futureinternet.fi/seminar2012/Nieminen_IPv6_over_BTLE_300512.pdf
3. Carles Gomez, Joaquim Oller and Josep Paradells. Overview and Evaluation of Bluetooth Low Energy: An Emerging Low-Power Wireless Technology. http://www.mdpi.com/1424-8220/12/9/11734
6. Виктор Алексеев. Новые модули Bluetooth 4.0 серии BLE производства Bluegiga.//Беспроводные технологии. 2011. №2. С. 16 — 22.