УДК 004.383.8, 004.455.2

Система мониторинга офисных помещений на платформе STM32

Лебедев Александр Викторович – магистрант кафедры Компьютерных систем и сетей Московского государственного технического университета им. Н.Э. Баумана.

Аннотация: Объектом исследования данной работы является многомодульная система мониторинга офисных помещений, обеспечивающая регистрацию информации о текущем состоянии окружающей среды, поступающей с набора аналоговых и цифровых датчиков, для последующей отправки на удаленный сервер с целью дальнейшей обработки. Рассмотрены принципы построения систем мониторинга, произведено описание требований, предъявляемых к системам данного типа. Выбрана элементная база аппаратной реализации системы, предложена архитектура построения, а также выполнено описание основных алгоритмов работы.

Ключевые слова: Микроконтроллерная система, мониторинг, аналоговый датчик, цифровой датчик, STM32, ARM.

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

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

Для реализации системы все используемое оборудование должно быть совместимо между собой. С этой целью был создан Альянс электронной промышленности для разработки единого стандарта электроники [1]. Такое решение позволило различным производителями разрабатывать универсальное оборудование, используемое в системах автоматизации.

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

Разработанная система мониторинга представлена тремя уровнями реализации: уровень датчика, уровень группы датчиков и системный уровень. В предложенном техническом решении происходит переход от обработки информации одиночными датчиками к групповой обработке. Уровень группы датчиков включает микроконтроллер STM32F407, выполняющий обработку информации в соответствии с протоколами обмена по интерфейсам RS-485, 4-20мА, SPI, UART.

Появление микроконтроллеров с ядром ARM сделало возможным переход с 8-разрядных микроконтроллеров на 32-разрядные встраиваемые [2]. Постоянно повышающая функциональная насыщенность встраиваемых систем обуславливает рост требований к мощности используемых микроконтроллеров и их программам.

Архитектура ARM отражает философию компании, суть которой – максимальное удовлетворение требованиям встраиваемых систем. Для этого разработчики не стали ограничиваться формальными рамками RISC архитектуры, и в одном продукте реализовали идеи, ранее считавшиеся несовместимыми [4].

К настоящему времени разработано восемь основных семейств ядер: ARM7™, ARM9™, ARM9E™, ARM10E™, ARM11™, Cortex, SecureCore™ и OptimoDE Data Engines. Помимо перечисленных типов, существуют также специфические ядра, разработанные совместно с компанией Intel: XScale™ и StrongARM®.

Система мониторинга помещений относится к встраиваемым системам реального времени, поэтому главным требованием, предъявляемым к микропроцессорам, является быстрая и детерминированная реакция на внешние события. Для решения данной задачи допустимо снижение производительности вычислительного узла. Характеристики основных параметров процессоров, применяемых для систем реального времени, приведены в таблицах 1-2.

Таблица 1. Основные характеристики процессоров ARM.

Семейство

Название ядра/процессора

Размер кэш-памяти

Блок управления памятью, MMU

Thumb

DSP

Jazelle

Cortex

ARM Cortex M3

MPU (опционально)

+

ARM Cortex M4

64 Кб

MPU

+

+

ARM Cortex R4F

64 Кб

MPU

+

+

ARM10E™

ARM1026EJS

Переменный

MMU, MPU

+

+

+

ARM11™

ARM1156T2(F)S

Переменный

MPU

+

+

ARM7™

ARM7EJS

+

ARM7™

ARM7TDMI

+

ARM7TDMIS

+

ARM9E™

ARM946ES

Переменный

MPU

+

ARM966ES

+

ARM968ES

DMA

+

+

ARM9™

ARM996HS

MPU (опционально)

+

+

Таблица 2. Основные характеристики производительности и энергопотребления.

Семейство

Название ядра/процессора

Технология, мкм

Энергопотребление, мВт/МГц

Площадь, мм2

Частота, МГц

ARM7

ARM7TDMI

0,18

0,25

0,53

100

ARM7TDMIS

0,18

0,28

0,62

80...110

ARM7EJS

0,18

0,31

1,25

80...110

ARM720T

0,18

0,65

4,7

75

ARM7TDMI

0,13

0,05

0,26

116

ARM7TDMIS

0,13

0,11

0,32

100...133

ARM7EJS

0,13

0,14

0,65

100...133

ARM720T

0,13

0,2

2,4

100

Cortex

ARM Cortex M4

0,13

0,28

0,53

168

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

Таким образом, оптимальным процессором для использования в качестве основного элемента системы мониторинга помещений является процессор ARM Cortex M4 семейства Cortex, а наиболее распространенным представителем данного семейства является микроконтроллер STM32F407.

Разработанная и апробированная аппаратная реализация системы мониторинга офисных помещений помимо главного компонента – микроконтроллера STM32F407 –включает:

Устройство производит регистрацию информации о текущем состоянии окружающей среды, поступающую с аналоговых и цифровых датчиков (датчики температуры TMP36G [5] и DS18B20, датчик освещенности GL5528, датчик влажности воздуха SYH-2RS, датчик магнитного поля SS-49E, датчик угарного газа MQ-7, датчик Холла TLE4905 и др.) для последующей отправки на удаленной сервер с целью дальнейшей обработки. Опрос датчиков осуществляется каждые 5 секунд в заданные пользователем интервалы времени, для чего предоставляется возможность установки текущего времени и загрузки программы мониторинга в энергонезависимую FLASH-память микроконтроллера. В случае отключения электропитания системы мониторинга часы реального времени продолжат работу от резервного источника питания.

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

В процессе функционирования системы мониторинга помещений микроконтроллер в течение заданных интервалов времени формирует пакет данных, содержащий информацию о состоянии системы и производит его отправку на удаленный сервер посредством радиоканала Wi-Fi диапазона 2.4 ГГц и глобальной сети Интернет в соответствии со схемой, представленной на рисунке 1.

Рисунок 1. Схема взаимодействия с удаленным сервером.

При запуске системы выполняется инициализация основных компонентов микроконтроллера: системы тактирования RCC, портов ввода/вывода GPIO, интерфейсов USART3, USART6, SPI1 [6], таймеров общего назначения, контроллера прямого доступа к памяти и аналого-цифрового преобразователя, затем производится инициализация внешних компонентов разрабатываемой системы – модулей GSM и Wi-Fi (рисунок 2). Инициализация часов реального времени на данном этапе не требуется, так как сохранение их конфигурации в энергонезависимой памяти модуля обеспечивается с использованием резервного источника питания – аккумуляторной батареи.

В основном цикле программы производится получение текущего времени по интерфейсу SPI от модуля часов реального времени, а также проверка состояния «аварийных» датчиков.

Рисунок 2. Алгоритм работы системы мониторинга.

Используемый таймер TIM4 задает период циклического опроса аналоговых датчиков. В данном случае таймер подключен к шине APB1, работающей на частоте 48 МГц. Для отсчета временного интервала длительностью 5 секунд необходима установка следующих параметров: значение предделителя – 48000, период счета – 5000.

Таким образом, в соответствии с формулой [1] каждые 5 секунд будет возникать прерывание по переполнению таймера TIM4, в обработчике которого описаны функции регистрации информации с аналоговых датчиков и их дальнейшей обработки.

Микроконтроллеры семейства STM32 реализуют два варианта чтения данных с аналоговых выводов, подключенных к аналого-цифровому преобразователю ADC1:

Использование первого метода опроса состоит в том, что АЦП по очереди опрашивает некоторый заранее заданный список каналов, сохраняя результат опроса в единственном специальном регистре. Для получения актуального результата измерения с датчика необходимо предусмотреть своевременно копирование полученного значения из специального регистра в память SRAM микроконтроллера [7].

Иначе построен механизм опроса с инжектированными каналами. В случае использования этого метода результат измерения каждого канала АЦП сохраняется в отдельном регистре. Однако следует учитывать, что в состав микроконтроллера STM32F407VGT6 входит 4 таких специализированных регистра, в то время как для функционирования системы мониторинга требуется одновременная работа 8 каналов АЦП.

Таким образом, при использовании регулярных каналов необходимо своевременное сохранение результатов преобразования данных с модуля АЦП в область памяти SRAM для получения актуальной информации. Однако в микроконтроллерах семейства STM32 имеется механизм прямого доступа к памяти, который автоматизирует данную задачу, сохраняя полученные с модуля АЦП данные в ячейках памяти SRAM, а по прерыванию DMA извлекает сохраненные данные из указанного буфера.

Для увеличения достоверности данных о состоянии окружающей среды, полученных после обработки аналого-цифровым преобразователем, необходимо использование фильтра скользящего среднего [3], являющегося разновидностью математического усреднения по заданному количеству точек. Формула математического среднего имеет вид:

[2]

Из формулы [2] следует, что получен лишь один отсчет выходного значения при N входных. Этот недостаток можно устранить, реализовав скользящее среднее.

[3]

В соответствии с формулой [3] на каждой итерации новый отсчет заменяет самое старое значение в массиве, участвующее в суммировании, после чего происходит вычисление среднего по всем элементам массива.

Для отправки полученных с АЦП значений отслеживаемых параметров окружающей среды на удаленный сервер необходимо выполнение следующей последовательности операций:

- передача команды перезапуска модуля приема и передачи данных «AT+RST»;

- передача команды «AT+CWMODE=1» установки первого режима работы STA, в котором модуль подключается к сети, созданной маршрутизатором пользователя;

- передача команды «AT+SWJAP = SSID, PASSWORD», где SSID соответствует имени пользовательской сети;

- передача GET-запроса удаленному серверу, параметры которого соответствуют данным, содержащим информацию о текущем состоянии системы.

Создание стандарта сети Интернет Web 2.0 позволило пользователям не только принимать информацию, но и активно взаимодействовать с Интернет-сервисами. Для организации подобного взаимодействия необходимо предусмотреть передачу запросов от пользователя (в данном случае, Wi-Fi-модуля системы мониторинга) на удаленный сервер с использованием GET-запросов.

Набор передаваемых данных на сервер начинается с символа «?» и разделяется символом «&». Передаваемые данные представляют собой пары [параметр – значение]. Следует обратить внимание, что браузеры устаревших версий могут некорректно воспринимать кириллицу и передача русских символов будет выполняться некорректно. Поэтому в GET-запросах необходимо передавать исключительно служебную информацию в виде чисел и слов, состоящих из латинских символов.

Пример экранной формы, содержащей графическое отображение переданных в течение последних 6 часов значений температуры помещения, представлен на рисунке 3.

Рисунок 3. График изменения температуры помещения.

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

В качестве аппаратной реализации компонентов системы был использован микроконтроллер STM32F407 с набором аналоговых и цифровых датчиков, а также модули Wi-Fi и GSM, часы реального времени. Серверные компоненты системы, осуществляющие накопление полученных от устройства данных, представляют собой приложение ASP.NET с использованием фреймворков Entity Framework (модель ORM) и Identity, а также встроенных библиотек C# для визуализации информации, накопленной в базе данных. Именно сочетание низкоуровневого программирования микроконтроллера и высокоуровневых средств, обеспечивающих обработку данных, позволило создать гибкую и удобную в использовании многомодульную систему мониторинга офисных помещений.

Список литературы

  1. ANSI E. I. A. EIA-632-1998 (R2003)-processes for engineering a system //Electronic Industries Alliance. – 1999.
  2. ARM A. R. M. Cortex-M4 Processor Technical Reference Manual //Revision: r0p1, ARM 100166_0001_00_en. – 2015.
  3. Azami H., Mohammadi K., Bozorgtabar B. An improved signal segmentation using moving average and Savitzky-Golay filter. – 2012.
  4. Berger L., Sjölund M., Thiele B. Code generation for STM32F4 boards with Modelica device drivers //Proceedings of the 8th International Workshop on Equation-Based Object-Oriented Modeling Languages and Tools. – 2017. – С. 77-80.
  5. Ramesh V. et al. Remote temperature monitoring and control using IoT //2017 International Conference on Computing Methodologies and Communication (ICCMC). – IEEE, 2017. – С. 1059-1063.
  6. Yao L. et al. High-speed USB Communication Module Based on STM32CubeMX //Microcontrollers & Embedded Systems. – 2017. – №. 9. – С. 13.
  7. Yiu J. The Definitive Guide to ARM® Cortex®-M3 and Cortex®-M4 Processors. – Newnes, 2013.