Файл: 1 Анализ технического задания 2 Синтез схемы электрической структурной.docx

ВУЗ: Не указан

Категория: Реферат

Дисциплина: Не указана

Добавлен: 16.03.2024

Просмотров: 20

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.


PINE A64 – основой служит четырехъядерный 64–х битный процессор ARM A53 с частотой работы ядра 1,2 ГГц. GPU–MALI – 400 MP2 (2 ядра, 500 МГц). Производительность графической подсистемы чуть выше, чем у оригинального X–Box. К этому мини–ПК можно добавлять различное аппаратное обеспечение. Так, у платы есть 2 USB порта, HDMI–выход, 3,5–мм аудиовыход, Ethernet, две шины расширения. У более продвинутой модели PINE A64+ есть три дополнительных порта, которые позволяют добавить такую периферию, как модуль камеры, тачскрин, LCD.

DOCKER – это инструмент, который позволяет разработчикам, системными администраторам и другим специалистам деплоить их приложения в песочнице (которые называются контейнерами), для запуска на целевой операционной системе, например, Linux. Ключевое преимущество Докера в том, что он позволяет пользователям упаковать приложение со всеми его зависимостями в стандартизированный модуль для разработки. В отличие от виртуальных машин, контейнеры не создают такой дополнительной нагрузки, поэтому с ними можно использовать систему и ресурсы более эффективно.

В результате всего вышеперечисленного, для решения задач курсового проектирования, была выбрана Windows.

Установка Home Assistant на Linux не занимает много времени.

Для работы серверной части системы Home Assistant необходимо наличие Java на микрокомпьютере. После того, как скачали Необоходимо установить. Далее необходимо создать системную среду «JAVA_HOME». Для этого надо перейти в «панель управление», далее «система и безопасность», затем «система», «Расширенные Системные настройки», «Переменные среды», «Системные среды». Затем пишем название среды и путь в файлу, как указано на рисунке 6.

Необходимо открыть файл network-configи и прописать туда параметры Wi-Fi. Должно получится:

version: 2

ethernets:

eth0:

dhcp4: true

optional: true

Wi-Fis:

wlan0:

dhcp4: true

optional: true

access-points:

Название сети:

password: "сюда необходимо написать пароль"

При первой загрузке Raspberry попытается присоединится к Wi-Fi. Необходимо просто перезагрузите «малинку» sudo reboot -h now и все заработает.

Дефолтный логин ubuntu пароль ubuntu. При первом запуске пароль придется сменить. Необходимо обновиться.

sudo apt update

sudo apt upgrade

sudo reboot -h now

Так же рекомендую воспользоваться сервисом duckdns.org, чтобы получить доступ к системе удаленно. После этого требуется настроить обновление информации о текущем ip адресе. Если использовать Argon ONE M.2, необходимо настроить power button & fan control sudo curl https://download.argon40.com/argon1.sh | bash.


Необходимо пробросить порты 22 – на консоль Ubuntu, 8123 на Home Assistant

Шаг 1. Необходимо установить зависимости

Необходимо установить jq. sudo apt install jq.

Необходимо установить Docker по инструкции с официального сайта.

sudo apt update

sudo apt install ca-certificates curl gnupg lsb-release

sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt update

sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin

Разработчики требуют, чтобы в системе было установлено Docker, Systemd, NetworkManager, AppArmor. Systemd и AppArmor уже установлены в системе – по ним дополнительных действий не требуется.

Теперь возьмемся за NetworkManager. Для начала необходимо установить его командой sudo apt install network-manager. Добавляем в автозагрузку sudo systemctl enable NetworkManager. Чтобы переключится на него идем в /etc/netplanи редактируем файл конфигурации командой sudo vi /etc/netplan/50-cloud-init.yaml. Примечание: у меня это 50-cloud-init.yaml. Добавляем строку renderer: NetworkManager на уровень ниже (с одним отступом) после строки network:. Обращаем внимание на отступы. В yaml отступы решают. Делаем sudo netplan generateиsudo netplan apply, перезагружаемся. Останавливаем systemd-networkd - он теперь больше не нужен -sudo systemctl stop systemd-networkd и отключаем его от автозагрузкиsudo systemctl disable systemd-networkd, перезагружаемся.

Необходимо установить OS-Agent. В командах ниже ссылка на последнюю версию OS-Agent на момент написания статьи. Перед скачиванием рекомендую уточнить этот вопрос. В любом случае наша архитектура aarch64.

wget github.com/home-assistant/os-agent/releases/download/1.2.2/os-agent_1.2.2_linux_aarch64.deb

sudo dpkg -i os-agent_1.2.2_linux_aarch64.deb

Шаг 2. Необходимо установить Home Assisistant Supervised

Скачиваем установочный файл

wget https://github.com/home-assistant/supervised-installer/releases/latest/download/homeassistant-supervised.deb

Но запускать пока не надо. Сначала создаем временный файл командой

sudo vi /etc/default/grub

и добавляем туда строку systemd.unified_cgroup_hierarchy=false.

Запускаем установщик и удаляем временный файл

sudo dpkg -i homeassistant-supervised.deb

sudo rm /etc/default/grub

Ждем когда скрипт отработает до конца. Первая загрузка Home Assistant занимает некоторое время. Установленный Home Assistant представлен на рисунке 6.


Рисунок 6 – Установленный Home Assistant

5 Выбор элементной базы аппаратной части

Сервер домашней автоматизации является модульным и легко конфигурируется. Выбор функционала осуществляется для конкретных целей, желаемых заказчиком, но есть основной набор функций, таких как управление светом, открытие входной двери с помощью смартфона, управление некоторыми устройствами с помощью инфракрасного приемопередатчика. Данный функционал и будет реализованы в курсовом проектировании.


В качестве сервера для установки Home Assistant будет использован ноутбук на Linux. Как и обычный компьютер он имеет периферию и интерфейсы. Он позволяет выполнять многие функции, доступные мощным настольным системам.

Но для обеспечения возможности управления устройствами умного дома при аварийном отключении сервера, также будет возможность управления всеми функциональными узлами по средствам их первоначальных интерфейсов управлять освещением выключателем.

Контроллером, ответственным за реализацию данного функционала будет выбрана ESP8266, которая встроена уже в сам выключатель. ESP8266 – китайский микроконтроллер от производителя Espressif с поддержкой Wi-Fi-интерфейса. Часто этот МК позиционируют только как Wi-Fi-модуль, который работает в связке с другими МК. Однако встроенных возможностей В большинстве случаев этот МК применяют в системах автоматизации быта и IoT. Управлять всем этим можно не только с браузера, но и из приложений на Android/iOS/Desktop, Если МК будет применяться там, куда не достаёт Wi-Fi сеть, либо её там попросту и не должно быть, то ESP8266 может работать в режиме точки доступа.

Данный контроллер выбран так как он имеет весь необходимый функционал, а именно:

  • имеет возможность синхронизации с серверной части с помощью встроенной функции Wi-Fi;

  • достаточное количество портов для подключения управляемых им модулей и достаточное вычислительной способности для обработки всех подключенных модулей. ESP8266 показан на рисунке 7.



Рисунок 7 – ESP8266
Данный контроллер выбран так как он имеет весь необходимый функционал. Он имеет возможность синхронизации с серверной части с помощью встроенной функции Wi-Fi и достаточное количество портов для подключения управляемых им модулей и достаточное вычислительной способности для обработки всех подключенных модулей.

Для управления системы проветривания в комнате будет использован актуатор, который также уже встроен в корпус. Он включает в себя опторазвязку для защиты микроконтроллера от обратного напряжения. Акуатор показан на рисунке 8.

Рисунок 8 – Модуль реле
Также, для обеспечения связи между ESP8266 и Linux, удаленного доступа к серверу домашней автоматизации и установки, и работы некоторых расширений – необходимо подключение к интернету. Для этого будет использован Wi-Fi роутер Tp-Link с доступом в интернет. Wi-Fi роутер изображен на рисунке 9.


Рисунок 9 – Wi-Fi роутер
Этот роутер был выбран по причине его универсальности в плане подключения к сети интернет, он имеет невысокую стоимость, малое энергопотребление. К нему можно подключать как проводной интернет, так и беспроводной модем 3G, 4G или 5G стандарта.

6 Конфигурирование программной части под техническое задание

В этом разделе будет настроен сервер домашней автоматизации под техническое задание. Для настройки работоспособности сервера, необходимо добавить MQTT-брокера, подписаться на нужные топики, настроить используемые items, rules и bindings. Также, потребуется настроить графический интерфейс для того чтобы управление системой автоматизации могли управлять пользователи с низким уровнем компьютерной грамотности.

Первым делом необходимо установить MQTT-брокера. Протокол MQTT обеспечивает облегченный метод обмена информацией с использованием модели публикации / подписки. Это делает его идеальным для «интернета вещей», такие как телефоны компьютеры или микроконтроллеры.

Eclipse Mosquitto по лицензии ПО с открытым исходным кодом (EPL/EDL лицензии), и реализует версии протокола MQTT 3.1 и 3.1.1. Mosquitto легкий и подходит для использования на всех устройствах от одноплатных компьютеров до полных серверов.

Установка MQTT-брокера Mosquitto на Linux:

  • скачиваем и Необоходимо установить файл;

  • добавляем в системную среду «MQTT_HOME».

Для того, чтобы клиенты могли подключиться к брокеру только по логину и паролю, необходимо создать конфигурационный файл, который будет содержать имя пользователя и зашифрованный пароль. Необходимо ввестт в консоли.

\Program Files\mosquitto\mosquitto_passwd" -c "C:\Program Files\mosquitto\passwrd"

Вместо необходимо указать имя пользователя, которому будет разрешен доступ. После выполнения этой команды user будет добавлен в систему. Дальше необходимо будет ввести 2 раза пароль для доступа user к mqtt брокеру.

Теперь необходимо поменять настройки доступа к системе, для этого необходимо отредактировать файл /etc/mosquitto/conf.d/default.conf. Для этого надо его открыть и добавить в самом вверху 2 строчки, сохранить и закрыть файл.

allow_anonymous false

password_file /etc/mosquitto/passwd

Теперь Mosquitto брокер установлен на Windows и далее необходимо добавить его в openHAB. Для этого нужно открыть 1883/tcp порт на фаейрволе с помощью команды «ufw allow 1883/tcp». Далее необходимо зайти в openHAB, выбрать интерфейс Paper UI, перейти во вкладку «Configuration» и добавить MQTT-брокера, далее выбрать параметр «Things» и добавить каналы связи MQTT-брокера. Интерфейс с установленным MQTT брокером и каналами связи для него показан на рисунке 10.

Рисунок 10 – Home Assistants с установленным MQTT-брокером
Соответственно этих положений и будет достигать привод при открытии и закрытии окна. Вручную можно выбрать и любое из промежуточных значений открытия. 

7 Конфигурирование аппаратной части под техническое задание

НАПИСАТЬ!!!
8 Макетирование

В данном разделе будет произведено создание прототипа устройства. В качестве основы прототипа были выбраны следующие элементы:

  • ноутбук;

  • Wi-Fi роутер;

  • выключатель.

На рисунке 11 изображено окно ноутбука, который является сервером.

Рисунок 11 – Окно ноутбука на OC Linux
На данный на ноутбук установлен сервер домашней автоматизации Home Assistants, который отвечает за весь процесс автоматизации, а также сервер Mosquito-брокер, который обеспечивает связь между всеми устройствами системы по средствам протокола передачи данных MQTT.

Для управления подключаемым устройством использован микроконтроллер ESP8266. На рисунке 12 изображен управляющий проветриванием в комнате акуатор.

Рисунок 12 – Акуатор
Для обеспечения связи всех устройств и доступа в интернет был использован Wi-Fi роутер. Подключенный роутер показан на рисунке 18.

Рисунок 18 – Wi-Fi роутер
Wi-Fi роутер расширяет возможности сервера домашней автоматизации и из локальной системы делает по-настоящему удобную и многофункциональную экосистему.

9 Модернизация серверной части сторонними расширениями

В данном разделе будет производиться расширение возможностей системы автоматизации с помощью сторонних расширений. Сторонние расширения дополняют функционал системы домашней автоматизации и расширяют возможности теми, которые не входят с основной функционал, необходимый для работы системы.

Home Assistant – лидер по количеству сторонних расширений для системы домашней автоматизации. Он имеет возможность подключить несколько голосовых помощников, таких как Google assistant, Amazon Alexa, Яндекс Алиса.

Google assistant – облачный сервис персонального ассистента, разработан–ный компанией Google и представленный на презентации Google I/O 18 мая 2016 года. Он считается продолжением более раннего Google Now, но в нем появилась возможность участия в двухсторонних переговорах. Помощник может использоваться в смартфонах, также он включен в Google Allo – приложение для мгновенного обмена сообщениями, Google Home – умный голосовой Wi-Fi динамик для управления вашим домом, Android Wear – умные часы от Google. Google assistant показан на рисунке 28.

Рисунок 28 – Google assistant
Изначально было объявлено, что Google Assistant будет доступен только на смартфонах Google Pixel, но позже он стал доступен и на устройствах под управлением Android Marshmallow, Nougat и более новых. Ассистент пришел на смену Google Now и запускаться аналогичным образом – путем длительного нажатия на клавишу «Домой» или с помощью voice match.

Alexa – виртуальный ассистент, разработанный компанией Amazon и впервые появившийся в умных колонках Amazon Echo и Amazon Echo Dot. Ассистент поддерживает голосовое общение, воспроизведение музыки, подкастов и аудиокниг, составление списков дел, настройку будильников, предоставление актуальной информации о погоде, трафике, спорте, новостях и т. п., управление устройствами в умном доме. Пользователи могут расширять возможности Alexa, устанавливая «навыки», разработанные сторонними поставщиками.

Яндекс.Алиса – виртуальный голосовой помощник, созданный компанией «Яндекс». Распознает естественную речь, имитирует живой диалог, даёт ответы на вопросы пользователя и, благодаря запрограммированным навыкам, решает прикладные задачи. «Алиса» работает на смартфонах и компьютерах, в автомобилях и в «Яндекс.Станции». По данным «Яндекса», ежедневная аудитория голосового помощника «Алисы» составляет 8 млн пользователей, а месячная аудитория «Алисы» по состоянию на декабрь 2019 года составила 45 млн человек.

Также openHAB имеет возможность присылать PUSH-уведомления с помощью расширения Pushover Action или Pushsafer Action. Они позволяют привязать устройство, на которое необходимо получать уведомления.

Служба Pushover action service позволяет уведомлять мобильные устройства о сообщении с помощью веб-службы Pushover API.

Действие Pushsafer позволяет уведомлять устройства iOS, Android и Windows 10 Phone & Desktop о сообщении с помощью веб-службы PUSHSAFER API.

Также, одна из возможностей сторонних расширений в openHAB – это отправка сообщений или уведомлений с помощью социальных сетей, таких как Telegram, и Twitter. Сервис Telegram Action позволяет отправлять форматированные сообщения клиентам Telegram, используя Telegram Bot API. Twitter можно использовать для «чириканья» уведомлений, когда определенные события происходят в openHAB.

В качестве используемого расширения было решено выбрать голосовой ассистент Google Assistant. Выбор обоснован тем, Google поддерживает распознавание русского языка. Также, имеет возможность выполнения команд через определенное время или в запланированную дату и время. Он является отличным выбором для решения всех, необходимых в рамках курсового проектирования, задач.

Для управления системой домашней автоматизации с помощью голосового помощника Google Assistant, как и для других голосовых помощников, достаточно всего лишь перейти в файл конфигурации Items, и указать для каждого из управляемых Items, тег «switchable». Дальше Google сам проверяет наличие данных тегов и если находит, то может отправить этому Item’у нужное значение.

Теперь, система домашней автоматизации имеет возможность голосового управления. Это добавит системе легкости в управлении для пользователей с низким уровнем компьютерной грамотности. Таким образом, система управления стала доступна для любых пользователей, максимально удобна в использовании и имеет все необходимые возможности для комфортного управления комплексом домашней автоматизации.
Заключение

В результате курсового проектирования была разработана структурная схема, программный код для контроллера охлаждающей подставки ноутбука.

Устройство строится на основе ноутбука OC Linux, который имеет набор необходимой периферии для реализации полного функционирования устройства и поддерживает работу с Wi-Fi.

Разработанное устройство не имеет в своем составе дорогих и дефицитных компонентов, что обеспечивает экономическую выгоду и доступность устройства.

Данные, полученные при курсовом проектировании, полностью соответствуют техническому заданию.

Умные окна экономят энергию на отопление и проветривание. Систему управления окном можно синхронизировать с системой отопления. На время проветривания отопление будет в автоматическом режиме отключаться, а затем включаться вновь.
Список использованных источников



  1. Баранов, В.Н. Применение микроконтроллеров AVR: схемы, алгоритмы, программы. - Москва: Додэка, 2019. - 274 с. - (Профессиональное образование). - ISBN 978-5-534-07575-5: 1002-92. - Текст: непосредственный.

  2. Никитин, Ф.Д. Умные дома и их строение. - Москва: Электроника, 2020. - 457 с. - (Профессиональное образование). - ISBN 995-7-324-00978-7: 1208-36. - Текст: непосредственный.

  3. Романычева, Э.Т. Разработка и оформление конструкторской документации РЭА. - Москва: Радио и связь, 2019. - 359 с. - (Профессиональное образование). - ISBN 980-4-731-15709-4: 1298-97. - Текст: непосредственный.

  4. Шабанов, Г.Н. Полное руководство C++. - Москва: Вильямс, 2019. – 787 с. - (Профессиональное образование). - ISBN 978-5-4468-2588-2: 518-36. - Текст: непосредственный.

  5. Абрамов Ю.Н. zen.yandex [Электронный ресурс] – Создаем свое супер, мега, фото реле (фоторезистор + esp-12): https://zen.yandex.ru/media/tehnozet2/sozdaem-svoe-super-mega-foto-rele-fotorezistor--esp12-5f89f1a25282a978271457dd (дата обращения: 03.12.2021)

  6. Гришин Б.В. hardelectronics [Электронный ресурс] – Стабилизатор AMS1117-3,3 схема включения, описание, применение и аналоги LM1117: http://hardelectronics.ru/stabilizator-ams1117-lm1117.html (дата обращения: 04.11.2021)

  7. Демьянов А.Г. hubr [Электронный ресурс] – Гайд по адресной светодиодной ленте: https://alexgyver.ru/ws2812_guide/ (дата обращения: 07.10.2021)

  8. Ершов П.И. altium [Электронный ресурс] – Документация Altium Designer: https://www.altium.com/ru/documentation/altium-designer (дата обращения: 10.10.2021)

  9. Жандарова Ю.В. lucidchart [Электронный ресурс] – Блок-схема: https://www.lucidchart.com/pages/ru/block-diagram (дата обращения: 01.11.2021)

  10. Зайцев М.А. ruprogi [Электронный ресурс] – Аналоги OpenHAB: https://ruprogi.ru/software/openhab (дата обращения: 05.10.2021)



Приложение А

(обязательное)
Схема электрическая структурная

Рисунок А.1 – Схема электрическая структурная
Приложение Б

(обязательное)
Конфигурация сервера автоматизации
[Unit]

Description=Home Assistant

After=network-online.target

[Service]

Type=simple

ExecStartPre=/bin/sleep 10

User=%i

WorkingDirectory=/home/%i/.homeassistant

ExecStart=/srv/homeassistant/bin/hass -c "/home/%i/.homeassistant"

[Install]

WantedBy=multi-user.target



кп