- •Выпускная квалификационная работа на соискание академической степени бакалавра
- •Березники 2016
- •Задание на выполнение выпускной работы бакалавра
- •Аннотация
- •Введение. Предметная область
- •Функциональная спецификация
- •Спецификация качества
- •Функциональное моделирование предметной области
- •Информационное моделирование предметной области
- •Логическая модель
- •Физическая модель
- •Проектирование информационной системы
- •Выбор аппаратных средств реализации
- •Выбор программных средств реализации
- •Выбор модели жизненного цикла системы
- •Разработка информационной системы
- •Документация ис
- •Руководство пользования веб-интерфейсом
- •Заключение
- •Список литературы
Аннотация
В данной работе описана разработка системы централизованного мониторинга температур в удалённых помещениях.
Целью данной работы является обеспечение контроля температур в удалённых друг от друга помещениях и отправки ответственным за них пользователям уведомлений в случае несоответствия температур заданным условиям.
Для достижения цели были поставлены и решены следующие задачи:
Создано автономное устройство измерения температуры, способное передавать показания по беспроводному протоколу связи в сети интернет.
Создан веб-сервер и веб-интерфейс администратора.
Результатом выполнения выпускной квалификационной работы является информационная система мониторинга температур.
Работа содержит 20 рисунков, 10 таблиц, состоит из 39 страниц и ссылается на 8 источников.
Ключевые слова: мониторинг температур, Arduino, web-API, передача данных в GSM-сети, NodeJS, AngularJS.
Содержание
ВЫПУСКНАЯ КВАЛИФИКАЦИОННАЯ РАБОТА 1
ЗАДАНИЕ 2
Аннотация 4
Введение. Предметная область 6
1 Функциональная спецификация 13
2 Спецификация качества 14
3 Функциональное моделирование предметной области 15
4 Информационное моделирование предметной области 17
4.1 Логическая модель 17
4.2 Физическая модель 19
5 Проектирование информационной системы 24
5.1 Выбор аппаратных средств реализации 24
5.2 Выбор программных средств реализации 26
5.3 Выбор модели жизненного цикла системы 27
6 Разработка информационной системы 28
7 Документация ИС 35
7.1 Руководство пользования веб-интерфейсом 35
Заключение 39
Список литературы 40
Введение. Предметная область
Существует много производственных и не только процессов, которые требуют регулирования температуры в помещении, например в серверных, где соблюдается строгий температурный режим, в парниках и оранжереях, в любых отапливаемых помещениях с целью измерения эффективности системы отопления и её возможного регулирования. Также контроль температуры, как и других параметров (влажности, освещённости, запылённости и т.д.) необходим в продвинутых системах «умного дома», способных поддерживать оптимальные условия в помещениях.
Данная работа ставит перед собой цель не только обеспечить непрерывный контроль температуры в любом из вышеперечисленных вариантов использования, но и сделать средство контроля максимально удобным для пользователя, а также предусмотреть возможность расширения функционала получившейся программно-аппаратной системы в будущем. Система должна регулярно собирать данные о температуре в удалённых друг от друга помещениях и агрегировать их на веб-сервере, выводить в веб-интерфейсе, доступном администратору, и давать ему возможность регулировать поведение системы в зависимости от различных факторов (например, администратор должен иметь возможность настроить отправку SMS-сообщения человеку, ответственному за некоторое помещение в случае выхода температуры в нём за установленные границы).
Были выделены следующие задачи, которые необходимо выполнить для достижения поставленной цели:
Создание автономного устройства измерения температуры, способного передавать показания по беспроводному протоколу связи в сети интернет. Включает следующие подзадачи:
разработка и тестирование аппаратной конфигурации устройства
разработка программного обеспечения - прошивки устройства
Создание веб-сервера. Подзадачи:
определение протокола взаимодействия сервера и устройств
разработка back-end составляющей, которая принимает и обрабатывает данные от устройств, а также регулярно оповещает пользователей о текущей температуре и её критических изменениях
разработка front-end составляющей: веб-интерфейса администратора, позволяющего конфигурировать работу системы
Существует немало готовых решений каждой из задач в отдельности, но ни одно из них не удовлетворяет всем требованиям к системе. Остановимся подробнее на некоторых их них:
Системы умного дома, например система, основанная на протоколе Z-Wave [1].
Рис. 1 Датчик температуры Z-Wave
Рис. 2 Центр SMS-уведомления Z-Wave Home Center
Достоинства:
Может решить, хоть и не в полном объёме, обе поставленные задачи c помощью температурного датчика (Рис. 1) и специализированного программного обеспечения (Рис. 2)
Развитая экосистема, легко найти ответы на возникающие вопросы
Недостатки:
Закрытость системы. После внедрения будет возможно расширить систему только способами, уже предусмотренными компанией-производителем, ввести в будущем собственные актуаторы, датчики, схемы управления будет очень сложно
Относительно высокая цена
Использование Z-Wave может быть заманчивым с точки зрения затрат труда и времени на создание и запуск системы, но он не позволяет реализовать все требуемые функции (отправка данных с датчика по GPRS, веб-сервер, хранящий и обрабатывающий данные) уже сейчас, не говоря уже о возможном их расширении. Поэтому экономия на начальном этапе рискует отразиться большими проблемами в будущем.
Доступные для покупки датчики температуры с функцией уведомления по SMS.
Рис. 3 Готовый датчик температуры, произведённый в Китае
Достоинства:
Аппаратная конфигурация готова и проверена
Недостатки:
Не решают вторую задачу, создание подсистемы хранения и обработки температурных данных
В связи с этим всё равно требуют разработки веб-сервера и способа коммуникации с ним, с чем могут возникнуть сложности, так как датчик представляет из себя «чёрный ящик»
Добавление в систему новых функций затруднено
При разработке информационной системы будут учтены недостатки и достоинства, рассмотренных готовых программных продуктов.
Собственный веб-сервер можно, с оговорками, заменить системой создания онлайн-«рецептов» IFTTT [2] (Рис. 4). Этот веб-сервис позволяет выбрать из множества вариантов условие и действие, которое он выполнит в случае выполнения условия. Таким образом с его помощью можно обеспечить реакцию системы на изменения внешней среды.
Рис. 4 Примеры готовых рецептов на iftttt.com
Достоинства:
Можно реализовать отправку SMS-сообщений ответственным пользователям, в случае использования покупных датчиков из предыдущего решения
Позволяет серьёзно расширить функциональность системы в будущем
Недостатки:
Невозможно хранить данные
Низкая безопасность
Несмотря на большой набор вариантов срабатывания, все эти варианты заранее заданы в системе, добавление собственных невозможно
Ни одно из рассмотренных выше решений не позволяет в полной мере достичь цели создания информационной системы, и найти решение, которое обеспечит требуемую гибкость и открытость для модификации вряд ли представляется возможным, поэтому было решено разрабатывать как аппаратную, так и программную составляющую с нуля.
Архитектура первой версии системы представлена на Рис. 5. Автономно работающее устройство установлено в помещении (таких помещений может быть много) и регулярно отправляет с помощью GPRS данные об измеренной температуре на сервер. Также к помещению может быть привязан ответственный за температуру в нём человек – пользователь. Сервер хранит историю измерений, список пользователей и набор правил, согласно которым отправляет различные сообщения пользователям. Также он предоставляет все эти данные администратору через веб-интерфейс, там же администратор может добавить или редактировать пользователей, устройства и правила.
Рис. 5 Общая архитектура системы
В дальнейшем возможно расширение системы с помощью добавления средств управления исполнительными устройствами на устройство измерения температуры, например инфракрасного передатчика для управления кондиционерами, реле для воздействия на другие устройства, и т.д. Это позволит во многих случаях не беспокоить ответственного за помещение пользователя и производить управление полностью автоматически.
