Диплом: Разработка программного обеспечения алгоритмического управления для систем автоматизации зданий

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
12
большого количества VPN сервисов, имеет модуль беспроводной связи Wi-
Fi.
Поддержка 3G/4G может обеспечить альтернативный доступ в
интернет при аварии в сети кабельного провайдера интернета, а так же может
служить основным подключением, в случае отсутствия другого доступа.
Поддержка сервиса динамических имен, типа DynDNS, No-IP и т.п,
будет полезна для организации доступа к системе, в случае отсутствия
статического публичного интернет адреса.
Поддержка Wi-Fi необходима, так как общение модулей ESP8266 с
ядром системы осуществляется с использованием беспроводной сети. Это
позволяет не проектировать проводную локальную сеть и не привязывает
модули ESP8266 к конкретной точке здания. При этом требования к скорости
передачи данных крайне скромны, так как общение внутри системы идет по
протоколу https или http с малым объемом передаваемых данных.
Характерный объем данных, передаваемый контроллером серверу в рамках
одного 2-5 kB
Общий вид маршрутизатора Zyxel Keenetic 4G III представлен на
рисунке 6.
Рисунок 6. Общий вид маршрутизатора Zyxel Keenetic 4G III
13
В качестве контроллера был выбран модуль ESP8266. Данный модуль
представляет собой микроконтроллер и интегрированным интерфейсом Wi-
Fi.
Штатное программное обеспечение модуля позволяет управлять им с
помощью AT-команд. Для более полного использования модуля существует
ряд прошивок со встроенными интерпретаторами различных языков
программирования.
Существует несколько модификаций данного модуля. Мной
использован модуль ESP8266 esp-12Е.
Так же, фирма изготовитель, Espressif весной 2016 года начала выпуск
модуля ESP8285, который отличается наличием 1 мегабайта флэш-памяти. А
осенью 2015 года было представлено развитие линейки – ESP32. ESP32
отличает больший объем ОЗУ (521К), увеличено количество портов, а так же
включена поддержка Bluetooth. На момент написания работы указанные
выше модули не были доступны для покупки. Модуль ESP8266 представлен
на рисунке 7.
А. Б.
Рисунок 7. А. Модуль ESP8266 esp-01. Б. Модуль ESP8266 esp-07.
Модификация ESP8266 ESP-12E. Это один из старших модулей в
линейке. Отличительной особенность является наличие аналогового входа на
3,3 вольта. Аналоговый вход будет полезен при необходимости
подключения, например, датчика тока или напряжения, для организации
контроля за потреблением электроэнергии, наличия напряжения в сети и его
численной составляющей, датчиков различных газов (CO, CO2,
углеводородов) .
14
В проекте используется модуль ESP8266 ESP-12E, в обвязке NodeMCU.
Модуль представлен на рисунке 8
Рисунок 8 Модуль ESP8266 ESP-12 NodeMCU
Модуль ESP8266-12Е в исполнении NodeMCU имеет на борту
встроенный стабилизатор напряжения на базе чипа LM1117, контроллер
USB-TTL. Встроенный стабилизатор позволяет подавать входное
напряжение от 5 до 30 вольт. При этом на плате выведен контакт с питанием
3,3 вольта, что довольно удобно при подключении концевых выключателей,
импульсных счетчиков и пр.
Для удобства использования модуля ESP8266 было принято решение
смонтировать его со всей обвязкой, необходимой для стабильной работы в
корпусе, рассчитанном на установку на стандартную DIN рейку.
Корпус изготавливается электротехнической компанией Меандр, город
Санкт-Петербург. Помимо самого корпуса выпускается универсальный набор
для макетирования радиоэлектронных компонентов. Рисунок 9.
15
Рисунок 9. Набор «Кит-082»
Размеры корпуса позволяют уместить в него стабилизатор напряжения,
модуль ESP8266-12Е и надежно развести выводы контроллера на штатные
клеммы.
1.2 Обзор архитектуры модуля ESP8266
ESP8266 создан для использования в умных розетках, mesh-сетях, IP-
камерах, беспроводных сенсорах, носимой электронике.
Предусмотрено два варианта использования модуля:
1. Мост UART-WIFI. При этом модуль может быть подключен к
любому существующему решению, построенному на
микроконтроллере, и может управляться AT-командами.
2. Может выступать в качестве самостоятельного контроллера. Этот
вариант использование модуля предусматривает написание
собственной прошивки для управления чипом.
Именно вторым вариантом использования модуля я и решил
воспользоваться, поскольку он позволяет создавать небольшие по размеру и
16
экономичные устройства. Сам модуль имеет небольшие габариты и легко
монтируется практически в любой корпус.
Для начала хотелось рассмотреть устройство самого чипа. Рисунок 10.
Рисунок 10. Схема компоновки чипа ESP8266
Производителю удалось уместить в один чип все, что было
необходимо. Это привело к тому, что итоговая внешняя обвязка модуля
сводится к нескольким элементам, что, в свою очередь, позволяет сильно
уменьшить габариты модуля.
На борту модуль имеет:
802.11 b/g/n protocol
Wi-Fi Direct (P2P), soft-AP
Интегрированный стэк протокола TCP/IP
Интегрированный TR switch, balun, LNA
Интегрированный PLL, управление питанием
Выходная мощность в режиме 802.11b +20.5dBm
Возможность выноса антенны
Ток утечки < 10uA
SDIO 2.0, SPI, UART
STBC, 1x1 MIMO, 2x1 MIMO
A-MPDU & A-MSDU aggregation & 0.4μs guard interval
Время пробуждения и отправки пакетов < 22ms
Потребляемая мощность в режиме ожидания < 1.0mW (DTIM3)
17
Особое внимание разработчики уделили крайне малому
энергопотреблению. Благодаря этому у них получилось создать чип,
способный автономно работать от небольшой батареи продолжительное
время.
Модуль ES8266 представляет собой 32-х битный процессор с частотой
80 MHz. На борту установлен Wi-Fi контроллер IEEE 802.11 b/g/n,
поддерживающий WEB и WPA2 шифрование. Всего на контроллере 14
цифровых портов ввода/вывода, из них в проекте используется 10, остальные
являются служебными, и их использование может приводить к нештатным
ситуациям при работе модуля.
Микроконтроллер не имеет на кристалле пользовательской
энергонезависимой памяти, поэтому исполнение программы ведется из
внешней SPI ПЗУ путем динамической подгрузки требуемых участков
программы. Так же контроллер поддерживает до 16 мегабайт внешней
памяти.
Порты ввода/вывода на микроконтроллере именуются
GPIO0,GPIO2,GPIO4 и т.п. При этом GPIO0, GPIO15 являются служебными и
используются для указания контроллеру источника исполняемой
информации.
Для работы с прошивками существует большое количество сред
разработки. Компания Espressif свободно распространяет свой комплект
разработчика, в который входит компилятор GCC, различные библиотеки,
загрузочные утилиты.
Проект Arduino IDE так же поддерживает работу с модулями ESP8266.
Данная среда разработки написана на языке программирования java,
использует стандартный язык программирования C++ для написания кода.
Основные функции, возложенные на модули ESP8266:
1. Опрос внешних датчиков, подключенных к контроллеру.
2. Первичная обработка полученных данных
18
3. Отправка информации о состоянии датчиков и данных с них.
Отправка данных происходит в ответ на запрос от сервера.
4. Контроль доступности ядра системы (контроль частоты запросов
данных).
5. Изменение состояния исполнительных устройств по запросу от
ядра системы или по аварийной ситуации.
В создаваемой системе каждый из модулей имеет собственный
функционал по контролю за работой в системе. В созданной распределенной
сети, состоящей из большого количества модулей, каждый из них способен
работать как самостоятельно, так и в составе системы.
1.3 Обзор среды разработки Arduino IDE
Среда разработки Arduino IDE является свободно распространяемым
программным обеспечением. Сам движок среды разработки написан на языке
программирования Java. Arduino IDE имеет с своем арсенале удобную среду
для написания кода программы, а так же имитацию консольного
подключения к программному Serial интерфейсу, что, в свою очередь,
является серьезным плюсом при отладке программ.
Данную среду разработки выгодно отличает от аналогичной среды,
предоставляемой компанией разработчиком модуля ESP8266 Espressif,
открытый исходный код подключаемых библиотек и более широкое
распространение продукта, что, в свою очередь, сильно расширяет
сообщество, разрабатывающее всевозможные библиотеки.
Arduino IDE обладает широким инструментарием для отладки
программ и необходимым функционалом для прошивки модулей. Среда
разработки поддерживает широкую линейку модулей различных
производителей.
19
Рисунок 11. Рабочая область среды разработки Arduino IDE
1.4 Обзор платформы Raspberry Pi B+
Для построения ядра системы, работы с БД и размещения
пользовательского интерфейса был выбран компактный одноплатный
компьютер Raspberry PI.
Raspberry Piкомпактный, одноплатный компьютер, созданный
компанией Raspberry Pi Foundation. Выпускается несколько вариантов
данного компьютера. Использованный мной в проекте оснащается
процессором с 4 ядрами Cortex-A7 с тактовой частотой 1,2ГГц и оперативной
памятью размером 1ГБ. Так же на борту имеется разъем для подключения
microSD карты, на которую можно установить операционную систему, 4 USB
порта, аудио и HDMI выходы.
Спецификация данного компьютера:
SoC: Broadcom BCM2837
CPU: 4× ARM Cortex-A53, 1.2GHz
GPU: Broadcom VideoCore IV
RAM: 1GB LPDDR2 (900 MHz)
Сеть: 10/100 Ethernet, 2.4GHz 802.11n wireless
Bluetooth: Bluetooth 4.1 Classic, Bluetooth Low Energy
20
Накопитель: microSD
GPIO: 40-pin
Порты: HDMI, 3.5mm аудио-видео, 4× USB 2.0, Ethernet, CSI, DSI
Использование платформы Raspberry Pi было обусловлено
следующими факторами:
1. Низкая стоимость компьютера
2. Компактные размеры
3. Возможность установки операционной системы Linux
4. Малое энергопотребление
5. Крайне малое тепловыделение, что позволяет использовать
данный компьютер без использования активного охлаждения с
использованием вентиляторов. Это снижает до нуля шумность и исключает
потенциально уязвимый узел (кулер) из системы.
Основные задачи, возложенные на операционную систему,
установленную на данном компьютере:
1. Работа демонов, обеспечивающих взаимодействие
исполнительных модулей с ядром системы.
2. Поддержка работы базы данных.
3. Поддержка сайта пользовательского интерфейса системы.
Так же к данной платформе штатно можно подключить камеру и LCD
дисплей. В качестве дополнительных опций можно установить LCD экран с
функцией touch screen, тем самым построив первый пользовательский
терминал для управления системой. Общий вид компьютера Raspberry Pi
представлен на рисунке 12.
21
Рисунок 12. Raspberry Pi B+
На базе Raspberry Pi планируется развернуть сервер ОС Linux. В
операционной системе развернуть web-сервер Apache, установить поддержку
языка программирования PHP и установить сервер базы данных MySQL.
В последнее время появилось большое количество клонов данного
компьютера. В связи с этим конечную стоимость системы можно еще
немного сократить.

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)
Value-based education: ценности в системе образования и способы их реализации на уроке английского языка. Опыт Европейских стран