- •Выпускная квалификационная работа на соискание академической степени бакалавра
- •Березники 2016
- •Задание на выполнение выпускной работы бакалавра
- •Аннотация
- •Введение. Предметная область
- •Функциональная спецификация
- •Спецификация качества
- •Функциональное моделирование предметной области
- •Информационное моделирование предметной области
- •Логическая модель
- •Физическая модель
- •Проектирование информационной системы
- •Выбор аппаратных средств реализации
- •Выбор программных средств реализации
- •Выбор модели жизненного цикла системы
- •Разработка информационной системы
- •Документация ис
- •Руководство пользования веб-интерфейсом
- •Заключение
- •Список литературы
Проектирование информационной системы
Выбор аппаратных средств реализации
Аппаратная конфигурация устройства мониторинга температуры состоит из следующий комплектующих:
Arduino pro mini 5v (Рис. 10) – миниатюрная плата микроконтроллера, позволяющая реализовать алгоритм поведения устройства.
SIM800L (Рис. 11) – недорогой GSM-модуль, нужен для отправки данных на сервер с помощью GPRS.
DS18B20 (Рис. 12) – цифровой датчик температуры, недорогой и соответствует предъявленным к измерению температуры требованиям [7].
Стабилизатор напряжения LM317T – нужен для установления необходимого GSM-модулю напряжения питания.
Блок питания, обеспечивающий постоянное напряжение 5 вольт и силу тока 3 ампера. Максимальная сила тока, потребляемая GSM-модулем – 2 ампера, БП выбирался с запасом.
Все эти составляющие располагаются на спроектированной и изготовленной печатной плате, и защищаются от внешних воздействий корпусом. Для создания прототипа и тестирования прошивки комплектующие располагались на макетной плате, а вместо Arduino pro mini использовался Arduino Uno, имеющий аналогичный контроллер, но более лёгкий для перепрограммирования и подключения к макетной плате.
Рис. 10 Arduino Pro Mini
Рис. 11 GSM-модуль SIM800L
Рис. 12 Цифровой датчик температуры DS18B20
Выбор программных средств реализации
Для создания сервера, принимающего данные от модулей мониторинга, и рассылающего уведомления пользователям, выбрана связка среды выполнения NodeJS [3] и фреймворка Express [4]. Такой выбор обоснован тем, что архитектура сервера в NodeJS позволяет легко реализовать выполнение задач по расписанию, более уверенно чем Apache справляется с большим количеством одновременных запросов, и главное, является гораздо более безопасной без дополнительной настройки благодаря тому, что пользователь не сможет сделать ничего, что не предусмотрел создатель сервера.
Веб-интерфейс администратора также создан на базе NodeJS / Express. Дизайн интерфейса основан на CSS-фреймворке Bootstrap [5]. Чтобы страницы были динамическими, то есть регулярно и быстро обновляли данные без перезагрузки в браузере, используется AngularJS [6] – веб-фреймворк, следующий шаблону проектирования MVC и позволяющий встраивать в HTML-страницы динамические блоки, связанные с описанными источниками данных, обеспечивая синхронизацию содержимого страницы с содержимым соответствующих моделей на лету.
Как сервер, принимающий данные и рассылающий уведомления, так и веб-интерфейс пользуются общей базой данный MySQL – бесплатной популярной реализацией SQL базы данных.
Для описания шаблонов разметки веб-страниц используется шаблонизатор Jade, для стилей – препроцессор CSS Stylus. Оба решения позволяют облегчить стандартный синтаксис HTML/CSS, делают его более прозрачным и читаемым, и привносят некоторый дополнительный функционал, который делает разработку проще и удобнее.
Для разработки веб-составляющей была выбрана IDE PHPStorm, т.к. она обладает поддержкой всех использованных фреймворков и множеством других полезных функций, например встроенной системой контроля версий.
Вся веб-составляющая расположена на виртуальном выделенном сервере под управлением CentOS 6 – лёгкой и быстрой Unix-операционной системы.
Программное обеспечение, использованное для работы над устройством мониторинга температуры:
Fritzing – средство разработки и прототипирования электронных устройств с открытым исходным кодом. Использовалось для создания разводки печатной платы.
Arduino IDE – официальная среда разработки ПО для контроллеров Arduino, использовалась для создания алгоритма действия контроллера и его прошивки.
