www.mai.ru/science/trudy/
Труды МАИ. Выпуск № 89
УДК 004.738.2
Программная платформа для организации и функционирования беспроводных сенсорных сетей различных классов топологий
Белкин В.Д.
Московский авиационный институт (национальный исследовательский университет), МАИ, Волоколамское шоссе, 4, Москва, A-80, ГСП-3, 125993, Россия
e-mail: belkin-vd@mail.ru
Аннотация
Работа посвящена изучению принципов организации и функционирования беспроводной сенсорной сети (БСС) и созданию инструментария для её реализации. Для достижения цели ставятся задачи по созданию и настройке необходимого программного обеспечения для работы с семейством микропроцессоров MSP430 и разработке инструментария для работы с узлом EVB8871. Отдельная часть работы посвящена разработке стека протоколов для организации сети. В качестве примера применения результатов рассматривается проект разворачивания БСС на планетах и спутниках в целях мониторинга сейсмической активности небесных тел.
Ключевые слова: беспроводные сенсорные сети, сенсоры, датчики, радиопередача, встроенное программирование
Введение в БСС
Беспроводные сенсорные сети (БСС) используются для решения задач мониторинга и контроля измеряемых параметров физической среды и объектов. Явления, происходящие в физическом мире, наблюдаются при помощи датчиков (сенсоров), способных реагировать на изменения параметров. После сбора данных информация преобразуется из физической в электрическую, из аналоговой в цифровую. Выработанные управляющие сигналы могут быть обработаны управляющим микропроцессором узла или же переданы по радиоканалу сети.
Множество узлов с датчиками образуют БСС, которая выполняет такие функции как сбор данных датчиками, обработка полученных данных и передача данных в конечный пункт назначения. Построение маршрутов передачи данных обеспечивается встроенной способностью БСС к самоорганизации [1].
При организации БСС используются различные классы топологий: линия, звезда, дерево, ячеистая топология. В ячеистой топологии выход из строя одного из узлов-участников ретрансляции пакета по маршруту не прервёт передачу данных, а инициирует поиск альтернативного маршрута передачи данных через соседние узлы [2].
Узлы, используемые в БСС, отличаются продолжительным сроком службы. В зависимости от типа используемых элементов питания и их ёмкости, длительность работы узлов может исчисляться годами.
Используемое оборудование
Типовой узел БСС включает в себя ряд базовых модулей: приемопередатчик, управляющий микропроцессор, элементы питания, датчики. Помимо базового
набора, узел может быть дополнен специфичными аппаратными компонентами. Также узел должен иметь возможность сопрягаться с рабочим местом программиста (РМП) для загрузки управляющей программы центрального микропроцессора.
В рамках проведения исследовательской работы использовалось следующее базовое оборудование (см. рис. 1):
• Узел (отладочная плата) EVB8871,
• программатор MSP - FET430 UIF,
• РМП на базе персонального компьютера с установленной операционной системой (ОС) Debian.
Рисунок 1. Узел (внизу) и программатор (вверху). Узел ЕУВ8871 работает под управлением микропроцессора MSP430F5438A
компании Texas Instruments. Характеристики семейства MSP430 оптимальны для
3
создания перспективных, производительных устройств, работающих на автономном питании.
Помимо микропроцессора MSP430F5438A узел EVB8871 включает в себя множество аппаратных компонентов: приемопередатчик Texas Instruments CC2520, контроллер OLED-дисплея GOLDELOX—SGC компании 4D Systems, внешнюю FLASH-память M25PE40 компании Micron Technology, звуковой извещатель ST Microelectronics TS2007, карту памяти microSD, USB/UART—интерфейс Silicon Labs CP2102, навигационный переключатель (джойстик), светодиоды, микросхему Maxim Integrated DS2411R, датчики температуры и освещения, цифровой микрофон, разъем расширения.
Цель и поставленные задачи исследовательской работы
Исследовательская работа посвящена изучению принципов организации и функционирования БСС и созданию инструментария для её реализации. Основная цель работы заключается в создании программной платформы, обеспечивающей возможность создания прикладных БСС на основе рассмотренных узлов EVB8871. Эта платформа должна функционировать на UNIX-подобных ОС.
Для разработки приложений компания Texas Instruments поставляет программные комплексы Code Composer Studio [3] и Embedded Workbench Kickstart [4], однако Embedded Workbench Kickstart не предназначена для работы в UNIX-подобных ОС, а Code Composer Studio является не свободно распространяемым программным обеспечением. Поэтому формулируется первая задача: необходимо
разработать инструмент для конфигурирования РМП на базе UNIX-подобных ОС, обеспечивающий 1) разработку приложений для узлов БСС,
2) перепрограммирование центральных микропроцессоров узлов EVB8871,
3) выполнение отладки приложений. Результат решения первой задачи должен стать первым модулем создаваемой программной платформы.
Вторая задача исследований заключается в создании модуля, элементы которого управляют функционированием аппаратных компонентов узлов EVB8871. В совокупности данный модуль позволяет управлять работой узлов БСС: выполнять программу центрального микропроцессора узла, управлять режимами энергопотребления, конфигурировать таймеры, тактовые переключатели, светодиоды, датчики и т. д. Иными словами, данный модуль выполняет основные функции ОС. Отдельное внимание уделяется элементу, отвечающему за контроллер OLED-дисплея.
В качестве приемопередатчика узлы EVB8871 оснащены микросхемой Texas Instruments CC2520, представляющей собой ZigBeeTM/IEEE 802.15.4 трансивер второго поколения, специально спроектированный для радиочастотных приложений диапазона 2,4 ГГц с аппаратной поддержкой обработки пакетов, буферизации данных, шифрования и аутентификации данных, оценки уровня зашумленности канала, индикации уровня радиосигнала и временной информации о пакетах [5]. Эта микросхема является самостоятельным процессором, которым надо управлять для выполнения требуемых действий. Поэтому формулируется третья задача, полностью посвящённая приемопередатчику. Она включает в себя конфигурирование
приемопередатчика и реализацию стека коммуникационных протоколов, являющегося основой для организации и функционирования БСС. Из всех уровней стека протоколов особый интерес представляет сетевой, т. к. именно он отвечает за инициализацию сети, организацию взаимодействия между узлами и дальнейшее функционирование сети, т. е. за её способность к самоорганизации.
Таким образом, создаваемая программная платформа для разработки прикладных БСС должна включать в себя три модуля, которые будут созданы в результате решения трёх поставленных задач.
Работа с семейством микропроцессоров MSP430 на UNIX-подобных ОС
Первая задача исследований заключалась в разработке инструмента для конфигурирования РМП с использованием UNIX-подобных ОС. В качестве основы РМП выбрана ОС Debian GNU/Linux версии 7.6.
Созданный в ходе решения первой задачи модуль представляет собой (см. рис. 2) совокупность пакетов программ, обеспечивающих работу с MSP430, рабочую среду Eclipse, набор инструкций для пользователя и примеры приложений.
Рисунок 2. Состав первого модуля.
Для работы с семейством микропроцессоров MSP430 используется инструментарий GCC (GNU Compliler Collection), представляющий собой набор программных модулей, позволяющих добавить MSP430 к списку целевых платформ пакета GNU. При этом разработка может производиться как в среде Windows, так и в среде Linux. Необходимый набор утилит Binutils пополнен ассемблером, компоновщиком и конвертором объектных файлов для MSP430.
Для упрощения разработки программного кода разработчику предлагается
рабочая среда свободного пользования Eclipse.
Для облегчения каждого этапа разработки созданы отдельные инструкции, описывающие рабочие процессы, а примеры приложений позволяют лучше усвоить материал прикладным разработчикам. В примерах задействованы большинство аппаратных компонентов узла EVB8871. Демонстрируется работа центрального микропроцессора, датчиков, OLED-дисплея, приемопередатчика, работа тактовых переключателей и светодиодов.
Управление аппаратными компонентами узла EVB8871
Вторая задача исследований заключается в формировании модуля платформы, элементы которого управляют функционированием аппаратных компонентов узлов. Результатом решения этой задачи является программный модуль (см. рис. 3), состоящий из множества процедур, отвечающих за компоненты узла EVB8871.
Установленный в составе EVB8871 цветной OLED-дисплей существенно упрощает работу с ресурсами узла, позволяя отображать текстовую и графическую информацию, что является удобным инструментом при отладке программ. Обработка отображаемой на OLED-дисплее информации, а также управление OLED-дисплеем производится специализированным контроллером, выполненном на микросхеме 4D Systems GOLDELOX—SGC. Обмен информацией между данным контроллером и центральным микропроцессором производится по интерфейсу UART.
Для управления OLED-дисплеем созданы процедуры, позволяющие прикладному разработчику инициализировать дисплей, выбирать цвет выводимых
символов и цвет фона, выводить на дисплей строку литер с возможностью переноса символов на последующие строки экрана, очищать дисплей.
Рисунок 3. Состав второго модуля. Для формирования уникального MAC-адреса узла EVB8871, необходимого для идентификации в БСС, используется микросхема UniqueID Maxim Integrated DS2411. Адрес, содержащийся в микросхеме UniqueID, также может использоваться как серийный номер устройства. Взаимодействие центрального микропроцессора и
этой микросхемы осуществляется при помощи интерфейса 1-Wire.
Также в рассматриваемый модуль входят процедуры, позволяющие управлять тактовыми переключателями и светодиодами.
Для работы с центральным микропроцессором реализован ряд процедур, позволяющих, например, инициализировать работу процессора, выбирать источник тактирования, настраивать таймеры-счётчики, управлять энергопотреблением и т. д.
Работа с приемопередатчиком CC2520
Третья задача исследований посвящена настройке приемопередатчика и разработке стека протоколов взаимодействия узлов БСС. Третий модуль состоит из процедур и интерфейсов, отвечающий на настройку радиопередатчика. Программный код структурирован таким образом, что имеется возможность использования других моделей микропроцессоров семейства MSP430.
Стек протоколов структурирован по эталонной модели OSI, где для БСС используются 4 уровня: физический, канальный, сетевой и прикладной (см. рис. 4).
Рисунок 4. Уровни стека протокола для БСС.
За работу беспроводной сети отвечает сетевой уровень. На текущий момент реализованы топологии сети классов «линия», «звезда» и «дерево» (см. рис. 5). В
настоящий момент ведётся разработка ячеистой топологии сети [6].
Рисунок 5. Топологии БСС.
Применение результатов
С использованием разработанной программной платформы могут создаваться БСС для решения разного рода прикладных задач, связанных со сбором, анализом и передачей данных, например, в области космических исследований.
Предлагается дополнить изучение планет и спутников сейсмическими исследованиями с использованием распределённой на поверхности небесного тела БСС. Узлы БСС могут быть размещены на поверхности планетоходом или отстрелены при снижении посадочного модуля.
Сейсмические волны несут информацию о среде распространения, раскрывающую внутреннее строение небесных тел, позволяют выявлять сейсмическую активность, обнаруживать импактные события.
В качестве инструмента сейсмических исследований предлагается использовать множество узлов с датчиками. Количество таких узлов может исчисляться десятками или сотнями. Каждый узел имеет в своём составе акселерометры, позволяющие обнаруживать колебания узлов.
Необходимое количество таких узлов размещается в заранее заданном районе планеты или спутника. Расстояние между узлами может варьироваться, учитывая различные физические препятствия. Каждый узел выполняет тривиальную работу -измеряет параметры среды и передаёт эти данные узлу-координатору. Узел-координатор располагается на планетоходе или посадочном модуле. Продолжительность работы узлов может исчисляться месяцами или даже годами без подзарядки. Для пополнения запаса энергии может использоваться излучение Солнца. БСС обладает способностью к самоорганизации и может функционировать автономно. Исследования проводятся автоматически, и все что нужно - это передать результаты измерений узлу-координатору для последующей передачи массива собранных данных командному пункту на Земле [7].
Узлы на поверхности исследуемого небесного тела могут быть размещены несколькими способами. Первый - это использование планетохода (см. рис. 6). Доставка узлов производится однократно, после чего возвращаться к узлу необходимости нет. Некоторая избыточность в размещении узлов БСС обеспечивает надёжность сети: выход из строя одного или нескольких узлов не влечёт потерю работоспособности всей сети, пакеты с результатами измерений будут доставлены узлу-координатору при помощи альтернативных маршрутов. Недостатками размещения узлов планетоходом являются малое покрытие сети (марсоходы/луноходы на сегодняшний день преодолели не более 45 км) и низкая скорость построения БСС.
Рисунок 6. Расположение узлов сети планетоходом. Топология сети — «линия».
Второй способ размещение узлов БСС — отстрел со спускаемого модуля требует дополнительных исследований, учитывающих наличие и параметры атмосферы, предельное расстояние радиосвязи между узлами и т.д.
БСС на телах солнечной системы могут быть созданы не только в целях сейсмических исследований, список идей применения может быть расширен, к примеру, БСС могут позволить изучить полярные шапки Марса. Известно, что зимой полярная шапка разрастается в поперечнике, а с наступлением лета возросшая часть испаряется. Возникают вопросы, что при этом происходит, и какие создаются условия в результате подобных процессов. Детальные ответы на эти вопросы могут быть найдены с помощью БСС, узлы которых в соответствующем исполнении способны работать продолжительное время в самых агрессивных условиях внешней среды.
На узлах могут быть установлены любые датчики: как самые тривиальные (температуры, влажности, давления и т.д.), так и способные выявлять более сложные явления, к примеру, окисление железа и наличие освобождённого метана. Узлы БСС имеют небольшие размеры и массу. Для космических исследований это критически важный момент, учитывая, что груз должен транспортироваться с Земли.
Использование БСС позволит ускорить исследования небесных тел, проводить одномоментно измерения в нескольких точках поверхности. Потенциал проводимой в течении двух лет исследовательской работы является базисом для формирования программной части предлагаемой идеи.
Выводы
Все три поставленные задачи решены, что позволяет говорить о разработке программной платформы из трёх модулей: конфигурирование рабочего места программиста прикладных БСС, управление ресурсами узлов EVB8871 (по сути — миниатюрная ОС), управление приемопередатчиком Texas Instruments CC2520. С использованием созданной программной платформы становится возможным разрабатывать прикладные БСС, в т. ч. для космических исследований.
Благодарность
Автор выражает благодарность своему научному руководителю, доценту кафедры
609 МАИ Терентъеву Максиму Николаевичу.
Исследование выполнено при финансовой поддержке РФФИ в рамках научного проекта № 14-08-01028а.
Список используемых источников
1. Падалко С.Н., Терентьев М.Н. Автоматизированное проектирование адаптивных дискретных беспроводных сенсорных сетей для космических систем: Учебное пособие. - М.: Изд-во МАИ, 2013. -128 с.
2. Махорин А.О., Падалко С.Н., Терентьев М.Н. Математическая модель многошлюзовой беспроводной самоорганизующейся сети произвольной
топологии в аэрокосмической системе // Вестник компьютерных и информационных технологий. 2015. № 3 С. 28-32.
3. Code Composer Studio (CCS) Integrated Development Environment (IDE) -CCSTUDIO - TI Tool Folder, URL: http://www.ti.com/tool/ccstudio
4. IAR Embedded Workbench Kickstart - IAR-KICKSTART - TI Software Folder: http://www.ti.com/tool/iar-kickstart
5. CC2520 | ZigBee (IEEE 802.15.4 / ZigBee PRO) | Wireless Connectivity | Description & parametrics, URL: http://www.ti.com/product/CC2520
6. Коршиков С.Б., Мусолов М.Н., Терентьев М.Н. Возможности использования метода результативного искажения при создании сложных технических систем в высокотехнологичных отраслях промышленности // Труды МАИ, 2011, №47: http://www.mai.ru/science/trudy/published.php?ID=26968
7. Гинзбург И.Б., Падалко С.Н., Автономные веб-приложения для систем обработки космической информации // Труды МАИ, 2015, №82: http://www.mai.ru/science/trudy/published.php?ID=58832