УДК 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 –включает:
- модуль часов реального времени с резервным источником питания;
- модуль GSM, работающий в сети стандарта GSM 900/1800;
- модуль приема и передачи данных в беспроводной сети Wi-Fi;
- набор аналоговых датчиков, регистрирующих состояние контролируемого помещения: датчик температуры, датчик освещенности, датчик влажности и др.;
- набор цифровых датчиков, обеспечивающих контроль возникновения экстренных ситуаций: датчики дыма и пламени, датчик Холла в качестве датчика открытия дверей и окон и др.;
- модуль последовательного интерфейса USB для обмена данными с ПЭВМ.
Устройство производит регистрацию информации о текущем состоянии окружающей среды, поступающую с аналоговых и цифровых датчиков (датчики температуры 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# для визуализации информации, накопленной в базе данных. Именно сочетание низкоуровневого программирования микроконтроллера и высокоуровневых средств, обеспечивающих обработку данных, позволило создать гибкую и удобную в использовании многомодульную систему мониторинга офисных помещений.
Список литературы
- ANSI E. I. A. EIA-632-1998 (R2003)-processes for engineering a system //Electronic Industries Alliance. – 1999.
- ARM A. R. M. Cortex-M4 Processor Technical Reference Manual //Revision: r0p1, ARM 100166_0001_00_en. – 2015.
- Azami H., Mohammadi K., Bozorgtabar B. An improved signal segmentation using moving average and Savitzky-Golay filter. – 2012.
- 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.
- Ramesh V. et al. Remote temperature monitoring and control using IoT //2017 International Conference on Computing Methodologies and Communication (ICCMC). – IEEE, 2017. – С. 1059-1063.
- Yao L. et al. High-speed USB Communication Module Based on STM32CubeMX //Microcontrollers & Embedded Systems. – 2017. – №. 9. – С. 13.
- Yiu J. The Definitive Guide to ARM® Cortex®-M3 and Cortex®-M4 Processors. – Newnes, 2013.