Умный дом с управлением через Wi-Fi и голосом на NodeMCU ESP8266 и Android


В этой статье мы рассмотрим систему управления домашней автоматикой (умный дом) по Wi-Fi и голосом на основе платы NodeMCU ESP8266 и смартфона на операционной системе Android. Мы разработаем наше собственное приложение на Android-смартфоне для управления нашими домашними устройствами локально (с помощью кнопок или голоса).

Умный дом с управлением через Wi-Fi и голосом на NodeMCU ESP8266 и Android

В этом проекте мы будем с помощью 4-канального реле и модуля NodeMCU ESP8266 12E Wifi управлять 4 различными светодиодами. Эти 4 различных светодиода похожи на 4 различных бытовых прибора. Мы будем использовать приложение Android с 5+5 кнопками ВКЛ+ВЫКЛ для отправки сигнала на NodeMCU с целью управления выходом реле. У каждого NodeMCU есть определенный IP-адрес. Мы назначим этот IP-адрес приложению Android для управления доступом. Аналогично, NodeMCU необходимо подключить к локальной Wi-Fi точке доступа.

Ранее на нашем сайте мы уже рассматривали достаточно много различных проектов автоматизации дома на основе различных микроконтроллеров (плат), наиболее популярными среди которых являются следующие:

Необходимые компоненты

  1. NodeMCU ESP8266 (купить на AliExpress).
  2. 4-канальный релейный модуль.
  3. Светодиод 5 мм – 4 шт. (купить на AliExpress).
  4. Резистор 220 Ом – 4 шт.
  5. Блок питания 5 В.
  6. Макетная плата.
  7. Соединительные провода.

Реклама: ООО "АЛИБАБА.КОМ (РУ)" ИНН: 7703380158

Блок-схема проекта

Вот блок-схема для этого проекта «Wi-Fi и голосовое управление домашней автоматикой с использованием NodeMCU ESP8266». Она проста и понятна.

Блок-схема проекта «Wi-Fi и голосовое управление домашней автоматикой с использованием NodeMCU ESP8266»

NodeMCU сопряжен с 4-канальным реле с помощью контактов GPIO NodeMCU. Выходной контакт NodeMCU подключен к 4 различным светодиодам через резистор 220 Ом. NodeMCU подключен к локальному Wi-Fi и способен принимать сигнал через Интернет.

На Android-устройстве установлено приложение Android «Home Automation Control». Для управления входом/выходом NodeMCU IP-адрес NodeMCU вводится в поле IP-адрес приложения Android.

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

Принципиальная схема проекта

Схема домашней автоматизации с управлением через Wi-Fi и голосом на NodeMCU ESP8266 и Android представлена на следующем рисунке.

Схема домашней автоматизации с управлением через Wi-Fi и голосом на NodeMCU ESP8266 и Android

Мы будем использовать 4-канальный релейный модуль для управления 4 светодиодами, имитируя 4 домашних устройства.

Подключите входные контакты реле к NodeMCU следующим образом.

Аналогично подключите 4 выхода к 4 разным светодиодам через 4 резистора, как показано на рисунке выше.

Собранная на макетной плате конструкция проекта домашней автоматизации

Печатная плата для проекта

Если вы не хотите собирать схему на макетной плате, а хотите печатную плату для проекта, то вот печатная плата для вас. Печатная плата для проекта домашней автоматизации разработана с использованием онлайн-инструмента проектирования схем и печатных плат EasyEDA. Передняя и задняя стороны печатной платы показаны ниже.

Печатная плата проекта домашней автоматизации, вид спереди

Печатная плата проекта домашней автоматизации, вид сзади

Файл Gerber для изготовления данной печатной платы вы можете скачать по следующей ссылке.

Приложение Android для нашего проекта

Главный экран приложения Android для нашего проекта

Приложение Android отправит строку, которая должна быть интерпретирована кодом для активации каждого из реле, определенных следующим образом:

Реле1:
Включение: «r1on»;
Выключение: «r1off»;

Реле2:
Включение: «r2on»;
Выключение: «r2off»

Реле3:
Включение: «r3on»;
Выключение: «r3off»

Реле4:
Включение: «r4on»;
Выключение: «r4off»

Если приложение Android отправляет команду: «r1on», Relay1 должен быть включен. Мы также определили «групповые команды» для включения («allon») и выключения («all off») всех устройств одновременно. Аналогично, также дается изображение голосового ввода, при нажатии на которое появляется всплывающее окно для Google Assistant, чтобы принять голосовую команду.

Создание приложения для Android с использованием MIT App Inventor

Этот шаг необязателен. Я дал ссылку ниже для прямой загрузки приложения Android. Я также добавил ссылку .aia, которую можно напрямую загрузить и изменить в соответствии с вашими потребностями.

Чтобы создать приложение для Android, посетите http://ai2.appinventor.mit.edu/ и создайте проект. На нашем сайте вы также можете более подробно узнать как создать собственное приложение Android для проекта Arduino с помощью MIT App Inventor.

Проект нашего приложения для Android, открытый в MIT App Inventor

Основные компоненты на экране показаны на рисунке выше:

Компоненты нашего приложения для Android в MIT App Inventor

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

Создание приложения для Android с использованием MIT App Inventor

Ссылка для скачивания приложения для Android

Если вы новичок и не хотите создавать приложение для Android, вы можете просто скачать приложение по ссылке ниже.

Загрузить приложение для Android
Вы также можете изменить приложение Android, экспортировав файл .aia. Подробный урок представлен в видео.

Загрузить файл .aia

Код для определения IP-адреса устройства

Просто скопируйте этот код и загрузите его в Arduino IDE. После загрузки кода просто откройте Serial Monitor (окно монитора последовательной связи) и получите IP адрес платы. Скопируйте этот IP, так как он требуется для вашего приложения Android.

ПРИМЕЧАНИЕ: во время загрузки кода отсоедините контакт питания реле.

Исходный код основной программы

Скомпилируйте и загрузите этот код на плату NodeMCU.

ПРИМЕЧАНИЕ: во время загрузки кода отсоедините контакт питания реле.

Видео, демонстрирующее работу проекта

Ссылка на видео на YouTube

(Проголосуй первым!)
Загрузка...
109 просмотров

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *