Для реализации концепции «Интернет вещей» число возможных вариантов топологии больше. В настоящее время основными конкурирующими технологиями построения БСС можно считать: технологию Z-Wаve, представляющую пример проприетарного (частного запатентованного) решения, технологию Блютус с низким энергопотреблением, а также технологию ZigBee/IEEE 802.15.4.
Рассмотрим особенности этих технологий более
подробно.
.3 Технология Z-Wave
Z-Wave является запатентованным беспроводным протоколом связи, разработанным для домашней автоматизации, в частности для контроля и управления на жилых и коммерческих объектах.
Домашняя автоматизация позволяет объединить все инженерные системы, работающие от электричества, такие как освещение, отопление, приготовление еды, кондиционирование, безопасность и др. между собой и осуществляет автоматизацию этих функций. Это приводит к повышению уровня безопасности и комфорта в домах и офисах, к экономии электроэнергии и других коммунальных ресурсов.
Технология Z-Wave использует маломощные и миниатюрные радиочастотные модули, которые встраиваются в бытовую электронику и различные устройства, такие как освещение, отопление, контроль доступа, развлекательные системы и бытовую технику.Wave использует полосу ISM (Industrial-Scientific-Medical) в Европе, которая открыта для различных индустриальных и научных целей. Частота составляет 868,42 МГц и соответствует длине волны приблизительно 34 см. Для других регионов частотный диапазон: 869,0 МГц (Россия), 908,42 МГц (США), 919,82 МГц (Гонконг), 921,42 МГц (Австралия / Новая Зеландия).
Система работает с пиковой мощностью передачи не более 10 мВт в течении короткого времени. Это соответствует средней мощности излучения всего лишь в 1 мВт. На расстоянии 1 м степень воздействия на человеческий организм радиосигнала Z-Wave приблизительно в 4000 раз меньше излучения мобильного телефона.
Скорость передачи данных 9,6 кбит/с или 40 кбит/с, доработанная версия протокола, с полной совместимостью. Вид модуляции - частотная модуляция с гауссовой фильтрацией (GFSK - Gaussian Frequency Shift Keying). Радиус действия около 30 метров в условиях прямой видимости, в помещении уменьшается в зависимости от формы и материала стен.
Каждый узел беспроводной сети должен иметь уникальный идентификатор, чтобы отличать его от других узлов в сети. Протокол Z-Wave определяет два идентификатора для организации сети:
главный идентификатор (Home ID) - общий идентификатор длиной 32 бита для всех узлов, принадлежащих одной Z-Wave сети;
идентификатор узла (Node ID), являющийся адресом одного узла в сети. Идентификатор узла имеет длину 1 байт = 8 бит.
Узлы с разными главными идентификаторами не могут общаться друг с другом. В рамках одной сети, определяемой одним Home ID, нельзя иметь два узла с одинаковыми ID.
В сети Z-Wave существуют два основных типа устройств
контроллеры - устройства, которые могут управлять другими Z-Wave устройствами;узлы (испольнительные узлы) - устройства, которые находятся под контролем других Z-Wave устройств. узлы подразделяются на стандартные и маршрутизируемые Slave-узлы. Маршрутизируемые Slave-узлы - узлы с расширенными функциями маршрутизации, которые обусловлены частичным знанием таблицы маршрутизации. У стандартных Slave-узлов такой информации нет.
Контроллеры имеют уникальный индивидуальный главный идентификатор (Home ID), созданный на заводе-изготовителе. Исполнительные узлы не имеют определенного Home ID. Поэтому контроллеры могут передавать свой Home ID другим Z-Wave устройствам и добавлять их в свою Z-Wave сеть.
Контроллеры могут отправлять сообщения всем требуемым узлам в сети, когда необходимо и связываться с кем необходимо. Стандартные slave-узлы не могут отправлять незапрашиваемые сообщения, а только отвечают на запросы (slave-узел должен говорить только то, что просят). Маршрутизируемые slave-узлы могут отвечать на запросы, и они имеют право рассылать сообщения заранее предопределенным контроллером узлам.
Каждый узел имеет возможность определить, какие узлы находятся в его прямой беспроводной видимости. Эти узлы называются соседями. При включении, а затем по запросу, узел может сообщить контроллеру о своем списке соседей. Используя эту информацию, контроллер строит таблицы маршрутизации, которые содержат информацию о всех возможных маршрутах связи в сети Z-Wave.
Таблица маршрутизации основного контроллера всегда показывает фактическое состояние сети после включения устройства. Контроллер знает всю топологию сети, и поэтому всегда может найти действительный путь соединения с требуемым узлом (предполагается, что таблица маршрутизации корректна и обновляется). Сначала контроллер будет стараться передать сообщения напрямую к узлу назначения. Если это невозможно, он будет использовать таблицу маршрутизации, чтобы найти другой наиболее оптимальный путь. Контроллер может выбрать до трех альтернативных маршрутов и попытаться отправить сообщение с помощью них. Только если все три маршрута не будут работать, и контроллер не получит подтверждение от узла-получателя, он выдаст ошибку.
Таким образом, в основе топологии Z-Wave лежит ячеистая mesh-сетевая технология, в которой каждый узел может принимать и передавать управляющие сигналы другим устройствам сети, используя цепочку смежных узлов. Например, при возникновении преграды или мертвой радиозоны между двумя соседними узлами сети, сигнал пойдет через смежные узлы, находящиеся в радиусе действия узла, потерявшего связь.
Устройства могут общаться друг с другом с помощью промежуточных узлов и обходить препятствия или мертвые радиозоны. Сообщение от узла A к узлу C может быть успешно доставлено, даже если два узла расположены не в радиусе действия связи, это осуществляется с помощью третьего узла B, который может взаимодействовать с узлами А и С. Если предпочтительный маршрут недоступен, контроллер будет пытаться связаться с требуемым узлом другими маршрутами. Таким образом, радиус действия сети Z-Wave может быть намного больше, чем дальность передачи одного узла. Wave может пересылать сообщения через четыре повторяющих узла. Это является компромиссом между размером сети и стабильностью, а также максимально допустимым временем доставки сообщения в сети.
Пример mesh-маршрутизации с использованием нескольких ретрансляторов показан на рисунке 2.7.
Рисунок 2.7 - Маршрутизация с использованием
нескольких ретрансляторов
Для того, чтобы slave-узлы имели возможность ретранслировать не запрашиваемые ими данные, они должны быть постоянно активны. Поэтому узлы с питанием от батареек, находящиеся преимущественно в спящем режиме, не предназначены для работы в качестве устройств ретрансляции.
Одна сеть Z-Wave может содержать до 232 узлов с возможностью расширения сети с помощью мостов, если требуется включить еще несколько дополнительных узлов.
В последних версиях Z-Wave введен новый механизм исследования топологии сети. Так называемый «Проводник кадров» (explorer frames) может использоваться, чтобы восстанавливать нарушенные маршруты, вызванные перемещением или удалением устройств. Для передачи кадров исследования сети используется принцип дерева принятия решений с отсечением ветвей (pruning). Поэтому информация должна достичь целевого узла даже без истинного знания топологии сети контроллером. «Проводник кадров» используются в качестве последнего варианта маршрутизации, когда все другие попытки связаться с целевым узлом не удались.
Альянс Z-Wave - это открытый консорциум, объединяющий в настоящее время около 200 производителей, работающих на рынке домашней автоматизации и управления. К ним относятся также разработчики программного обеспечения и крупнейшие дистрибьютеры оборудования Z-Wave. Разработчик технологии Z-Wave - калифорнийская компания Zensys (США), которая в настоящее время принадлежит компании Sigma Designs.
Достоинствами Z-Wave являются гибкость, малое потребление энергии, низкая стоимость встраивания Z-Wave в различные бытовые устройства.
К недостаткам этой технологии относится низкая
скорость передачи данных и ограничения на длительность передаваемых сообщений
(порядка 1% рабочего времени), рассчитанные на передачу отдельных команд.
Наряду с ограниченной масштабируемостью и отсутствием автономного
электропитания это не позволяет строить на базе Z-Wave сети сбора данных.
.4 Технология BLE
Главным достоинством технологии Блютус с низким энергопотреблением (BLE) является специальный алгоритм управления энергопотреблением. Устройства, использующие BLE, будут потреблять намного меньше энергии, чем другие Блютус-устройства предыдущих поколений. Во многих случаях одной миниатюрной батарейки типа «таблетка» будет достаточно для работы устройства более года. Таким образом, непрерывно работающие датчики (например, датчик температуры), смогут передавать информацию на другие устройства, такие как сотовый телефон или планшетный компьютер.
Технические параметры спецификации BLE приведены
в таблице 2.2.
Таблица 2.2 - Техническая спецификация BLE
|
Наименовоание параметра |
Классический Блютус |
Блютус с низким энергопотреблением |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Радиочастота |
2,4 ГГц |
2,4 ГГц |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Дальность |
100 м |
50 м |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Скорость передачи данных по воздуху |
1-3 Мбит/с |
1 Мбит/с |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Пропускная способность |
0,7-2,1 Mбит/с |
0,26 Mбит/с |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Ведомые устройства |
7 |
Не предопределено |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Безопасность |
64/128-бит шифрование и определяемый пользователем прикладной уровень |
128-бит шифрование AES <#"891766.files/image010.jpg"> Рисунок 2.8 - Стек протоколов Bluetooth Low Energy (BLE): [12] а) структура стека; б) формат пакета данных BLE
Следует также отметить, что спецификация Блютус 4.0 предусматривает одно- и двухрежимную работу устройств. При этом однорежимные контроллеры Классического Блютус и BLE не совместимы. Для обеспечения совместимости контроллер должен быть двухрежимным. Что касается узлов сети, то они являются, как правило, однорежимными. Устройства BLE работают в диапазоне 2,4 ГГц. В стандарте определено 40 частотных каналов с расстоянием в 2 МГц между каналами. На физическом уровне применена GFSK-модуляция (частотная модуляция с гауссовой фильтрацией) с индексом модуляции в пределах от 0,45 до 0,55, что позволяет уменьшить пиковое потребление энергии. Скорость передачи на физическом уровне 1 Мбит/с. В стандарте BLE чувствительность приемника определена как уровень сигнала на приемнике, при котором частота битовых ошибок (Bit Error Rate - BER) достигает уровня 10-3. Она должна составлять - 70 дБм или лучше. На канальном уровне различают два типа каналов - каналы объявления и каналы данных. Каналы объявления используются для поиска устройств, установления соединения, широковещательных передач, тогда как каналы данных используются для двунаправленного обмена между устройствами. Для каналов объявления выделено три частотных канала в центре полосы, что минимизирует перекрытие с каналами 1, 6 и 11 стандарта IEEE 802.11. Остальные 37 каналов используются для обмена данными. Для снижения влияния помех, многолучевого распространения, а также для снижения влияния соседних устройств при обмене данными предусмотрено скачкообразное переключение частоты. В BLE для передачи широковещательных пакетов применяются каналы объявления. Любое устройство, передающее пакеты по этим каналам, называется объявителем. Передача пакетов по каналам объявлений происходит только в специально выделенных интервалах времени, которые называются событиями объявлений. Во время этих событий устройство-объявитель передает пакеты объявлений последовательно по каждому из трех частотных каналов. Устройства, единственной функцией которых является прием пакетов объявлений, называются сканерами. Двунаправленный обмен между BLE-устройствами возможен только после установления соединения между ними. Создание нового соединения между двумя устройствами является асимметричной процедурой, в течение которой устройство-объявитель по каналам объявления сигнализирует о своей готовности к соединению. В это же время другое устройство (инициатор соединения) прослушивает данные каналы. Когда инициатор обнаруживает нужный объявитель, он может тому послать запрос на установление соединения (Connection Request). Объявитель по этому запросу устанавливает между ними соединение по каналу данных. С этого момента оба устройства могут осуществлять обмен данными. Пакеты, относящиеся к установленному соединению, будут отмечены сгенерированным случайным 32-битным кодом доступа. Также как и в классическом варианте Блютус, в BLE для установленного соединения одно из устройств выступает в качестве ведущего (master), второе - ведомого (slave). В ходе процедуры установления соединения - это инициатор и объявитель, соответственно. Ведущее устройство может поддерживать несколько соединений с ведомыми, в то время как ведомое устройство может иметь только одно подключение к ведущему. Таким образом, BLE-устройство одновременно может принадлежать только одной пико-сети. В классическом Блютус ведомое устройство в свою очередь могло выступать в качестве ведущего устройства своей собственной пико-сети. Для экономии энергии ведомое устройство по умолчанию находится в спящем состоянии, периодически просыпаясь для проверки наличия пакетов данных от ведущего. Ведущий определяет для своих ведомых устройств моменты времени, в которые ведомый просыпается для прослушивания канала, регулируя тем самым доступ устройств к среде передачи по схеме разделения времени (Time Division Multiple Access - TDMA). После установления соединения физический канал передачи данных разделяется на неперекрывающиеся временные интервалы, называемые событиями соединения (connection events) или фреймами. В течение фрейма все пакеты передаются по одному частотному каналу. Каждый фрейм начинается с передачи пакета ведущим устройством. В том случае, если ведомое устройство получило пакет, оно должно послать пакет-подтверждение. В то же время подтверждения от ведущего устройства ведомому не требуется. Между двумя последовательными пакетами должен быть выдержан межкадровый интервал времени (Inter Frame Space - IFS) не менее 150 мкс. До тех пор, пока между ведущим и ведомым продолжается обмен пакетами, событие соединения (или фрейм обмена) считается открытым. В пакетах данных, в случае необходимости дальнейшего обмена, установлен бит More Data (MD). Если ни одно из устройств не имеет данных для передачи, событие соединения будет закрыто, и ведомое устройство уже не должно прослушивать канал до начала следующего фрейма. Для нового события соединения ведущий и ведомый используют новый частотный канал, заданный в карте переключения каналов. Время между началом двух последовательных событий соединения задается параметром connInterval, является кратным 1,25 мс и может лежать в пределах от 7,5 мс до 4 с. Вторым важным параметром для пико-сети BLE является параметр connSlaveLatency, который определяет количество последовательных фреймов, в течении которых ведомое устройство не прослушивает канал и может на это время отключить трансивер. Данный параметр является целым числом в пределах от 0 до 499 и не должен превышать контрольного интервала. Контрольный интервал - параметр connSupervisionTimeout может принимать значения в диапазоне от 100 мс до 32 с. Он нужен для обнаружения потери соединения с ведомым из-за ухудшения качества канала связи или перемещения ведомого за пределы досягаемости. Протокол L2CAP в BLE является упрощенной и оптимизированной версией соответствующего протокола в Bluetooth 2.x/3.x. Он отвечает за установление логического соединения. В BLE основной задачей L2CAP является мультиплексирование данных трех протоколов (ATT, SMP, Link Layer) для соединения канального уровня. Сегментирования пакетов или сборки пакетов не производится, т.к. максимальная полезная нагрузка L2CAP в BLE составляет 23 байта. Протокол ATT определяет коммуникационные сообщения между двумя устройствами, выступающими в контексте данного протокола в качестве клиента и сервера. Сервер поддерживает набор атрибутов, представляющих собой структуру данных, позволяющую получать доступ к информации, управляемой протоколом GATT. Роли клиента и сервера определяются протоколом GATT и не зависят от роли устройства в соединении (ведущий/ведомый). Клиент посредством запросов может получить доступ к атрибутам сервера. Кроме того, сервер посылает клиенту два типа сообщений, содержащих атрибуты: уведомления, не требующие подтверждения; индикаторы, на которые клиент обязан ответить. Клиент также может послать серверу команды на изменение значений атрибутов. Протокол GATT определяет среду исполнения, используемую протоколом ATT для обнаружения сервисов и обмена характеристиками между устройствами. Характеристика в данном случае представляет собой набор данных, включающих в себя значения и свойства. Данные, относящиеся к сервисам и характеристикам, сохраняются в атрибутах. К примеру, сервер с работающим сервисом «температурный датчик» может быть связан с характеристикой «температура», которая используется для описания датчика, а другой атрибут может применяться для хранения результатов измерений.предлагает несколько сервисов безопасности для защиты данных, передаваемых между парой соединенных устройств. Большинство из поддерживаемых сервисов могут быть описаны в терминах двух режимов: LE Security Mode 1 и LE Security Mode 2. Эти режимы обеспечивают сервисы безопасности на канальном уровне и на уровне ATT, соответственно. Канальный уровень BLE поддерживает шифрование и аутентификацию на основе алгоритма Cipher Block Chaining-Message Authentication Code (CCM) и блочного шифра AES-128. При использовании в соединении шифрования и аутентификации, к полезной нагрузке (PDU) добавляется четырехбайтное сообщение проверки целостности Message Integrity Check (MIC), после чего поля PDU и MIC шифруются. Также возможна передача аутентификационных данных поверх нешифрованного соединения канального уровня. В данном случае на уровне ATT к полезной нагрузке добавляется 12-байтная сигнатура. Сигнатура вычисляется путем использования алгоритма AES-128 как блочного шифра. Одним входом алгоритма является счетчик, позволяющий предотвратить атаки типа повтора сообщений. Если приемнику удается верифицировать сообщение, считается, что оно пришло от достоверного источника. В дополнение к этим сервисам безопасности BLE поддерживает механизм, называемый приватным (или частным) адресом, который позволяет устройству использовать множество часто меняемых адресов. Этот механизм снижает угрозу отслеживания BLE-устройства по его адресу. Приватные адреса генерируются на основе публичного адреса устройства путем его шифрования с использованием ключа, полученного от доверенного устройства. Логическое соединение устройств (pairing) происходит в три этапа. На первом этапе соединенные на канальном уровне устройства объявляют свои доступные возможности ввода-вывода, и на основе их принимается решение о методе взаимодействия на втором этапе. Целью второго этапа является генерация короткоживущего ключа (Short-Term Key - STK), который будет использован на третьем этапе для обеспечения безопасности передачи распространения ключевой информации. На втором этапе устройства первоначально договариваются о временном ключе (Temporary Key - TK) при помощи одного из следующих методов: Just Works. Метод 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).используется для генерации 128-битного ключа для шифрования и аутентификации на канальном уровне, CSRK - для подписи данных на уровне ATT, а IRK - для генерации частных адресов. Протокол управления безопасностью Security Manager Protocol (SMP), работающий поверх фиксированного канала уровня L2CAP, отслеживает выполнение всех трех этапов. Уязвимым местом BLE на текущий момент является незащищенность ни одного из реализованных в нем методов установления соединения от пассивного прослушивания. Однако, в следующих версиях BLE планируется использование эллиптической криптографической кривой и алгоритма обмена открытыми ключами (алгоритм Диффи-Хэлмана). Протокол GAP определяет роли устройств, режимы и процедуры обнаружения устройств и сервисов, управление установлением соединения и безопасностью. В BLE GAP выделяет четыре роли для контроллера - широковещательный, наблюдатель, периферийный и центральный. Широковещательный узел может только передавать пакеты по каналам объявления и не поддерживает соединение с другими устройствами. Наблюдатель способен только прослушивать каналы объявлений, в частности, способен принимать пакеты, передаваемые широковещательным узлом. Центральные узлы представляют собой устройства, способные поддерживать несколько соединений, в то время как периферийные узлы - это простые устройства, способные поддерживать одно соединение с центральным узлом. Роли центрального и периферийного узла предполагают, что устройство способно выполнять функции, соответственно, ведущего или ведомого. Устройство может поддерживать несколько ролей, но одновременно активной может быть только одна из них. Поверх GAP могут быть построены дополнительные профили приложений, обеспечивающие необходимую пользователю функциональность. В BLE поддерживается иерархия профилей - профиль верхнего уровня может использовать функции профиля низкого уровня. Одним из наиболее важных эксплуатационных показателей, определяющих возможность применения технологии беспроводной связи в той или иной задаче, является энергопотребление узлов сети, работающей по данной технологии. Этот показатель определяет время автономной работы устройств и схему их технического обслуживания. Для устройств BLE потребление будет зависеть от роли устройства в соединении и параметрах соединения, в частности от connInterval, connSlaveLatency, connSupervisionTimeout, а также от качества связи. Среднее энергопотребление узла в режиме ведомого
в зависимости от величины connInterval представлено на рисунке 2.9.
Рисунок 2.9 - Средний ток потребления BLE-устройства в режиме ведомого (узел построен на базе СнК CC2450, connSlaveLatency=0) [20] Теоретическое время автономной работы
BLE-устройства в качестве ведомого в зависимости от интервала следования
событий связи connInterval и уровня битовых ошибок (BER) показано на рисунке
2.10.
Рис. 2.10 - Теоретические оценки времени
автономной работы BLE-устройства на основе CC2540 (от батареи емкостью 230 мАч
в режиме ведомого устройства при различном уровне ошибок и различных значениях
параметров connInterval и connSlaveLatency) [20]
Приведенные результаты, хотя и представляют теоретически максимальные оценки времени работы BLE-устройств, тем не менее показывают, что BLE вполне подходит для сенсорных устройств с автономным питанием, а среднее потребление BLE-устройств вполне сравнимо с потреблением устройств, «традиционных» для сенсорных сетей. Основным недостатком BLE-сетей являются топологические
ограничения. В отличие от технологий сенсорных сетей, таких как, ZigBee,
6LoWPAN или Z-Wave, ориентированных на разветвленные распределенные сети с
многочисленными передачами данных между узлами сети, Bluetooth Low Energy
рассчитан на топологии типа «точка-точка» и «звезда» [20].
2.5 Технология ZigBee / IEEE 802.15.4
Альянс ZigBee разрабатывает спецификации сетевых протоколов верхнего уровня (уровня приложений API и сетевого уровня NWK), использующих сервисы нижних уровней - уровня управления доступом к среде MAC и физического уровня PHY, регламентированных стандартом IEEE 802.15.4. В сочетании ZigBee и IEEE 802.15.4 описывают беспроводные персональные вычислительные сети (WPAN), ориентированные на приложения, требующие гарантированной безопасной передачи данных при относительно небольших скоростях и возможности длительной работы сетевых устройств от автономных источников питания (батарей). Основной особенностью технологии ZigBee является то, что она при малом энергопотреблении поддерживает не только простые топологии сети («точка-точка», «дерево» и «звезда»), но и ячеистую топологию самоорганизующихся и самовосстанавливающихся mesh-сетей с ретрансляцией и маршрутизацией сообщений. В такой сети, каждое устройство может связываться с любым другим устройством как напрямую, так и через промежуточные узлы сети. Ячеистая топология предлагает альтернативные варианты выбора маршрута между узлами. Сообщения поступают от узла к узлу, пока не достигнут конечного получателя. Возможны различные пути прохождения сообщений, что повышает доступность сети в случае выхода из строя того или иного звена. Первый выпуск стека протоколов, известный как ZigBee 2004, в настоящее время уже практически вышел из употребления. Второй выпуск стека называется ZigBee 2006, и, в основном, заменяет структуру MSG/KVP, использующуюся в ZigBee 2004 вместе с «библиотекой кластеров». Действующая в настоящее время версия стека протоколов ZigBee 2007 содержит два профиля стека: профиль стека № 1 (который называют просто ZigBee) для домашнего и мелкого коммерческого использования и профиль стека № 2 (который называют ZigBee Pro). ZigBee Pro предлагает больше функций, таких как широковещание, маршрутизацию вида «многие-к-одному» и высокую безопасность с использованием симметричного ключа (SKKE). Тогда как ZigBee (профиль стека № 1) занимает меньше места в оперативной и Flash-памяти. Оба профиля позволяют развернуть полномасштабную сеть с ячеистой топологией и работают со всеми профилями приложений ZigBee. ZigBee 2007 полностью совместим с устройствами ZigBee 2006. Структура стека протоколов ZigBee 2007 показана
на рисунке 2.11.
Рисунок 2.11 - Стек протоколов ZigBee 2007
В стеке протоколов ZigBee протоколы верхних уровней используют сервисы, предоставляемые протоколами нижележащих уровней. В качестве двух нижних уровней (физического и уровня доступа к среде MAC) используется стандарт IEEE 802.15.4. MAC-уровень в сети ZigBee реализует механизм CSMA/CA (прослушивания несущей и устранения коллизий), сетевой уровень NWK отвечает за маршрутизацию сообщений, а уровень поддержки приложений APS обеспечивает интерфейс с уровнем приложения. Сектор ZDO (ZigBee Device Object), связывающий три верхних уровня, отвечает за определение роли устройства в сети (будет ли являться оно координатором или конечным устройством), за инициализацию и реакцию на запросы соединения и обнаружения, а также за установление надежного и безопасного соединения между устройствами сети. Сектор SSP (Security Service Provider) осуществляет операции, связанные с обеспечением безопасности на сетевом уровне и на уровне поддержки приложения. Протоколы маршрутизации ZigBee построены на недавно разработанном алгоритме AODV (протокол динамической маршрутизации для мобильных ad-hoc сетей типа MANET и других беспроводных сетей) и NeuRFon, которые предназначены для образования ad-hoc сетей (децентрализованная беспроводная сеть, образованная случайными абонентами) или узлов. В большинстве случаев сеть является скоплением скоплений узлов. Она также может принимать форму сети или одиночного скопления. В сети ZigBee существует 4 типа узлов: координатор, роутер, спящее устройство и мобильное устройство. Главное устройство в ZigBee-сети - это координатор, который выполняет функции по формированию сети, а также одновременно является доверительным центром (trust-центром). Доверительный центр устанавливает политику безопасности и задает настройки во время подключения устройства к сети. Координатор запускает сеть с самого начала и хранит информацию о сети, включая секретные пароли. Спящие и мобильные устройства используют режимы пониженного энергопотребления. Как правило, это узлы с батарейным питанием. Обычно они играют роль датчиков или контроллеров каких-либо исполнительных устройств. Их количество диктуется потребностью конкретного приложения. Роутеры осуществляют маршрутизацию пакетов по сети и должны быть готовы к передаче данных в любой момент времени. Поэтому эти узлы не используют режимов пониженного энергопотребления и имеют стационарное питание. Их количество в сети должно быть достаточным для обслуживания требуемого количества спящих и мобильных узлов. Максимальное количество спящих или мобильных узлов, обслуживаемых одним роутером - 32. Сети ZigBee при относительно невысоких скоростях передачи данных обеспечивают гарантированную доставку пакетов и защиту передаваемой информации. Стандарт ZigBee предусматривает работу с частотными каналами в диапазонах 868 МГц, 915 МГц и 2,4 ГГц. Наибольшие скорости передачи данных и наивысшая помехоустойчивость достигаются в принятом в РФ диапазоне 2,4 ГГц. Поэтому большинство производителей микросхем выпускают приемопередатчики именно для этого диапазона, в котором предусмотрено 16 частотных каналов с шагом 5 МГц. Скорость передачи данных вместе со служебной информацией в радиоэфире составляет 250 кбит/c. При этом средняя пропускная способность узла для полезных данных в зависимости от загруженности сети и количества ретрансляций может лежать в пределах от 5 до 40 кбит/с. Расстояния между узлами сети могут соcтавлять от 10 до 75 метров для ZigBee 2004 при работе внутри помещения и свыше 1500 метров для ZigBee PRO на открытом пространстве. Хотя эти расстояния сильно зависят от конкретных условий распространения радиосигналов. За счет ретрансляций зона покрытия сети может значительно превышать радиус действия отдельных узлов. Одна из основных идей разработки стандарта ZigBee состояла в том, чтобы обеспечить возможность совместной работы в одной беспроводной сети устройств различных производителей. Очевидно, что для обеспечения совместимости на уровне приложения устройствам ZigBee требуется некий стандартный язык общения. Для реализации этой задачи была разработана библиотека ZCL (ZigBee Cluster Library) кластеров. Кластер ZigBee похож на класс в объектно-ориентированном программировании и представляет собой совокупность: описания стандартного устройства ZigBee (осветительное устройство, диммер, выключатель, счетчик); описания стандартных атрибутов для этого устройства (вкл./выкл., яркость, показания счетчика); описания стандартных команд для этого устройства (установить уровень яркости, считать показания, включить/выключить). Кластеры имеют клиент-серверную природу. ZigBee-cервер - это устройство, которое хранит значение атрибута, в то время, как ZigBee-клиент дистанционно считывает или записывает значение этого атрибута. Например, пара стандартных устройств лампочка и выключатель могут вместе реализовать функционирование стандартного кластера «включить/выключить». При этом лампочка будет ответственна за серверную часть кластера. Она хранит значение атрибута «включено/выключено». Выключатель дистанционно устанавливает значение этого атрибута и реализует, таким образом, клиентскую часть кластера. Одно и то же устройство может содержать клиентские части одних кластеров и серверные части других. Например, выключатель в нашем примере может дополнительно содержать серверную часть кластера конфигурация, при помощи которого он будет получать информацию о режимах своей работы от конфигурирующего устройства. Библиотека ZCL группирует кластеры по функциональному признаку: общего назначения, для работы с датчиками, для управления осветительными устройствами, вентиляцией и т.д. Использование стандартных кластеров для пересылки сообщений является обязательным требованием новой спецификации ZigBee PRO Feature Set. Профилем ZigBee называется совокупность настроек программного обеспечения узлов сети, обеспечивающая их совместную работу. Спецификация профиля определяет такие параметры, как способы задания идентификационных параметров сети, режимы образования сети, способы защиты данных, используемый поднабор кластеров, который включает кластеры из разных функциональных групп библиотеки ZCL. В настоящее время альянсом ZigBee опубликованы несколько профилей приложений (см. рисунок 1.2). Кратко охарактеризуем некоторые из них. Профиль Home Automation дает возможность производителям беспроводных систем домашней автоматизации во всем мире разрабатывать совместимые устройства класса «умный дом». Он регламентирует работу таких устройств, как устройства управления осветительным оборудованием, системами кондиционирования, отопления, вентиляции и т.д. Профиль Smart Energy позволяет обеспечить беспроводную связь между устройствами домашней автоматизации и устройствами измерительной инфраструктуры коммунальной службы, занимающейся учетом энергоресурсов. Таким образом, владельцы домов и коммунальные компании могут объединить усилия для достижения наиболее эффективного и экономного потребления электроэнергии. Появляется возможность регулировать режимы энергопотребления, разгружая сеть в пиковые часы нагрузки. Профиль Light Link предназначен для реализации беспроводных систем управления осветительным оборудованием. Устройства на базе нового стандарта также просты в использование как обычные домашние регуляторы освещения. Энергосберегающие лампы, светодиодные светильники, датчики, таймеры и пульты управления, выполненные с использованием ZigBee Light Link, подключаются в единую сеть без применения каких-либо специальных координирующих устройств, что позволяет потребителям легко дополнять свои сети освещения новыми приборами. Протокол Green Power позволяет создавать автономные беспроводные устройства, получающие энергию путем сбора ее из возобновляемых источников энергии (механических, тепловых, электромагнитных и т.п.), и, благодаря этому, не нуждающиеся в батареях питания и регулярном обслуживании. Сетевые устройства Green Power получают энергию от солнца, температуры окружающей среды или механического воздействия (кинетической энергии). Например, энергии от нажатия обычного выключателя вполне достаточно, чтобы сгенерировать и отправить простое сообщение по сети ZigBee. В список устройств, в которых можно использовать такую возможность, попадают световые диммеры, выключатели, датчики температуры и движения для жилого, коммерческого и промышленного применения. Совместимость устройств Green Power с сетями
ZigBee PRO в перспективе может обеспечить все достоинства стандарта ZigBee,
включая работу в разрешенном во всех странах радиодиапазоне 2,4 ГГц,
устойчивость в зашумленной среде, надежное сетевое взаимодействие и защиту
информации.
. Обзор оборудования для построения сенсорных
сетей
В качестве примера использования оборудования
для построения БСС рассмотрим продукцию компании MaxStream, выпускающую
радиочастотные модули серии XBee/XBeePro, использующими технологию ZigBee и
работающими в диапазоне 2,4 ГГц [7 - 11].
.1 Общая информация о модулях XBee Series 2
Серия модулей XBee Series 2 выступает в качестве аппаратно-программной платформы, полностью соответствующей спецификации ZigBee-2006. Модули XBee Series 2 совместимы по габаритам и выводам с модулями первой серии XBee, однако построены на однокристальном ZigBee-чипе EM250 компании Ember. Компания Ember имеет в своем арсенале как аппаратные (микросхемы EM2420, EM250, EM260), так и программные (ПО EmberZStack) решения по реализации технологии ZigBee. Компания является промоутером Альянса ZigBee, входит в пятерку его крупнейших производителей и активно участвовала в разработке спецификации XBee Pro-2007. Технические параметры модулей XBee Series 2 приведены в таблице 3.1. Для сравнения приведены параметры модулей XBee и XBee Pro. Благодаря более высокой выходной мощности и чувствительному приемнику модули XBee Pro обеспечивают большую дальность связи. Энергопотребление модулей в спящем режиме снижено с 10 до 1 мкА, что очень важно для устройств с батарейным питанием. Модули выпускаются в трех вариантах подключения антенны. Внешний вид модулей показан на рисунке 3.1.
Рисунок 3.1 - Модули XBee Series 2 [10]: а) UFL-разъем; б) PCB-антенна; в) SMA-разъем
Таблица 3.1 - Технические параметры модулей XBee Series 2
Модули XBee Series 2 предназначены для построения сетей ZigBee с Mesh-топологией. Все необходимое ПО для формирования и поддержания работоспособности ZigBee-сети (ZigBee-стек) загружается при производстве модуля. В зависимости от сетевой функции узла (Координатор/Роутер/Конечное устройство) модуль XBee Series 2 должен содержать одну из двух прошивок: координатор; роутер / Конечное устройство. В связи тем, что для роутера / конечного устройства используется одна прошивка, выбор сетевой роли модуля определяется AT-командой «SM». Прошивки модулей также различаются по типу управления модулем: прозрачный режим. Управление с помощью AT-команд; пакетный режим. Управление с помощью API-фреймов. В качестве программного обеспечения для модулей XBee Series 2 используется EmberZstack 2.5 компании Ember. Этот стек включает в себя отдельные элементы спецификации ZigBee Pro, например: метод распределения адресов на основе случайных чисел. В отличие от предшествующего метода CSKIP (распределение адресов по дереву), новый алгоритм позволяет исключить вероятность нехватки адресов в одной ветви сети, при избытке в другом сегменте. В качестве единственного метода маршрутизации используется алгоритм оптимальной прокладки маршрута по запросу алгоритма AODV. Жестких ограничений на число узлов (max_children, max_routers) нет. Максимальная глубина ретрансляций (max_hops) ограничена только разумным временем ожиданием ответа. При разработке конечного устройства инженер самостоятельно выбирает один из двух типов управления модулем. Режим управления с помощью AT-команд наиболее прост и применяется для создания «прозрачных» соединений между узлами сети. Прозрачность в данном случае означает следующее: все данные, подаваемые на вход UART одного узла сети, будут передаваться на выход UART другого узла в том же виде. При этом узлы могут быть как в пределах прямой радиовидимости, так и вне нее. В последнем случае ретрансляцию сообщений будут осуществлять другие роутеры, входящие в данную сеть ZigBee. Режим управления с помощью API-фреймов позволяет более гибко управлять модулем и получать дополнительную информацию о принимаемых пакетах данных, например, адрес отправителя. Для отправляемых пакетов можно в самом теле пакета указать адрес получателя. Также при пакетном режиме после каждой отправки данных можно получать специальный пакет, уведомляющий об успешном или неуспешном прохождении пакета до точки назначения через узлы ZigBee-сети. Более подробное описание AT-команд и API-фреймов выходит за рамки настоящей пояснительной записки. Для развертывания ZigBee-сети предназначен отладочный комплект XB24-BPDK (см. рисунок 3.2). В него входят 5 модулей и пять переходных плат для подключения к ПК с помощью интерфейсов USB или RS-232. Для автономной работы модулей предусмотрены переходные кабели питания для батарей типа 9F22 («Крона»).
Рисунок 3.2 - отладочный комплект XB24-BPDK [7]
Состав отладочного комплекта XB24-BPDK приведен
в таблице 3.2.
Таблица 3.2 - Состав отладочного комплекта XB24-BPDK
.2 Запуск простейшей ZigBee-сети
Запуск ZigBee-сети должен включать в себя следующий набор событий. Осуществляется запуск Координатора сети: . Определяется список рабочих каналов и PAN ID с помощью команды SC (Scan Channels) и команды ID (PAN ID). По умолчанию, значение параметра SD (Scan Duration) должно быть достаточно. Если эти значения изменены, то их необходимо сохранить в энергонезависимой памяти с помощью команды WR (Write). . Если с помощью параметра D5 (DIO5 Configuration) активирован светодиод индикации, он будет мигать раз в секунду после запуска Координатора. Если активирован режим управления с помощью API-фреймов (параметр AP > 0): статус режима API «Координатор стартовал» отсылается из UART. . Параметр AI (Association Indication) будет установлен 0, что означает успешный запуск. . Параметр MY (16-битный адрес источника) равен 0 (16-битный сетевой адрес ZigBee Координатора). . После запуска Координатор позволит присоединение к сети в течении времени NJ (Node Join Time). . Рекомендуется настроить в Координаторе строковый идентификатор NI (NI-строку). Эта NI-строка должна быть сохранена в постоянной памяти с помощью команды WR (Write). Затем в сеть добавляется дочернее устройство (Роутер): . Определяется список рабочих каналов (SC) и желаемый PAN ID для присоединения к сети (ID) (0xFFFF - для любой сети). По умолчанию, значение параметра SD (Scan Duration) должно быть достаточно. Если эти значения изменяются со значений по умолчанию, их необходимо сохранить в постоянной памяти с помощью команды WR (Write). . После включения Роутер попробует найти родительское устройство для присоединения на основе его параметров SC и ID. . Как только Роутер присоединился к родительскому устройству, Ассоциированный LED (если активирован (D5)), начнет мигать 2 раза в секунду. Параметры ID и CH будут содержать рабочий PAN ID и текущий канал. Параметр MY будет содержать 16-битный сетевой адрес Роутера. Команда MP возвратит 16-битный сетевой адрес родительского устройства Роутера (узла, к которому он присоединился). Если активирован API (параметр AP > 0): статус режима API «Присоединен» отсылается из UART. . Если Роутер не присоединился надлежащим образом, параметр AI (Association Indication) может быть считан для определения причины ошибки. Для устранения ошибки необходимо проверить, что PAN содержит Координатор или Роутер с соответствующим каналом (SC, CH) и PAN ID (ID) и разрешает узлам присоединяться к сети (параметр NJ). . Как только Роутер присоединился к PAN, Роутер позволит присоединение другим устройствам на основе параметра NJ. . Рекомендуется настроить в Роутере NI-строку. Эта NI-строка должна быть сохранена в постоянной памяти с помощью команды WR (Write). Для развертывания простейшей сети ZigBee на базе отладочного комплекта XB24-BPDK достаточно проделать следующие действия: . Установить на ПК USB драйвер и программу X-CTU с приложенного к отладочному комплекту CD-диска. . Установить модули XBee на переходные платы, подключить антенны. . Подключить одну USB-переходную плату к ПК. Запустить программу X-CTU и, при необходимости, обновить FW модулей, что бы в сети был один координатор и четыре роутера с управлением AT-командами. . С помощью закладки Modem Configuration необходимо присвоить простой строковый идентификатор (NI) каждому модулю, например 1, 2, 3, 4, 5. Сохранить измененные параметры кнопкой «Write» в энергонезависимую память каждого модуля. . Далее следует перейти в режим Terminal, для чего нажать на клавиатуре ПК три раза «+» (без паузы). После того, как модуль ответит «OK», ввести с клавиатуры ATNR0 и нажать «Enter». Эта команда сбрасывает сетевые настройки модуля. Это необязательный пункт, но он может понадобиться, если в роутерах сохранены старые сетевые настройки. . Подключить координатор к ПК. Запустить программу X-CTU. На плате координатора начнет мигать светодиод с периодом один раз в секунду. Такая индикация означает успешный старт Координатора. . Поставить красную заглушку на одну из переходных плат RS-232, например на которой установлен роутер с NI = «2». . Последовательно подать питание на все роутеры (4 шт.). При возможности, подключить вторую USB-переходную плату с одним из установленных роутеров ко второму ПК (лучше, если это будет ноутбук). При успешном присоединении к сети на каждой плате роутеров будет 2 раза в секунду мигать светодиод. . Подать команду (закладка Terminal) ATND на любую из плат, подключенных к ПК. Координатор будет опрашивать вашу сеть и через 6 секунд вы увидите список узлов с их 64-битными адресами и строковыми идентификаторами. . По образцу п. 5 подать команду ATDN2. Тем самым будет проложен маршрут к роутеру «2». Перейти на закладку Range Test, нажать кнопку Advanced и увеличить параметр Data Receive Timeout до 5000. Это может оказаться полезным, если сеть сама будет перепрокладывать маршрут. 11. Запустить
Range Test кнопкой Start. Если
все сделано правильно, вы увидите возвращенные от роутера «2» пакеты.
Естественно, для проведения теста не обязательно, чтобы между координатором и
нашим роутером «2», была прямая радиовидимость, информация может
ретранслироваться другими узлами.
.3 Спящие узлы в ZigBee-сети
Конечные устройства в сети ZigBee имеют свои особенности и ограничения. Для подключения к сети каждое конечное устройство должно иметь в зоне своей радиовидимости хотя бы один роутер или координатор - будущее родительское устройство. Процесс подключения предполагает стандартную для любого ZigBee-устройства последовательность действий: сканирование сетки частотных каналов (ограниченных маской SC), сопоставление параметров доступных сетей с заданными значениями ID, ZS; получение сетевого адреса от родительского устройства. После успешного подключения конечное устройство может обмениваться данными с другими устройствами в сети, однако оно не может ретранслировать чужие пакеты или разрешать присоединение другим устройствам. Конечное устройство в своей работе в значительной мере полагается на родительское устройство, через которое передаются и принимаются все сообщения. Только конечные устройства могут переходить в спящий режим и, следовательно, работать от батарей продолжительное время. Спящий режим является основным режимом их работы. Во время сна конечное устройство отключает все свои внутренние узлы (кроме таймера), что позволяет снизить ток потребления до уровня 1 мкА. В это время конечное устройство сохраняет установленные уровни на своих цифровых выходах, однако не может принимать радиопакеты и вести обмен данными через последовательный порт. Тем не менее, сообщение, отправляемое ему по эфиру, не потеряется - оно будет храниться на родительском устройстве до окончания периода сна. Из-за ограниченного объема оперативной памяти для хранения пересылаемых сообщений каждый роутер может выступать «родителем» для ограниченного числа конечных устройств. В модулях XBee серии S2 один роутер может подключить до 20 конечных устройств и хранить не более 1 сообщения для каждого устройства. Роутер XBee серии ZB может подключить 12 конечных устройств. При создании сети с большим количеством конечных устройств необходимо позаботиться о достаточном числе роутеров. Команда NC позволяет получить информацию о количестве конечных устройств, которое еще способен подключить роутер. Конечное устройство обменивается данными только со своим родительским устройством, при этом родительское устройство берет на себя все функции по маршрутизации данных удаленному узлу в ZigBee-сети (обнаружение адреса и прокладку маршрута). Инициатором радиообмена между конечным и родительским устройством всегда является конечное устройство. Находясь в активном режиме (не в режиме сна) конечное устройство постоянно запрашивает родительское устройство на наличие данных, отсылая запросы Poll Request. Период повтора запросов задается параметром PO (100 мс по умолчанию). В ответ на каждый запрос от «родителя» приходит ответ-подтверждение Ack, который, во-первых, информирует о наличии двусторонней связи, во-вторых, содержит информацию - есть ли у «родителя» какое-либо ожидающее сообщение. Если сообщение есть, то конечное устройство не переходит в режим сна, а посылает следующий Poll Request, в ответ на который получает хранящееся у «родителя» сообщение. Далее конечное устройство продолжает отсылать запросы Poll Request до тех пор, пока не пройдет время ST после последней порции отправленных или полученных данных. Если при пробуждении конечного устройства в ответ на первый Poll Request «родитель» отвечает, что у него нет данных для передачи, то конечное устройство немедленно переходит в режим сна, не дожидаясь истечения времени ST. Этот минимальный цикл активности имеет продолжительность примерно 10 мс, потребление тока при этом максимально, т.к. в течение этого времени включается передатчик или приемник. Таким образом, даже без обмена полезными данными, неспящее конечное устройство занимает эфир запросами Poll Request и ответами «родителя» (см. рисунок 3.3), затрудняя обмен информацией между другими устройствами в ZigBee-сети. Данное обстоятельство следует принимать в расчет лишь при большом количестве конечных устройств, сконцентрированных в одном месте (более нескольких десятков). Для снижения нагрузки на сеть (и потребляемого конечным устройством тока) следует минимизировать время нахождения конечных устройств в активном режиме.
Рисунок 3.3 - Обмен данными с родительским
устройством [11]
Основной способ сохранения энергии батарей - максимально долгое нахождение конечного устройства в режиме сна (определяется параметрами SP и SN), это время может достигать трех недель. Однако роутер может хранить сообщения максимум 28 с, поэтому спящее дольше этого времени конечное устройство не может гарантированно получать данные, отправленные ему в произвольный момент времени. С помощью параметра SO можно менять поведение модуля XBee в режиме сна - включать так называемый «продолжительный» или «короткий» сон. Продолжительность работы спящего устройства от батареи зависит от ряда параметров: емкости батареи, периода сна, времени нахождения в активном режиме. При использовании батареи типоразмера D (EEMB ER34615M, емкость 19 А/ч) можно обеспечить 10 лет бесперебойной работы XBee-модуля, отправляющего сообщения каждую минуту. Находясь в активном режиме, конечное устройство
включает радиочасть (передатчик/приемник) только на относительно небольшое
время. На рисунке 3.4 приведена кривая потребления тока при выходе спящего
модуля из режима сна. Измерение проводилось на резисторе 10 Ом, включенном в разрыв
земляного провода. В данном минимальном цикле модуль XBee не
получает/отправляет полезные данные, а лишь отсылает один запрос Poll Request
и, получив ответ «родителя»: «данных для передачи нет», уходит на следующий
период сна. Время нахождения в активном режиме не превышает ~ 10 мс при этом
потребление тока максимально (40 мА) только при включении трансивера на время ~
5мс. Таким образом, средний реальный ток потребления конечного устройства
всегда будет меньше, чем указанный в документации для маломощного модуля XBee
ZB ток 40 мА
Рисунок 3.4 - Ток потребления конечного
устройства XBee [11]
.4 Спящий датчик температуры
В качестве примера конечного спящего устройства рассмотрим беспроводной датчик температуры, состоящий из модуля XBee, простого 8-разрядного микроконтроллера (МК) PIC16F630 и популярного цифрового датчика температуры DS18B20, схема которого изображена на рисунке 3.5. Датчик работает в ZigBee-сети, являясь дочерним
устройством координатора. Датчик отправляет измеренное значение температуры
один раз в минуту. Разрешающая способность устройства - 0,1 ºС.
Ключ на полевом транзисторе IRLML6402 подает питание на DS18B20 на период
измерения. Светодиод HL1 мигает один раз в минуту, индицируя отправку пакета.
Светодиод HL2 зажигается каждые пять секунд на время выхода модуля XBee из
режима сна.
Рисунок 3.5 - Схема «спящего» датчика
температуры [11]
Схема реализует следующий алгоритм работы: . Модуль XBee работает как конечное спящее устройство. . При каждом просыпании (каждые 5 с), модуль XBee устанавливает в 0 линию CTS, что является источником прерывания для МК, находящегося в режиме Sleep. . При каждом прерывании МК увеличивает на 1 свой внутренний счетчик. . На каждом 11 прерывании подается питание на DS18B20, и запускается цикл измерения температуры длительностью ~ 750 мс. Измеренное значение сохраняется, и МК снова уходит в режим сна. . На каждом 12 прерывании измеренная температура отправляется на координатор в виде API-пакета. Внутри пакета температура представлена в текстовом виде (ASCII). После отправки температуры с помощью команды SI
модуль XBee принудительно переводится в режим сна. Это сделано для того, чтобы
сэкономить энергию батареи и не дожидаться окончания времени ST. Листинг
основного цикла программы приведен на рисунке 3.6. При указанных настройках
расчетное время автономной работы узла составляет более года при использовании
батареи 1200 мА/ч (EEMB ER1420).
Рисунок 3.6 - Основной цикл программы
отправления измеренной температуры в виде API-пакета [11]
4. Проблемы и перспективы развития сенсорных
сетей
Можно констатировать, что в настоящее время становятся доступными средства разработки и реализации БСС второго и третьего поколения. Это означает, что систематические и тактические ошибки первого поколения БСС, теряют свою актуальность. Поэтому начинается этап интенсивного расширения областей применения сенсорных сетей и внедрения их в практику. Опубликованные в течение 2009 - 2011 г.г. вторые и третьи версии основных стандартов и протоколов БСС, расширяющие функциональность возможных технических решений, свидетельствует о глубоком понимании теретических и прикладных проблем, связанных с созданием сенсорных сетей, и о достижении зрелости принципиальных практиченских решений. Вместе с тем продолжается процесс дифференциации, сегментации и специализации БСС. Этот тезис подтверждается продолжающейся разработкой прикладных профилей Альянсом ZigBee. Одновременно усиливается множественная конкуренция между проприетарными и стандартными реализациями БСС, а также между самими принципиальными решениями и стандартами. Резкий рост количества компаний-участников различных консорциумов, стремящихся воплотить в жизнь концепции «Интернет вещей» и «Умная пыль», свидетельствует о высокой перспективности этих рынков. Появление таких продуктов как отладочные комплекты БСС типа рассмотренного в главе 3 отладочного комплекта XB24-BPDK компании MaxStream свидетельствует о том, что проблемы моделирования развертывания сенсорных сетей произвольной конфигурации, характерные для первого поколения БСС, также начинают утрачивать свою актуальность. Налаживается серийный выпуск модулей беспроводных сетей, созданных на системах-на-кристалле, что является предпосылкой их массового распространения и снижения стоимости сетей. Энергопотребление конечных устройств приближается к приемлемым значениям, позволяя эксплуатировать такие устройства без технического обслуживания и замены батарей в течение длительного времени, превышающего календарный год. Основным сдерживающим фактором распространения
БСС можно считать их высокую стоимость. Вместо характерной для первого
поколения цены 150-300 $/узел, стоимость второго поколения снизилась до 38-50
$/узел. Однако до декларированного ранее порога 5 $/узел, необходимого для
действительного массового воплощения БСС в практику человеческого бытия,
остается весьма большая дистанция.
Заключение
В настоящей пояснительной записке на тему «Анализ технологий сенсорных сетей» сделан исторический обзор развития сенсорных сетей с момента появления этой концепции в 1970-1980 г.г. ХХ века. Сформулированы основные критерии создания БСС и рассмотрены основные и наиболее перспктивные технологии их создания. Показано, что возможны как проприетарные, так и стандартизованные технологии. Также следует ожидать обострения конкурентной борьбы между ними, которая будет продожаться до тех пор, пока не появятся действительно открытые и общедоступные стандарты, учитывая гигантский потенциал будущих рынков реализации концепций «Интернет вещей» и «Умная пыль». Рассмотрены существующие практические решения и возможности их применения для создания простейших беспроводных mech-сетей из покупных элементов на основе системы стандартов ZigBee / IEEE 1802.15.4. Проведен анализ существующего положения дел и
показано, что появление стандартов, прикладных решений и систем-на-кристалле
второго и третьего поколений свидетельствует о возможности массового
распространения БСС и их широко внедрения в повседневную практику. Основным
сдерживающим фактором такого распространения является пока существующая
эксклюзивность подобных реализаций, обусловленная сохранением высокой стоимости
практических решений.
Список литературы
1. Баранова Е. IEEE 802.15.4 и его программная надстройка ZigBee. -Телемультимедиа, 8 мая 2008 г. - <http://www.telemultimedia.ru/art.php?id=292>. . Гепко И.А., Олейник В.Ф., Чайка Ю.Д., Бондаренко А.В. Современные беспроводные сети: состояние и перспективы развития. - К.: «ЕКМО», 2009. - 672 с. . Калачев А. Для мобильных стражей: беспроводной стандарт Bluetooth Low Energy в системах безопасности. - Новости электроники, 2013, № 1. . Клименко Н.Е., Сергиевский М.В., Сыроежкин С.Н. Применение беспроводных сенсорных сетей для оценки состояния критически важных объектов. - «НАУЧНАЯ СЕССИЯ МИФИ-2009». Том V, с. 63-66. . Мальцев П.П., Пономарев К.М., Степанов Ю.И. «Умная пыль» на основе микросистемной техники. - Микросиситемная техника, 2000, № 4, с. 40-45. . Панфилов Д., Соколов М. Введение в беспроводную технологию ZigBee стандарта 802.15.4. - Электронные компоненты, 2004, № 12, с. 73-79. . Пушкарев О. ZigBee-модули XBee Series 2 с поддержкой Mesh-топологии. - Новости электроники, 2007, № 16. . Пушкарев О. Передача данных в ZigBee-сети с помощью модулей XBee ZNet 2.5. - Новости электроники, 2008, № 3. . Пушкарев О. ZigBee-модули XBee: вопросы практического применения. - Беспроводные технологии, 2009, № 3, с. 18-21. . Пушкарев О. Программируемые модули XBee серии S2B. - Беспроводные технологии, 2010, № 3, с. 20-23. . Пушкарев О. Использование конечных спящих узлов в сети ZigBee. - Электронные компоненты, 2011, № 5, с. 91-95. . Смурыгин И.М. Концепция организации беспроводных сенсорных сетей и их применение. - Молодежный научно-технический вестник / ФГБОУ ВПО «МГТУ им. Н.Э. Баумана», 2012, № 9. . Трифонов С.В., Холодов Я.А. Исследование и оптимизация работы беспроводной сенсорной сети на основе протокола ZigBee. - Компьютерные исследования и моделирование, 2012, т. 4, № 4, с. 855−869. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||