ВВЕДЕНИЕ 7
1. ПРОЕКТИРОВАНИЕ ПРИЛОЖЕНИЯ 11
1.1. Анализ существующих решений 11
1.2. Выбор средств разработки 12
1.3. Постановка задачи 18
1.4. Выбор протокола передачи данных 19
2. РАЗРАБОТКА СИСТЕМЫ 21
2.1. Архитектура программной системы 21
2.2. Интерфейс 24
2.3. Реализованный функционал 25
2.3.1. Расписание 25
2.3.2. Таймер 27
2.3.3. Процесс 28
2.3.4. Сценарий 29
2.3.5. Модуль 30
2.4. Протокол связи с модулем 31
2.6. Библиотека GeekSpace Module 31
2.7. Руководство программиста 33
2.7.1. Общие сведения о программе 33
2.7.2. Характеристика системы 33
2.7.3. Настройка системы 33
2.7.4. Сообщения 33
2.7.5. Разработка модуля 37
2.8. Руководство пользователя 38
2.9. Тестирование программной системы 50
ЗАКЛЮЧЕНИЕ 59
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 60
В современном мире человек окружен различными электронными устройствами. Они помогают в работе, учёбе, в быту. Получили широкое применение в организации досуга. Человек стал доверять электронике управлять автомобилями, самолетами и даже собственной жизнью во время медицинских или спасательных операций. Электронные и роботизированные приборы стали обыденностью в наших домах.
Современные помещения оснащены инженерными системами, различающимися по своему составу и функциональному назначению компонентов. Среди них можно выделить технологические подсистемы, называемые системами жизнеобеспечения помещения:
• электроснабжение;
• вентиляция;
• кондиционирование;
• пароувлажнение;
• теплоснабжение;
• водоснабжение;
• канализация;
• противопожарные системы.
• охранные системы.
На волне доступности электронных цифровых устройств, стали появляться и системы “Умный дом”, которые можно условно разделить на 3 группы.
подобного рода систем используется сервер, который по средствам Ethernet связывается с исполнительными модулями. Данный способ организации имеет несколько недостатков:
• Необходимость укладки дополнительных коммуникаций - прокладываются информационные линии для каждого из модулей, плюс в местах, где не имеется постоянное электроснабжение (светильники) - дополнительная линия питания (если имеется необходимость оставить стандартный способ включения/выключения света). Если на момент постройки/ремонта помещения это не составляет труда, то после введения в эксплуатацию размещение подобных систем вызывает определённые трудности;
• Невозможность пользователю самостоятельно внедрить в существующую систему новые устройства и модули;
• Высокая стоимость подобных решений, так как требует проектирования на этапе внедрения, а также дорогостоящего коммерческого оборудования.
Однако имеются положительные стороны:
• Пользователь не касается аппаратной настройки устройств и модулей, он получает систему “под ключ”;
• Уровень стабильности подобных систем очень высокой.
2) Открытые решения
В сети интернет имеется множество DIY систем умных домов, основанных на open-source технологиях, типа OpenHAB, Node-RED, MajorDomo.
Минусы:
• Отсутствие собственных аппаратных модулей;
• Визуальная оболочка очень часто или не продумана или отсутствует как
таковая.
Плюсы:
• Гибкая настройка системы.
• Большое количество программных модулей для связи с коммерческими решениями;
• Постоянная доработка проектов;
• Возможность пользователю самостоятельно изменять конфигурации и обработку событий.
3) Домашние решения
Домашние решения обычно строятся на открытых платформах подобных Arduino. Часто сводятся к разрозненной системе с огромным количеством проводов, выполняющей ограниченное количество действий ввиду отсутствия тщательной проработки и достаточной опытности разработчика. Что в свою очередь приводит к:
1) Сложности в масштабировании и доработке;
2) Сложности интеграции готовых решений;
Однако автоматизированные системы актуальны не только в жилых помещениях, но и административных, и промышленных, где требуется автоматизация доступа в помещениях, автоматизация освещения, контроль над климатом и управление им и пр.
В данной работе описывается программная система, которая позволит автоматизировать управление системой вентилирования помещений центра молодёжного инновационного творчества Гимназии №1 - “Универс” (далее ЦМИТ). А так же автоматизировать ограничение доступа к помещениям с оборудованием, для лиц не имеющих права работать на нём.
На данный момент установленная система вентилирования в ЦМИТ поддерживает только ручное управление с возможностью включения/выключения и плавной регулировкой скорости воздушного потока.
Данное решение не позволяет своевременно включать и регулировать вентилирование, что значительно сказывается на уровне комфорта в помещении. Регулирование происходит исключительно по субъективным признакам и, зачастую, со значительным опозданием, когда дискомфорт становится очевидным.
Доступ к помещениям со специальным оборудованием осуществляется с использованием обычного механического замка с ключом. Это не позволяет организовать гибкое управление доступом большого количества пользователей.
При внедрении автоматизированной системы управления системами жизнеобеспечения планируется:
• Уменьшить время регулирования системой вентиляции, что позволит сохранять климат помещения на комфортном уровне;
• Организовать электронный доступ к помещениям со специальным оборудованием по паролю или электронному ключу;
• Осуществлять контроль и управление доступом к спец-помещениям.
В данной выпускной квалификационной работе были достигнуты следующие цели: создана кроссплатформенная программная система состоящая из интерфейсного программного обеспечения GeekSpace и библиотеки GeekSpace Module для описания и настройки автоматизации системами жизнеобеспечения помещения и их управления; успешно проведена апробация системы на тестовом стенде имитирующем аналогичные системы жизнеобеспечения; исходный код библиотеки и ПО были выложены в общий доступ, в сервисе для хостинга IT-проектов GitHub. Это позволит людям связанных с около компьютерными технологиями использовать данную программную систему.
Дальнейшей перспективой развития программной системы может служить разработка следующего функционала:
• Алгоритмы шифрования и дешифрования для безопасного обмена данными между ПО GeekSpace и её модулями;
• Слоты и сигналы с входящими и исходящими параметрами;
• Связь с базами данных и выполнение запросов к ним;
• Переменные объектов;
• Полноценный си-подобный скриптовой язык для описания взаимодействия между модулями;
• Виртуальная машина для выполнения скриптов;
• Создание библиотеки для мобильных приложений, которая позволит включить смартфон на различных операционных системах в состав системы GeekSpace в качестве модуля.
1. Welcome to the openHAB 2 Documentation! [Электронный ресурс]:
Документация к проекту openHAB. - Режим доступа:
http://docs.openhab.org/ - Загл. с экрана.
2. OpenHAB — стань программистом собственного жилища. [Электронный ресурс]: Хабрахабр - самое крупное в Рунете сообщество людей, занятых в индустрии высоких технологий. - Режим доступа: https://habrahabr.ru/post/232969/ - Загл. с экрана.
3. Программируем управление освещением по датчикам движения и освещения на Node-RED. [Электронный ресурс]: Geektimes - самое крупное в Рунете сообщество людей, занятых в индустрии высоких технологий. - Режим доступа: https://geektimes.ru/post/279814/ - Загл. с экрана.
4. Компьютерные сети. Принципы, технологии, протоколы. / Олифер В.Г., Олифер Н.А. - СПБ: Питер, 2016. - 992 с.
5. Сигналы и слоты в Qt [Электронный ресурс]: Хабрахабр - самое крупное в Рунете сообщество людей, занятых в индустрии высоких технологий. - Режим доступа: https://habrahabr.ru/post/50812/ - Загл. с экрана.
6. NirCmd - Windows command line tool [Электронный ресурс]: NirSoft web site provides a unique collection of small and useful freeware utilities, all of them developed by Nir Sofer. - Режим доступа: http://www.nirsoft.net/utils/nircmd.html - Загл. с экрана.
7. Auto Clicker [Электронный ресурс]: Dual Monitor Software, Auto Clicker, Mouse Cursor Automation Utilities and more - Режим доступа: https://www.murgee.com/auto-clicker/ - Загл. с экрана.