Выбор платформы разработки беспроводных датчиковых сетей


PDF версия

В статье дается обзор различных систем разработки беспроводных датчиковых сетей и описывается критерий выбора платформы 802.15.4 на примере сети Питтсбургского университета.

Количество решений, предлагаемых в настоящее время для сетей беспроводных датчиков, настолько велико, что невозможно сделать исчерпывающий обзор этого рынка.
В зависимости от критерия выбора он может быть как достаточно простым, так и сложным. Мне потребовалось более месяца на то, чтобы познакомиться с решениями различных поставщиков, прежде чем приступить к тщательному изучению нового оборудования, прикладных программных интерфейсов (Application Platform Interface — API) и кипы документации. Поскольку все эти стандарты постоянно совершенствуются и обновляются, их и без того непростое изучение существенно усложняется.
Кроме того, трудно количественно определить, насколько лучше одна технология по сравнению с другой. Наилучший выход в данной ситуации — положиться на здравый смысл и на некоторые основополагающие принципы сравнения, например открытого исходного текста с оригинальным кодом, открытого стандарта связи с решением определенной компании и т.д. В этой статье рассматриваются некоторые проблемы, с которыми сталкивается разработчик сети с беспроводными датчиками, а также факторы, определяющие выбор платформы разработки.

 

Проблемы разработки беспроводных датчиковых сетей

Беспроводные датчиковые сети обладают некоторой спецификой. Раз­вертывание и техническое об­слу­жива­ние таких сетей существенно отличается от применения других широкораспространенных сетевых технологий. Необходимо учитывать эти специфические характеристики, чтобы упростить процесс разработки инженерного решения. Ниже дается краткое описание основных проблем разворачивания беспроводных датчиковых сетей.
Стоимость. В зависимости от приложения, у разработчика имеется возможность размещения сотен и даже тысяч датчиков в одном сетевом узле. В результате проект становится чувствительным к стоимости. В некоторых простейших случаях, например при проектировании сетей для переключения освещения или для контроля давления воздуха в шинах, использование большого количества датчиков не оправдывается предполагаемой ценой системы.
Масштабирование. Количество датчиковых узлов в разворачиваемой системе может исчисляться тысячами и даже миллионами штук, что вызовет потребность в организации совершенно иного управления сетью. Это обстоятельство существенно отразится на техническом обслуживании сети и неизбежно повлечет за собой использование новых средств диагностики.
Отказоустойчивость. Поскольку датчики располагаются в разных местах — на мостах, промышленных установках, дома, на ферме и т.д., — они работают в жестких условиях эксплуатации. Наконец, их могут украсть или разрушить. Требуется такая конфигурация, при которой сеть продолжит свою работу, даже если один или более узлов выйдет из строя.
Локализация. В некоторых приложениях датчики устанавливаются на местности случайным образом, и потому требуется предусмотреть возможность определить их расположение относительно друг друга.
Выбор маршрута. В традиционных схемах выбора маршрута не учитывается вопрос экономии электроэнергии и эффективной обработки данных, и потому такие решения не используются в датчиковых сетях. Необходимо добиться того, чтобы длина маршрута была минимальной, и он активировался только в случае необходимости.
Энергосбережение. Вопрос эффективности использования энергии является очень важным, поскольку датчиковые узлы снабжены маломощным источником питания с ограниченным ресурсом. В редких сетях имеется возможность подключить устройство к розетке электропитания. Существуют программные решения, позволяющие оптимизировать потребление устройств за счет режима экономии электроэнергии. Преимущество этих решений состоит в использовании аппаратных возможностей существующих интеллектуальных сенсорных чипов.

 

Факторы выбора платформы разработки

Следующие факторы следует учитывать в процессе выбора: физический уровень, мощность передатчика, тип антенны, канальный, сетевой и транспортный уровни.
Физический уровень. В этой статье речь пойдет в основном об устройствах, совместимых со стандартом IEEE 802.15.4. Обычно производители предлагают ВЧ-чипы или укомплектованные ВЧ-модули с этими кристаллами, антенной и соответствующей обвязкой. Эти модули достаточно хорошо встраиваются в печатную плату, позволяют сэкономить время и облегчить труд разработчика. Модули различаются по величине мощности передатчика и типу антенны.
Мощность передатчика. Не­ко­то­рые устройства представляют собой стандартные и высокомощные модули. Стандартные модули, разработанные по технологии 802.15.4, способны покрыть расстояние до 100 м. Высокомощные модули обладают намного большей мощностью и покрывают расстояние в 5—6 раз больше, чем стандартные устройства. В зависимости от рельефа местности и условий видимости, покрытие высокомощных модулей может достигать 500 м и более.
Тип антенны. Встроенная антенна представляет собой небольшой кристалл, смонтированный непосредственно на печатной плате модуля. Этот тип антенны занимает меньшее место, но предъявляет больше требований к окружающим поверхностям и в некоторых случаях не обеспечивает достаточной мощности для используемого приложения. Другая антенна является внешней, представляет собой отдельный блок и подсоединяется к модулю через ВЧ-разъем, например SMA.

 

Рис. 1. Канальный уровень

Канальный уровень. Как видно из рисунка 1, канальный уровень состоит из MAC- и LLC-подуровней. В приложениях стандарта 802.15.4 в действительности важен MAC-подуровень, отвечающий за следующие функции:
– установка связи устройств с сетью и отсоединение от нее;
– обеспечение контроля над доступом к каналам, используемым различными устройствами в сети;
– генерация кадров «неисправность»;
– управление таймслотом.
Сетевой и транспортный уровни. Сетевой и транспортный уровни в конфигурациях рассматриваемых беспроводных датчиковых сетей используют технологии ZigBee и Z-wave, несколько других более новых технологий, а также менее применяемых альтернативных методов. Базовая структура протокола ZigBee показана на рисунке 2.

 

Рис. 2. Сетевой и транспортный уровни

Наивысший уровень — приложение, а самый низкий — физический/канальный уровень. Стек ZigBee находится посередине и отвечает за структуру сети, безопасность и выбор маршрута. Следует заметить, что в спецификации ZigBee, предлагаемой для загрузки компаниям и частным лицам, также указываются профили приложения для ZigBee-устройств.
ZigBee-профиль является описанием типов устройств и интерфейсов, необходимых для конкретного приложения. Это серьезная попытка стандартизировать будущие предложения продуктов от разных производителей.
Более подробную информацию читатель может получить, посетив официальный веб-сайт Альянса ZigBee
www.zigbee.org. Технические описания и другие материалы этого сайта позволят быстрее освоиться в данной сфере деятельности.
Одной из наиболее существенных частей ПО в беспроводной датчиковой сети является программный стек ZigBee. Компания Texas Instruments (см. http://focus.ti.com/docs/toolsw/folders/print/z-stack.html) предлагает бесплатную версию этого стека под названием Z-Stack. Он соответствует требованиям спецификации ZigBee 2006 и совместим с некоторыми платформами.
Z-wave. Это технология датско-американской компании Zensys, которая занимается разработкой протоколов и поставками однокристальных решений, а также комплектов для разработки. Эта более «легкая» технология по части программного и аппаратного обеспечения в первую очередь предназначена для систем управления «цифровым домом».
В состав Альянса Z-wave входит множество компаний. Эта технология использует особый MAC-уровень, протокол передачи и выбора маршрута. Спецификация класса устройств обеспечивает возможность взаимодействия между ними. Контроллеры, подчиненные узлы с маршрутизацией и подчиненные узлы поддерживаются в смешанной сети.

 

Другие решения

Некоторые поставщики выбрали другую схему реализации верхних уровней модели OSI 7. С примерами этих очень интересных решений можно познакомиться на сайтах www.sensinode.com и www.scatterweb.com.

 

Топология сети

Используются следующие сетевые топологии: «звезда», «дерево» и «ячейка» для датчиковых сетей. Сеть состоит из двух или более устройств, причем одно из них выступает в роли координатора персональной сети (Personal Area Network).
«Звезда». Это самая простая топология. Центральный узел является координатором персональной сети. Каждое оконечное устройство может устанавливать связь только через координатора персональной сети. Эта топология реализуется только с помощью стандарта 802.15.4.
«Дерево». Это более сложная топология, при которой у каждого узла может быть родительский и один или более дочерний узел. В этой топологии также используется один координатор персональной сети, но имеются многие другие устройства-координаторы.
«Ячейка». Ячеистая топология предлагает альтернативные варианты выбора маршрута между узлами. В этой топологии также используется один координатор персональной сети, все остальные узлы идентичны. Сообщения поступают от узла к узлу, пока не достигнут конечного получателя. Возможны различные пути прохождения сообщений, что повышает доступность сети в случае выхода из строя того или иного звена.

 

Программное обеспечение

Поскольку для создания беспроводной датчиковой сети предусматривается программирование на нескольких уровнях, необходимо обратить внимание на следующие вопросы. Какой код будет использоваться — коммерческий или бесплатный? Можно ли его видоизменить по собственному усмотрению в процессе разработки продукта?
Каков стратегический план развития ПО выбранного поставщика? Входит ли в планы этой компании обновлять ПО, идя в ногу с последними исправлениями стандартов? Некоторые поставщики предлагают отдельные части своих программ как открытые исходные тексты. В качестве примера можно привести OpenMAC для MAC-уровня 802.15.4 компании Meshnetics (www.meshnetics.com).

 

Лицензионные отчисления и исходный текст

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

 

Соответствие стандартам

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

 

ОСРВ или простой планировщик

Небольшое приложение вполне может обойтись без операционной системы реального времени (ОСРВ). Бесконечный цикл с прерыванием является простейшим методом, зачастую пригодным для сенсорных устройств. ОСРВ может потребоваться для создания более сложного устройства, например шлюза. ОСРВ необходима для поддержки протокола TCP/IP, USB-накопителей или для параллельного выполнения программных задач. Для датчиковых устройств также подходит бесплатная версия Tiny OS. Более подробную информацию см. на сайтах
www.tinyos.net и www.sensinode.com.
В некоторых случаях можно остановить выбор на версии Linux. Для небольших устройств годится и запатентованный планировщик.

 

Интегрированная среда разработки и компиляторы

Выбор интегрированной среды разработки (IDE) и компилятора так же индивидуален, как, например, выбор веб-обозревателя или почтовой программы. Одни разработчики отдают предпочтение запатентованным интеллектуальным приложениям от авторитетных поставщиков, другие — платформам типа Eclipse. Я считаю, что годится любая среда разработки, лишь бы она хорошо справлялась со своими функциями. Следует остерегаться приобретать некоторые открытые IDE, поставляемые вместе с ПО.

 

Средства отладки

Для пошаговой отладки кода используется метод запуска средства отладки на устройстве, связанном с персональным компьютером (ПК), на котором запущена среда IDE. Существует проблема использования этого метода, поскольку загруженный код должен иметь в составе средство отладки и постоянно синхронизоваться с отладчиком. Имеются также затруднения со скоростью, негативно сказывающиеся на отношении пользователя к выбору данного метода.
Альтернатива этому подходу — разрабатываемые в настоящее время анализатор пакетов и ПО для беспроводной сети. Пример решений с использованием технологий ZigBee и 802.15.4 приводится на сайте компании Daintree
www.daintree.net. Рассматриваются все этапы этих проектов — от разработки и тестирования до ввода в эксплуатацию и технического обслуживания.
Я обнаружил, что операторы типа printf могут оказаться очень полезными при работе через порт UART макетной платы, поскольку программа HyperTerminal отображает их и помогает отслеживать текущую ситуацию.

 

Язык программирования

В большинстве средств разработки используются языки C/C++. Тем не менее существует интересное предложение от компании Sun под названием Sun SPOT (Small Programmable Object Technology), в котором используется виртуальная Java-машина Squawk. Для работы Sun SPOT используется одноядерный 32-разрядный 180-MГц процессор ARM920T с ОЗУ на 512 Kбайт и флэш-памятью на 4 Mбайт. Разработка выполняется на языке Ява с помощью среды NetBeans для отладки и развертывания приложения.
Я считаю, это наиболее быстрая платформа разработки на текущий момент. Единственный недостаток заключается в том, что этот комплект предусматривает работу в стандарте 802.15.4, но не имеет стека ZigBee или другой возможности для проектирования смешанной сети (см. веб-сайт www.sunspotworld.com).

 

Архитектура оборудования

Двухкристальные решения. Мно­гие предложения базируются на очень известных платформах для ЦПУ, например 8051, ARM, PIC или Rabbit. Они используют хорошо себя зарекомендовавшие среды IDE, компиляторы и отладчики, а также осведомленность пользователя в отношении оборудования и ПО для этих чипов. ВЧ-компонент используется для сопроцессора, работающего на физическом и MAC-уровнях в одних случаях, или также на сетевом и транспортном уровнях — в других.
В зависимости от ВЧ-кристалла, связь между ним и главным ЦП осуществляется через шину, например SPI. Использование двухкристального решения сопряжено с некоторыми трудностями, если каждый из чипов поставляется разными производителями. В этом случае требуются два различных набора средств для обновления прошивок и загрузки ПО. В зависимости от приложения, могут потребоваться два набора сред для разработки, если необходимо изменить прошивку ВЧ-кристалла.
Однокристальные решения. Осно­ву однокристального решения составляет ИС с ЦПУ и все стандартные периферийные устройства ввода/вывода, а также ВЧ-компоненты для реализации физического и MAC-уровней. Эти чипы обладают большой функциональностью и, похоже, завоевывают популярность. Риск выбора заключается в использовании новых средств, новой архитектуры ЦП и единой модели поставщика. Типичные конфигурации этого типа решения предлагаются на сайтах компаний Ember (www.ember.com), Jennic (www.jennic.com) и Zensys (www.zen-sys.com/modules/Zensys).

 

Оценочные платы

При выборе оценочной платы разработчику следует подумать о том, какие ОЗУ, ПЗУ, ЦПУ, наборы команд, а также порты UART, датчики, переключатели и све­то­диоды, ЖК-дисплеи, Ethernet-пор­ты, АЦП, ЦАП и клавиши будут использоваться.
К счастью, почти во всех комплектах имеется достаточно большое количество цифровых и аналоговых входов и выходов, а также средства отображения, начиная с 7-сегментного светодиодного дисплея и заканчивая ЖК-панелями с очень хорошим разрешением. Если поддерживается Ethernet, то для установления связи потребуется стек TCP/IP или ОСРВ со стеком TCP/IP. Если Ethernet отсутствует, для связи беспроводной сети с ПК используется USB или последовательный порт.
С целью облегчения разработки изделия рекомендуется воспользоваться примерами разработки, поставляемыми производителями полупроводников.

 

Связь с ПК

ПК используется не только на этапе разработки, когда требуется отправлять информацию по отладке программе эмуляции, но также для визуализации сетевых данных и для отправки управляющих команд на плату контроллера, подключенного к ПК.
Одним из важных параметров является скорость соединения в сравнении со скоростью, достижимой в беспроводной сети. Для многих приложений вполне удовлетворительным является последовательное соединение, но для других приложений оно не подходит. Учитывая, что связь с ПК используется для управления и работы с периодически получаемыми данными с датчиков, для сети с максимальной скоростью 250 Kбит/с достаточно скорости передачи в 115,2 Кбит/с.

 

Комплект для разработки компании Jennic

Стоимость комплектов для разработки варьируется от нескольких сотен до нескольких тысяч долларов. Трудно судить, какой из них окажется дешевле для того или иного проекта, не располагая данными о ПО, средствах разработки и кривой освоения изделия в производстве, необходимыми на этапе подготовки продукта к выходу на рынок.
Поскольку я платил деньги за комплект разработчика из собственного кошелька, был выбран не самый дорогой вариант. Наиболее подходящим оказался комплект компании Jennic, стоимость которого составила 499 долл. Более дешевый комплект для решения с использованием стандарта 802.15.4 не имел стека ZigBee.
Версия ZigBee позволяет получить доступ к ZigBee-стеку с помощью специ­фикации образца 2006 г., а затем — обновление до версии Zigbee Pro, вышедшее в октябре 2007 г.
Основные достоинства комплекта разработчика Jennic, на мой взгляд, следующие:
– бесплатные компилятор и интегрированная среда разработки;
– однокристальное решение, обладающее достаточной универсальностью и большими возможностями;
– поддержка стандарта 802.15.4 и ZigBee;
– различные типы антенн в двух платах;
– мощные модули;
– простое подключение платы контроллера к ПК;
– пристойная документация;
– поддержка веб-форумов;
– отличная цена за один координатор, четыре датчиковые платы и все перечисленное выше.
Следует заметить, что не все в этом комплекте оказалось идеальным. У меня возникли проблемы с интегрированным отладчиком, хотя следует признать, что разумнее вести запись отладочных операторов в программе HyperTerminal, если разработчик не желает прерывать работу приложений.
Все остальные достоинства для меня, пожалуй, компенсируют недостатки, связанные со многими прикладными программными интерфейсами, которые компания создала для поддержки поставляемых ею полупроводников.

 

Вывод

В силу большого количества предложений представляется затруднительным описать все возможные комплекты для разработки. Я постарался рассказать только о тех поставщиках, которые привлекли мое внимание во время поиска подходящего комплекта для разработки. Вполне возможно, что существуют и другие, не менее и даже более достойные решения, которые я не упомянул.
На текущий момент я очень доволен своим выбором, однако продолжаю следить за теми новинками, которые появляются на рынке.
Ссылки на некоторые страницы сайтов поставщиков:
– www.rabbit.com/products/ZigBee_App_Kit/index.shtml
– www.freescale.com/webapp/sps/site/overview.jsp?nodeId=01J4Fs25659873
– www.xbow.com/Products/product­details.aspx?sid=160
– www.willow.co.uk/
– www.ccsinfo.com/product_info.php
– http://sunspotworld.com/
– www.jennic.com/products/index.php?productID=0000000011
– www.meshnetics.com/dev-tools/zdk/
– www.ember.com/products_zigbee_development_tools_kits.html
– http://www2.okisemi.com/site/productscatalog/Zigbee/ZigbeeZDK.html
– www.zen-sys.com/index.php? page=9
– http://focus.ti.com/docs/toolsw/folders/print/z-stack.html
– www.moteiv.com
– www.silabs.com/tgwWebApp/public/web_content/products/
– http://focus.ti.com/docs/prod/folders
– www.freescale.com/zigbee
– www.z-wavealliance.com/content/uploads/.

 

Литература
1. Bharathidasan Archana, Ponduru Vijay Anand Sai, “Sensor Networks” An Overview.
2. Akyildiz Ian F., Su Welian, Sanka­ra­su­bra­ma­niam Yogesh and Cayirci Erdal, A Survey on Sensor Networks, IEEE Communications Magazine, August 2002.
3. IEEE 802.15.4 Wireless Networks Users Guide, www.jennic.com/support.
4. Zigbee Stack User Guide, www.jennic.com/support.
5. Gallev Mikhail, Catching the Z-Wave, Embedded Systems Design, October 02, 2006.
6. Freescale Semiconductor, IEEE 802.15.4/Zigbee Software Selector Guide, 09/2007.
7. Z-Wave Alliance Day technical Seminar, June 14, 2005.

Оставьте отзыв

Ваш емейл адрес не будет опубликован. Обязательные поля отмечены *