Информатика и системы управления
УДК 004.415.2
С.Г. Самохвалова, А.Е. Демьяненко
РАЗРАБОТКА УСТРОЙСТВА ОТЛАДКИ ДЛЯ ОТОБРАЖЕНИЯ ТЕКУЩЕГО СОСТОЯНИЯ СИСТЕМЫ «КОНФИГУРИРУЕМЫЙ ДОМ»
В статье рассказывается о разработке устройства отладки системы «Конфигурируемый дом», отображающего состояние каждого подключенного к системе устройства, а также его тестирования.
Ключевые слова: «умный дом», отладка, микроконтроллер, NodeMCU, Blynk-сервер.
DEVELOPMENT OF THE DEBUG DEVICE FOR DISPLAYING THE CURRENT STATUS OF «CONFIGURABLE HOUSE» SYSTEM
The article tells about the development of a device for debugging the «Configurable home» system, displaying the status of each device connected to the system and testing it.
Key words: «smart home», debugging, microcontroller, NodeMCU, Blynk-server.
На сегодняшний день технология «умный дом» - это интеллектуальная система управления домом, обеспечивающая автоматическую и согласованную работу всех систем его жизнеобеспечения и безопасности. Эта система самостоятельно распознает изменения в помещении и реагирует на них соответствующим образом. Основная особенность такой технологии - объединение отдельных подсистем и устройств в единый комплекс, управляемый при помощи автоматики.
Разрабатываемая система («Конфигурируемый дом») обладает следующими свойствами: комфортность (должна иметь интуитивный, естественный интерфейс управления); доступная цена (должна быть недорогой, чтобы окупиться как можно скорее и получить широкое распространение);
масштабируемость (возможность добавления датчиков при добавлении нового оборудования);
конфигурируемость (возможность изменять поведение одного оборудования в зависимости от показаний датчиков) [1].
Так как основным свойством системы является масштабируемость, то в системе возможно наращивание огромного количества всевозможных датчиков и оборудования. Со временем это приводит к сложностям в дальнейшей установке, настройке, тестирования новых датчиков. Для разрешения трудностей целесообразно разработать устройство отладки системы. Оно должно выполнять следующие функции:
отображение списка микроконтроллеров, включенных в систему; отображение списка оборудования, подключенного к системе; отображение текущего состояния микроконтроллеров, портов входа - выхода; изменение логического сигнала на выходах микроконтроллеров;
считывание данных с модуля акселерометра и пульсометра, подключенных к устройству, и передача их в систему.
Поскольку данное устройство должно быть мобильным, беспроводным, оно должно получать электроэнергию от съемного аккумулятора. Обмен данными - через беспроводной канал связи.
Проанализировав информацию в Интернете, мы обнаружили подходяще типы беспроводной связи на основе четырех модулей (рис. 1):
nRF24L01+ - модуль NRF24L01 позволяет передавать данные через радиоканал частотой 2,4ГГц, скоростью 250-2000 Кбит/сек. Особенностями данного модуля являются его низкая цена, широкий диапазон каналов, дальность приема сигнала до 100м по прямой видимости, наличие «спящего» режима, незащищенное соединение «точка-точка» со вторым аналогичным модулем.
HC-06 - беспроводной модуль для приема/передачи данных в Arduino-проектах по протоколу Bluetooth. Радиус действия до 10 м, скорость передачи данных составляет 1200 - 1382400 бод, рекомендуемое напряжение 6В.
LoRaWAN module - беспроводной модуль предачи данных по радиоканалу частотой 868 МГц. Особенностями являются экстремально большая дальность передачи (свыше 20 км) за счет низкой скорости передачи данных (250-5470 бит/сек), высокая цена.
ESP8266-12E - беспроводной модуль передачи данных по WiFi (протокол 802.11 b/g/n) частотой 2,4ГГц. Имеет разные режимы работы (в том числе и низкого энергопотребления), высокую скорость передачи данных, низкую цену; WPA/WPA2 - шифрование [2, 3].
Из этих вариантов наиболее подходящим является модуль ESP8266-12E (далее - ESP): во-первых, он обладает низкой ценой, во-вторых, канал передачи данных шифруется, в-третьих, в отличие от остальных модулей ему не требуется приемное устройство, представляющее собой второй аналогичный модуль. ESP обменивается данными с системой «Конфигурируемый дом» напрямую, через WiFi-роутер, который уже использует система.
Рис. 1. Беспроводные модули nRF24L01+, HC-06, LoRaWAN module, ESP8266-12E.
Для реализации логики на стороне разрабатываемого устройства необходимо включить в него микроконтроллер или использовать вычислительные возможности самого ESP. Для простоты разработки устройства было решено использовать платформу разработки устройств NodeMCU (рис. 2).
Рис. 2. Платформа разработки устройств NodeMCU.
NodeMCU - это платформа на основе модуля ESP. Микропроцессор ESP обладает тактовой частотой 80 МГц (возможно повысить до 160 МГц), а также 4 Мб Flash-памяти. Размер платы NodeMCU - 6 * 3 см. Плата довольно компактная, это позволяет использовать ее в малогабаритных устройствах. Выводы NodeMCU расположены так, что ее без проблем можно установить в макетную плату (breadboard). На лицевой части платы - разъем Micro USB, через который загружаются про-граммы(скетчи).
Именно к NodeMCU подключаются все остальные датчики устройства отладки:
1) LCD-дисплей MT-16S2H - индикация двух строк по 16 символов;
2) энкодер (датчик угла) - инкрементный, с кнопкой;
3) CJMU-IODOF - модуль, состоящий из гироскопа, акселерометра, магнитометра, барометра/термометра;
4) MAX30100 - оптоэлектронный датчик измерения пульса.
На LCD-дисплей выводится текущая информация, полученная NodeMCU от системы или от датчиков CJMU-IODOF, MAX30100. Энкодером осуществляется навигация по программе NodeMCU (прокрутка списков устройств, выбор одного из них, установка логического уровня на выходе и т.п.). Дисплей подключен через шину передачи данных SPI, а CJMU-IODOF - через шину I2C.
Общая схема устройства представлена на рис. 3.
Рис. 3. Общая схема устройства отладки.
Собран прототип отладочного устройства, выявлены следующие моменты: 1) значительную часть электроэнергии потребляет LCD-дисплей;
2) LCD-дисплей занимает большую часть выходов NodeMCU (8 из 13 имеющихся цифровых выходов);
3) размер экрана позволяет выводить на него очень мало информации одновременно;
4) данные об устройствах хранятся только до перезагрузки устройства.
Первые три проблемы решаются заменой LCD-дисплея на OLED-дисплей, который имеет пониженное энергопотребление, соединяется с NodeMCU по шине 12С (2 из 13 цифровых выходов) и имеет достаточный размер для отображения информации (128 точек на 64 точек). Есть два решения четвертой проблемы - хранить данные в системе «Конфигурируемый дом» или на SD-карте, подключенной через модуль считывания SD-карт к NodeMCU.
В итоге разработка удобного рабочего прототипа отладочного устройства приведет к ускорению внедрения и отладки системы «Конфигурируемый дом». В дальнейшем планируется доработать устройство для использования конечными пользователями - заменить текущий дисплей на сенсорный, добавить новые датчики и создать защитный корпус.
1. Самохвалова, С.Г., Демьяненко, А.Е. Разработка программного обеспечения для системы «Конфигурируемый дом» // Современные проблемы науки: материалы Российской национальной научной конференции с международным участием (22 декабря 2017 г.). - Часть I. - Благовещенск: Амурский гос. ун-т, 2017. - С. 128-130.
2. Kolban, N. Kolban's Book on the ESP32 & ESP8266. - 2015. - 436 p.
3. Сайт компании «Амперка». - Режим доступа: http://amperka.ru/collection/wireless. - 16.01.2018.