Введение 3
1 Анализ задания на выпускную квалификационную работу 4
1.1 Анализ существующих аналогов 4
1.1.1 Умный дом с Алисой 5
1.1.2 Xiaomi MiHome 5
1.1.3 Умный дом Sber 6
1.2 Выбор инструментов 7
1.2.1 Выбор платформы 7
1.2.2 Выбор языка программирования 9
1.2.3 Выбор библиотек для разработки 10
1.3 Диаграмма прецедентов 11
1.4 Выводы по главе 14
2 Проектирование и реализация приложения 14
2.1 Алгоритм работы MQTT протокола 15
2.2 Архитектура веб-приложения 16
2.3 Модель базы данных 17
2.4 Описание классов 20
2.5 Графический интерфейс 23
3 Инструкции 26
3.1 Инструкция пользователя 26
3.2 Инструкция администратора 33
3.3 Инструкция разработчика 37
Заключение 41
Список использованных источников 42
ПРИЛОЖЕНИЕ А (обязательное) Диаграмма классов клиентской части 45
Все больше людей становятся пользователями умного дома в различных его проявлениях. Сегодня на рынке мы можем найти большое количество модулей умного дома от разных производителей, работающих с помощью разных протоколов. Появляется потребность в платформе для управления умным домом, работающем на едином протоколе с устройствами от разных производителей.
Цель работы: разработать веб-приложение для управления умным домом.
Клиентская часть приложения должна быть кроссплатформенной для настольных систем (ОС Windows, Linux, MacOS). Серверная часть приложения должна работать на ОС Linux. Приложение должно иметь открытый исходный код и обладать следующими возможностями:
- предоставлять графический интерфейс для управления умными устройствами;
- поддержка многопользовательской работы;
- группировка и поиск по списку устройств;
- назначение пользователям прав доступа;
- сбор и отображение статистических данных по работе отдельного устройства.
Для достижения цели в работе решаются следующие задачи:
- анализ задания на выпускную квалификационную работу;
- проектирование;
- реализация приложения.
В результате работы было спроектировано и реализовано веб-приложение для управления умным домом.
Был разработан графический интерфейс программы, структура приложения. В приложении реализована возможность подключения к умным устройствам через протокол MQTT и обмена сообщения с ними, с помощью чего есть возможность управлять устройствами и получать нужные данные от них. Имеется возможность настроить автоматическое изменения состояния устройств в заданное время. Предусмотрена многопользовательская работа с устройствами.
Клиентское приложение работает на ОС Windows, Linux, MacOS. Серверное - на ОС Linux.
Последняя версия приложения размещена в git-репозитории .