CLIENT-SERVER ARCHITECTURE OF THE SMART HOME SYSTEM
Authors: Петрухнова Г.В. , Чёлник А.А. 
Published: September 2024

разработка программного обеспечения и использование микроконтроллеров для умного дома – это актуальная тенденция в области современных технологий. Рассматривается инновационный подход к взаимодействию различных устройств системы «Умный дом», основанный на клиент-серверной архитектуре. Данный подход обеспечивает интеграцию умного дома в единую сиcтему, позволяя устройствам согласовано взаимодействовать и функционировать. Ключевыми отличительными особенностями этого подхода являются гибкость и адаптивность программного обеспечения, позволяющего настраивать систему под различные режимы, условия и потребительские потребности. Проведен сравнительный анализ возможностей разработанной системы и возможностей умного дома с Алисой и системы i-Tone. В качестве ядра аппаратного обеспечения разрабатываемой системы использовался микроконтроллер Espressif ESP-32, имеющий обширный набор интерфейсов для подключения к широкому спектру внешних периферийных устройств и низкое энергопотребление. Архитектура системы включает в себя WEB-сервер на базе микрокомпьютера Orange PI Zero3, роутер и несколько устройств на базе ESP-32. Данная система имеет типичную клиент-серверную архитектуру, где клиент (смартфон, компьютер) общается с веб-сервером, а сервер, в свою очередь, взаимодействует с устройствами. В качестве протокола для передачи данных от устройств к серверу был выбран протокол Message Queueing Telemetry Transport (MQTT). Для управления сервисами в разработанной системе используется контейнеризация с помощью Docker и оркестрация контейнеров с помощью Docker Compose. В качестве брокера сообщений MQTT выбран Eclipse Mosquitto. Для обработки полученных данных был создан сервис на Java Spring Boot, который подписывается на все устройства умного дома, полученные сообщения сервер обрабатывает и сохраняет в базу данных. Для удобства пользователя добавлена визуализация полученных данных. Веб-интерфейс разработан с использованием библиотеки React
software development and the use of microcontrollers for a smart home is an actual trend in the field of modern technologies. The article presents an innovative approach to interaction of various devices for a smart home, based on a client-server architecture. This approach ensures the integration of a smart home into a single system, allowing devices to interact and function in a coordinated manner. The key distinguishing features of this approach are the flexibility and adaptability of the software, which allows you to customize the system to different modes, conditions and consumer needs. A comparative analysis of the capabilities of the developed system and the capabilities of the smart home with Alice and the i-Tone system is carried out. The Espressif ESP-32 microcontroller was used as the core of the hardware of the system under development, which has an extensive set of interfaces for connecting to a wide range of external peripherals and low power consumption. The system architecture includes a WEB server based on the Orange PI Zero 3 microcomputer, a router and several ESP-32-based devices. This system has a typical client-server architecture, where the client (smartphone, computer) communicates with a web server, and the server, in turn, interacts with devices. The Message Queuing Telemetry Transport (MQTT) protocol was chosen as the protocol for transmitting data from devices to the server. To manage services in the developed system, containerization using Docker and container orchestration using Docker Compose are used. Eclipse Mosquitto has been selected as the MQTT message broker. To process the received data, a Java Spring Boot service was created, which subscribes to all smart home devices, the server processes the received messages and saves them to the database. Visualization of the received data has been added for the convenience of the user. The web interface is designed using the React library