Алтайский государственный университет
Опубликован: 05.06.2014 | Доступ: свободный | Студентов: 1689 / 803 | Длительность: 08:16:00
Лекция 3:

Популярные и перспективные стандарты и протоколы беспроводных сенсорных сетей

< Лекция 2 || Лекция 3: 123456 || Лекция 4 >

Беспроводной стандарт Bluetooth Low Energy (BLE)

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

Технология Bluetooth Low Energy (BLE) [15-17] - 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 [16, 17].

Стек протоколов 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). Дополнительная функциональность прикладного уровня может быть реализована поверх уровня узла сети. На Рис. 3.11 представлена структура стека протоколов BLE [15, 17].

Несмотря на то, что некоторые функции контроллера BLE заимствованы от классического Bluetooth, они не совместимы между собой, т.е. устройство, поддерживающее только BLE (однорежимное устройство - single-mode device) не сможет взаимодействовать с устройством, поддерживающим только Bluetooth 2.x/3.0. Для осуществления взаимодействия между ними хотя бы одно из устройств должно поддерживать оба стека протоколов (двухрежимное устройство - dual-mode device).

Структура стека протоколов Bluetooth Low Energy (BLE) - а) и пакета данных BLE - б)

увеличить изображение
Рис. 3.11. Структура стека протоколов Bluetooth Low Energy (BLE) - а) и пакета данных BLE - б)

Однорежимные устройства обладают наименьшим потреблением и, в основном, представляют собой конечные исполнительные устройства. Двухрежимные устройства предполагают возможность периодического получения энергии, располагаются на различных мобильных устройствах, а также могут функционировать и как обычные Bluetooth устройства. Схема взаимодействия между однорежимными, двухрежимными устройствами и классическим Bluetooth-устройствами представлена на Рис. 1.2 [15, 18].

Физический уровень

Устройства BLE работают в диапазоне 2.4 ГГц. В стандарте определено 40 частотных каналов с расстоянием в 2 МГц между каналами. На физическом уровне применена GFSK модуляция (Gaussian Frequency Shift Keying) с индексом модуляции в пределах от 0.45 до 0.55, что позволяет уменьшить пиковое потребление энергии. Скорость передачи на физическом уровне 1 Мбит/с. В стандарте BLE чувствительность приемника определена как уровень сигнала на приемнике, при котором частота битовых ошибок (Bit Error Rate - BER) достигает уровня 10-3, и должна быть -70 дБм или лучше. Выделяют два типа каналов - каналы объявления и каналы данных. Каналы объявления используются для поиска устройств, установления соединения, широковещательных передач, тогда как каналы данных используются для двунаправленного обмена данными между устройствами, между которыми установлено соединение.

Для каналов объявления выделено три частотных канала в центре полосы, что минимизирует перекрытие с каналами 1, 6 и 11 стандарта IEEE 802.11. Остальные 37 каналов используются для обмена данными. Для снижения влияния помех, многолучевого распространения, а также снижения влияния соседних устройств, при обмене данными происходит скачкообразное переключение частоты (Рис. 3.12) [15].

Схема взаимодействия между однорежимными, двухрежимными устройствами и классическими Bluetooth-устройствами

увеличить изображение
Рис. 3.12. Схема взаимодействия между однорежимными, двухрежимными устройствами и классическими Bluetooth-устройствами
Канальный уровень

В BLE для передачи широковещательных пакетов применяются каналы объявления. Любой устройство, передающее пакеты по данным каналам называется объявителем. Передача пакетов по каналам объявлений происходит только в течение специальных выделенных интервалов времени, называемых событиями объявлений. Во время этих событий устройство-объявитель передает пакеты объявлений последовательно по каждому из трех каналов. Устройства, только принимающие пакеты объявлений называются сканерами [17].

Двунаправленный обмен между BLE-устройствами возможен только после установления соединения между ними. Создание нового соединения между двумя устройствами является асимметричной процедурой, в течение которой устройство-объявитель по каналам объявления сигнализирует о своей готовности к соединению, в то время как другое устройство (инициатор соединения) прослушивает данные каналы. Когда инициатор обнаруживает нужное устройство, он может послать запрос на установление соединения (Connection Request) объявителю, который устанавливает между ними соединение. С этого момента устройства могут осуществлять обмен по каналам данных. Пакеты, относящиеся к установленному соединению, будут отмечены сгенерированным случайным образом 32-битным кодом доступа.

Также как и в классическом варианте Bluetooth, в BLE для установленного соединения одно из устройств выступает в качестве ведущего (master), второе - ведомого (slave). В ходе процедуры установления соединения - инициатор и объявитель, соответственно. Ведущее устройство может поддерживать несколько соединений с ведомыми, в то время как ведомое устройство может иметь только одно подключение - к ведущему. Таким образом, BLE-устройство одновременно может принадлежать только одной пико-сети. В этом кроется еще одно отличие BLE от Bluetooth - в последнем случае ведомое устройство в свою очередь могло выступать в качестве ведущего устройства своей собственной пико-сети.

Соотношение частотных каналов BLE и каналов IEEE 802.11

увеличить изображение
Рис. 3.13. Соотношение частотных каналов BLE и каналов IEEE 802.11

Для экономии энергии ведомое устройство по умолчанию находится в спящем состоянии, периодически просыпаясь для проверки наличия пакетов данных от ведущего. Ведущий определяет для своих ведомых устройств моменты времени, в которые ведомый просыпается для прослушивания канала, регулируя, тем самым, доступ устройств к среде передачи осуществляется по схеме разделения времени (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 с. Его назначение - обнаружение потери соединения с устройством из-за ухудшения качества канала связи или перемещения его за пределы досягаемости [17].

На канальном уровне для управления потоком данных действует механизм остановки и ожидания (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 байта.

ATT

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

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

  • уведомления, не требующие подтверждения;
  • индикаторы, на которые клиент обязан ответить.

Клиент также может послать серверу команды на изменение значений атрибутов.

GATT

Протокол GATT определяет среду исполнения, используемую ATT для обнаружения сервисов и обмена характеристиками между устройствами. Характеристика в данном случае представляет собой набор данных, включающих в себя значения и свойства. Данные, относящиеся к сервисам и характеристикам, сохраняются в атрибутах.

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

< Лекция 2 || Лекция 3: 123456 || Лекция 4 >