ISSN 2079-3316 ПРОГРАММНЫЕ СИСТЕМЫ: ТЕОРИЯ И ПРИЛОЖЕНИЯ №4(27), 2015, с. 197-208
удк 004.71
С. М. Абрамов, Ю. В. Шевчук, А. Ю. Пономарев, С. М. Пономарева, Е. В. Шевчук
Сенсорная сеть с модульной архитектурой
Аннотация. Описан новый подход к организации сенсорной сети на основе устройств с модульной архитектурой. Описываемая аппаратно-программная платформа для сенсорных сетей является своего рода конструктором, который позволит легко собирать сенсорные узлы в соответствии со специфическими нуждами пользователя и разворачивать сенсорные сети там, где это нужно. Данный подход призван значительно расширить сферу применения сенсорных сетей.
Ключевые слова и фразы,: сенсорные сети, LoWPAN, Ethernet, WiFi, PLC, Bluetooth 4.0 LE, ZigBee, Z-Wave.
Введение
Сенсорные сети — направление в развитии коммуникационных технологий, имеющее большую область применения [1,2]. Разнообразие доступных датчиков и исполнительных механизмов делают возможным применение сенсорных сетей во многих отраслях жизни: в системах безопасности объектов [3], в мониторинге окружающей среды [4], в медицинских системах контроля состояния больных [5], в мониторинге сельскохозяйственных угодий [5,6], в системах пожаротушения [7], в системах мониторинга сложных объектов и технических систем [8], в системах автоматизации научных исследований [9] и т.п.
Низкое энергопотребление, использование беспроводных технологий, сочетание беспроводных и проводных технологий и возможность удаленного доступа к собираемой информации позволяют использовать сенсорные сети в местах, где отсутствует развитая инфраструктура либо очень неудобно обслуживание (на природных объектах, на промышленных объектах повышенной опасности и т.д.).
© С. М. Абрамов, Ю. В. Шевчук, А. Ю. Пономарев, С. М. Пономарева, Е. В. Шевчук, 2015
© Институт программных систем имени А. К. Айламазяна РАН, 2015 © Программные системы: теория и приложения, 2015
Однако практических реализаций развернутых и успешно функционирующих сенсорных сетей пока не так много. Все известные на сегодняшний день сколько-нибудь масштабные сенсорные сети были разработаны под конкретное применение, имеющиеся на рынке предложения не являются универсальными и разворачивание сети на их основе требует обращения к специалистам в области сенсорных сетей и значительных инженерных усилий. Узлы разрабатываются под конкретное применение, что естественным образом замедляет распространение сенсорных сетей и ограничивает их применение. Коммерческие наборы узлов с программным обеспечением стоят достаточно дорого — порядка нескольких тысяч долларов — что дополнительно ограничивает их широкое применение. Складывается ситуация, когда о технологии много говорят, но мало используют. Поэтому разработка недорогих универсальных технологий для построения сенсорных сетей является актуальной задачей.
В связи с этим нами предлагается подход — не пытаться производить сенсорные узлы для заранее определенных применений и заранее определенных наборов измеряемых параметров, а разработать набор аппаратно-программных решений, которые позволяли бы конструировать сенсорные узлы для любых применений. В конечном итоге цель предлагаемого подхода — предоставить инструмент для самостоятельной сборки сенсорных узлов самими потребителями, в том числе в низкобюджетной части рынка, в бытовых применениях и т.п.
Данный подход в настоящее время не реализован нигде в мире, и его реализация позволит значительно расширить область применения сенсорных сетей, снизить стоимость их производства, установки и использования.
1. Необходимый состав сенсорных узлов
Состав каждого сенсорного узла определяется задачами, которые он выполняет, типом собираемых данных (составом обслуживаемых датчиков), местом расположения (доступными источниками электропитания и возможностью использования тех или иных протоколов обмена данными). Сенсорный узел — не обязательно устройство с беспроводной передачей данных и автономным электропитанием. В случае близкого расположения узла, например, к каналу Ethernet, более эффективно использовать для обмена данными (или даже электропитания) этот канал. В случае близкого расположения узла к розетке электропитания может быть целесообразно использовать 220 В для электропитания и технологию PLC для передачи данных.
Можно выделить 4 вида компонентов, которые должен включать в себя сенсорный узел для выполнения задачи сбора данных и передачи их потребителю:
(1) один или несколько базовых интерфейсов передачи данных (из набора Ethernet, WiFi, LoWPAN, PLC, Bluetooth 4.0 LE, ZigBee, Z-Wave, и т.д.) для подключения к сенсорной сети (7 вариантов в случае одного интерфейса, 21 вариант в случае двух интерфейсов; всего 28 вариантов);
(2) интерфейсы для подключения датчиков (около 12 наиболее распространенных, по одному или несколько датчиков на узел);
(3) систему электропитания (возможно с аккумулятором), например: 110-240 V AC, 6V DC, PoE, батарейки и т.п.;
(4) микропроцессорное системное ядро для поддержки возможности реализации IPv6, mesh-маршрутизации и автономного (без связи с головным узлом и/или облаком) реагирования на аварийную ситуацию, распознанную в этом или другом узле.
Первые три пункта содержат большое число вариантов каждый. При традиционном подходе для реализации всех возможных вариантов сенсорных узлов потребуется разработать более тысячи различных устройств (как минимум 28 х 12 х 4 = 1344). Модульный принцип организации сенсорного узла позволяет существенно сократить число устройств, необходимых для выполнения всего спектра задач.
2. Модульная архитектура сенсорного узла
Мы предлагаем подход, при котором разрабатываемый набор аппаратных устройств представляет собой гибридный конструктор, модули которого можно комбинировать, получая самые разные узлы для создания сенсорных сетей.
Узлы сенсорной сети собираются из готовых модулей трёх типов:
• базовые модули (один или несколько), предоставляющие интерфейсы к сенсорной сети и системную микропроцессорную часть; базовый модуль обеспечивает функции приема-передачи информации в сенсорную сеть и управление работой сенсорного узла;
• периферийные модули (один или несколько), предоставляющие интерфейсы для подключения к узлу датчиков и исполнительных механизмов;
• блок электропитания.
Самые различные интерфейсы к первичным сенсорам:
1. RS232, RS422/RS485
2. шлейф охранно-пожарной
Ethernet
IEEE 802.15.4 LoWPAN
WiFi
PLC
Bluetooth 4.0LE
Z-Wave
ZigBee
сигнализации 3. сигнал термометров
сопротивления
4. сигнал термопары
5. трехпроводной
электрохимический датчик газа
6. 1wire, Wiegand
7. сигнал управления
электромагнитным замком
8. аналоговый сигнал 4—20 mA
9. сигнал тензопреобразователя
датчика давления 10. сигнал каталитических датчиков
Разное
электропитание
газа и другие...
Рис. 1. Модульная архитектура сенсорного узла
Как; правило, в сенсорном узле содержится один базовый модуль, предоставляющий один из интерфейсов, перечисленныых в пункте (1) раздела 1. Если узсл предполагается использовать как шлюз, он можжет содержать 2 базовылх модуля. Например, узел, являющийся шлюзом между проводныш и беспроводным сегментами сенсортой сети, может содержать 2 базовых модуля: с интерфейсом Ethernet и интерфейсом
Поддержка различных протоколов передачи данных (1) обеспечивает возможность включения в сенсорную сеть отдельных узлов (или даже больших готовых систем) третьих производителей.
Периферийных модулей в сенсорном узле может быть несколько — для каждого датчика или исполнительного механизма свой периферийный модуль. Различные типы интерфейсов для периферийных модулей перечислены на рис. 1. Иногда периферийный модуль может реализовывать не интерфейсы к датчикам, а дополнительные ресурсы для базового модуля — дополнительную память, энергонезависимые часы и т.п.
Все модули соединяются между собой посредством мультимастер-ной шины передачи данных 12С и образуют единый узел сенсорной сети с необходимой конфигурацией. Шина позволяет подключать в любой комбинации любые модули, для чего на шине реализуется процедура распознавания модулей и назначения адресов.
Wi-Fi.
Таким образом, предлагаемый подход позволяет получить тысячи вариантов устройств с помощью разработки десятков модулей (7 + 12 + 4 = 23 модуля), комбинируя их любым образом при конструировании сенсорных узлов.
Гибкость, достигаемая за счет модульной организации сенсорных узлов, не дается бесплатно. Модульная организация приводит к увеличению стоимости и габаритов сенсорного узла по сравнению с монолитным устройством с тем же набором интерфейсов. Поэтому модульный и монолитный подходы могут дополнять друг друга: сначала создается модульная версия устройства, а если возникает потребность в большом количестве однотипных устройств, принимается решение о разработке и производстве серии монолитных устройств. Разработка монолитного устройства облегчается тем, что большая часть схемотехнических и программных решений может быть заимствована из модульной версии.
3. Конструирование сенсорного узла
В соответствии с описанным подходом конструирование узлов сенсорной сети с модульной архитектурой включает следующие этапы:
• определяем по месту использования узла тот интерфейс передачи данных (или несколько), который уместен. Отбираем соответствующий базовый модуль (или несколько);
• по назначению узла определяем, какие датчики или исполнительные механизмы потребуется подключить к узлу, какие интерфейсы обеспечат подключение этой периферии. Отбираем соответствующие периферийные модули;
• определяем по месту использования узла необходимый блок питания и отбираем его;
• присоединяем все отобранные модули к соединительной шине;
• подключаем к интерфейсам периферийных модулей первичные датчики и исполнительные механизмы.
4. Преимущества предлагаемого подхода
Модульная архитектура сенсорного узла предоставляет следующие преимущества в разработке и использовании:
• возможность получения тысяч вариантов устройств — сенсорных узлов — за счет комбинации десятков типов модулей;
• возможность пополнения «библиотеки» модулей (разработки новых модулей) и расширения функциональности сенсорных узлов без внесения изменений в другие модули;
• возможность для потребителя самостоятельной сборки сенсорного узла из готовых модулей в зависимости от его задачи;
• возможность легкого сопряжения различных сегментов сенсорной сети с помощью комбинации различных базовых модулей в сенсорном узле;
• возможность изменения набора датчиков, контролируемых любым узлом, путем замены или дополнения периферийных модулей этого узла;
• возможность отработки схемотехнических и программных решений для последующей разработки монолитных устройств. Другие известные модульные наборы, например, Arduino [10],
OLinuXino [11] и др., на первый взгляд кажутся похожими на предлагаемое в данной статье решение. Однако есть существенные различия, которые перечислим ниже на примере Arduino.
В сравниваемых подходах различны способы деления системы на модули. В Arduino дополнительные модули (shields) могут не иметь микроконтроллера, а содержать только датчики или буферы, подключаемые к интерфейсам микроконтроллера на основной плате (АЦП, ЦАП, ШИМ и т.д.). В предлагаемом нами подходе каждый модуль содержит микроконтроллер, и взаимодействие между модулями осуществляется исключительно по шине I2C. В первую очередь это дает унификацию способа подключения модулей: всегда по I2C. При таком способе комплексирования в одном узле может быть много модулей — десятки. В задачу микроконтроллеров периферийных модулей входит обслуживание датчика (или исполнительного механизма), специфичное для каждого типа датчика. Из общих функций микроконтроллеров периферийных модулей можно выделить: обработку сигналов в жестком реальном времени, нормирующие преобразования и учет калибровочных поправок, индивидуальных для конкретного экземпляра модуля. В целом задача микроконтроллеров периферийных модулей состоит в приведении разнообразных датчиков и исполнительных механизмов к единому интерфейсу, с которым удобно работать базовому модулю.
Кроме того, различаются и подходы к программированию. Устройства Adruino программируются пользователем на компилируемых языках; изначально в устройствах нет встроенного программного обеспечения, кроме начального загрузчика. В предлагаемом нами подходе
устройства поставляются со встроенным программным обеспечением, а настройка на конкретное применение осуществляется при помощи небольших интерпретируемых программ — «проглетов», поступающих в сенсорный узел по каналам сенсорной сети. Модули не требуют предварительного программирования перед установкой в сенсорную сеть, все настройки делаются на управляющей станции сенсорной сети. В программном обеспечении реализуется тот же модульный принцип: каждый аппаратный модуль обслуживается отдельным проглетом, проглеты работают на сенсорном узле в многозадачном режиме.
Заключение
Предложен новый подход к организации сенсорной сети на основе устройств с модульной архитектурой. Сенсорный узел конструируется из нескольких модулей, различных по функциональности. В соответствии с выполняемыми функциями модули подразделяются на три типа:
• базовые модули, предоставляющие интерфейсы передачи данных в сенсорной сети и системную микропроцессорную часть для управления работой узла;
• периферийные модули, предоставляющие интерфейсы для подключения к узлу датчиков и исполнительных механизмов;
• блок электропитания.
Такая архитектура позволяет получить тысячи разных устройств путем комбинации нескольких десятков модулей. Потребитель может самостоятельно определить состав сенсорного узла в соответствии с его назначением и особенностями места подключения (возможностью использования различных способов электропитания и технологий передачи данных).
Реализация предложенного подхода позволит снизить стоимость сенсорных устройств и увеличит доступность технологии сенсорных сетей.
Список литературы
[1] Applications of wireless sensor networks, URL: http://wireless.ictp.it/ wp-content/uploads/2012/02/WSN-Applications.pdft197
[2] N1 Wireless Sensor Network (WSN) Application Areas, National Instruments, URL: http://www.ni.com/wsn/applications/1197
[3] A. Dharani, B. Manujupsarad, N. Shantaharam, M.N. Vijayalakshmi. «Sensor Networks — An Isight on Market Perspective and Real Time border Monitoring System», International Journal of Sensors and Sensor Networks, 3:3 (2015), с. 18-23. t197
[4] J. Heidemann, M. Stojanovic, M. Zorzi. «Uderwater sensor networks; application, advances and challenges», Phil. Trans. R. Soc. A, 370 (2012), с. 158-175, URL: http://millitsa.coe.neu.edu/sites/millitsa.coe. neu.edu/files/royal.pdf t197
[5] Wireless Sensor Networks for agriculture and healthcare applications, Centre for Development of Advanced Computing, URL: http: //cdac.in/index.aspx?id=uc_uc_wsnt197
[6] G. Vellidis. Wireless Sensor Network Applications in Agriculture, TransAtlantic Precision Agriculture Consortium, URL: http://agri-sensing. technion.ac.il/Lectures%20PDF/PA/Vellidis%20Wednesday.pdf t197
[7] K. Sha, W. Shi, O. Watkins. Using Wireless Sensor Networks for Fire Res^e applications: Requirements and Challenges, URL: http://www.cs.wayne.edu/~weisong/papers/sha06-firenet.pdf t197
[8] Беспроводной промышленный мониторинг. Интеллектуальные системы на базе сенсорных сетей, URL: http://www.ipmce.ru/img/ release/is_sensor.pdf t197
[9] B. Wagner, P. Gorski, F. Golatovski, R. Behnke, D. Timmermann, K. Thurow, «Location Based Wireless Sensor Services in Life Science Automation», Real-World Wireless Sensor Networks, 4th International Workshop, REALWSN 2010 (Colombo, Sri Lanka, December 16-17, 2010), Lecture Notes in Computer Science, т. 6511, Springer, Berlin-Heidelberg, с. 82-93, URL: http: //link.springer.com/chapter/10.1007y.2F978- 3- 642-17520- 6_81197
[10] Официальный сайт Arduino, URL: https://www.arduino.cc/1202
[11] Официальный сайт OLinuXino, URL: https://www.olimex.com/ Products/OLinuXino/open-source-hardware t202
Рекомендовал к публикации
д.ф.-м.н. С. В. Знаменский
Об авторах:
Сергей Михайлович Абрамов
Чл.-корр. РАН, д.ф.-м.н. Директор ИПС имени А. К. Айла-мазяна РАН, ректор УГП имени А. К. Айламазяна. Научный руководитель от России суперкомпьютерных программ «СКИФ» и «СКИФ-ГРИД» Союзного государства. Область интересов: cуперкомпьютерные, грид- и облачные технологии (аппаратура и программное обеспечение); компьютерные и сенсорные сети, IoT; метавычисления и их применение e-mail: [email protected]
Юрий Владимирович Шевчук
Зав. лабораторией телекоммуникаций Института программных систем имени А.К. Айламазяна РАН, к.т.н. Область интересов: системное программирование, цифровая электроника, сети компьютеров, сенсорные сети, мониторинг и управление территориально распределенными объектами
e-mail: [email protected]
Александр Юрьевич Пономарев
Ведущий инженер Института программных систем имени А. К. Айламазяна РАН. Область интересов: цифровая и аналоговая схемотехника, импульсные преобразователи напряжения
e-mail: [email protected]
Светлана Михайловна Пономарева
Ученый секретарь Института программных систем имени А.К. Айламазяна РАН, к.т.н. Область интересов: сенсорные сети, метавычисления
e-mail: [email protected]
Елена Васильевна Шевчук
Старший научный сотрудник Исследовательского центра мультипроцессорных систем Института программных систем имени А.К. Айламазяна РАН. Область интересов: распределенные вычисления, сенсорные сети, мониторинг и управление территориально распределенными объектами e-mail: [email protected]
Пример ссылки на эту публикацию:
С. М. Абрамов, Ю. В. Шевчук, А. Ю. Пономарев и др. «Сенсорная сеть с модульной архитектурой», Программные системы: теория и приложения, 2015, 6:4(27), с. 197-208.
URL: http://psta.psiras.ru/read/psta2015_4_197-208.pdf
Sergey Abramov, Yury Shevchuk, Aleksandr Ponomarev, Svetlana Ponomareva,
Elena Shevchuk. Sensor network with module architecture.
Abstract. The new approach to the sensor network architecture based on the devices with modular structure is described. This hardware-software platform can be seen as a constructor of a sort, which makes it easy to assemble the sensor nodes according to the needs of a user and the place of deployment. This approach is intended to significantly expand the field of application of the sensor networks. (In Russian).
Key Words and Phrases: sensor network, LoWPAN, Ethernet, WiFi, PLC, Bluetooth 4.0 LE,
ZigBee, Z-Wave.
References
[1] Applications of wireless sensor networks, URL: http://wireless.ictp.it/ wp-content/uploads/2012/02/WSN-Applications.pdi
[2] N1 Wireless Sensor Network (WSN) Application Areas, National Instruments, URL: http://www.ni.com/wsn/applications/
[3] A. Dharani, B. Manujupsarad, N. Shantaharam, M. N. Vijayalakshmi. "Sensor Networks — An Isight on Market Perspective and Real Time border Monitoring System", International Journal of Sensors and Sensor Networks, 3:3 (2015), pp. 18-23.
[4] J. Heidemann, M. Stojanovic, M. Zorzi. "Uderwater sensor networks; application, advances and challenges", Phil. Trans. R. Soc. A, 370 (2012), pp. 158-175, URL: http://millitsa.coe.neu.edu/sites/millitsa.coe.neu.edu/files/royal.pdi
[5] Wireless Sensor Networks for agriculture and healthcare applications, Centre for Development of Advanced Computing, URL: http://cdac.in/index.aspx?id=uc_ uc_wsn
[6] G. Vellidis. Wireless Sensor Network Applications in Agriculture, TransAtlantic Precision Agriculture Consortium, URL: http://agri-sensing.technion.ac.il/ Lectures°/,20PDF/PA/Vellidis°/,20Wednesday.pdi
[7] K. Sha, W. Shi, O. Watkins. Using Wireless Sensor Networks for Fire Ressue applications: Requirements and Challenges, URL: http://www.cs.wayne.edu/~weisong/papers/sha06-iirenet.pdi
[8] Wireless industrial monitoring. Intelligent systems based on sensor networks (in Russian), URL: http://www.ipmce.ru/img/release/is_sensor.pdi
[9] B. Wagner, P. Gorski, F. Golatovski, R. Behnke, D. Timmermann, K. Thurow, "Location Based Wireless Sensor Services in Life Science Automation", Real-World Wireless Sensor Networks, 4th International Workshop, REALWSN 2010 (Colombo, Sri Lanka, December 16-17, 2010), Lecture Notes in Computer Science, vol. 6511, Springer, Berlin-Heidelberg, pp. 82-93, URL: http://link.springer.com/chapter/10.1007%2F978-3-642-17520-6_8
[10] Arduino — Home, URL: https://www.arduino.cc/
[11] OLinuXino — Open Source Hardware Boards.
© S. M. Abramov, Y. V. Shevchuk, A. Y. Ponomarev, S. M. Ponomareva, E. V. Shevchuk, 2015 © Ailamazyan Program System Institute of RAS, 2015 © Program systems: Theory and Applications, 2015
Sample citation of this publication:
Sergey Abramov, Yury Shevchuk, Aleksandr Ponomarev, Svetlana Pono-mareva, Elena Shevchuk. "Sensor network with module architecture", Program systems: theory and applications, 2015, 6:4(27), pp. 197-208. (In Russian). URL: http://psta.psiras.ru/read/psta2015_4_197-208.pdf