- Используемые аппаратные компоненты:
- Программирование модуля ESP-01 с помощью преобразователя CP2102 USB-TTL:
- Подключение ESP-01 с модулем CP2102:
- Программирование модуля ESP-01 для Alexa Home Automation
- Принципиальная электрическая схема
- Настройка приложения Amazon Alexa для домашней автоматизации
Умные колонки, такие как Amazon Echo или Google home, становятся популярными в наши дни, и обе имеют возможность интегрировать пользовательские навыки или действия для управления любым устройством с помощью этих умных динамиков. Ранее мы создали собственный умный динамик с использованием Raspberry Pi и Alexa, а также управляли бытовой техникой с помощью этого интеллектуального динамика Raspberry Pi.
Домашняя автоматизация стала очень распространенной в наши дни, и люди используют Интернет вещей для автоматизации всего в своем доме. В этом уроке мы будем использовать динамик Real Amazon Echo dot и создадим индивидуальный навык для управления бытовой техникой переменного тока, такой как освещение, вентиляторы, телевизоры, розетки, с помощью динамика Amazon Echo dot. Здесь мы будем использовать Arduino UNO и модуль Wi-Fi ESP8266-01 для подключения динамика Echo dot к устройствам переменного тока. После этого урока вы сможете управлять любым устройством через Alexa.
Используемые аппаратные компоненты:
- Arduino UNO
- Модуль ESP-01
- Эхо-точка Amazon Alexa
- Конвертер CP2102 USB-TTL
- Макетная плата
- Модуль реле 5 В
- Приборы переменного тока
- Джемперы
Программирование модуля ESP-01 с помощью преобразователя CP2102 USB-TTL:
Здесь ESP-01 программируется с помощью преобразователя USB-TTL CP2102; его также можно запрограммировать с помощью платы Arduino UNO. В моем случае я использовал модуль CP2102, и шаги для этого объясняются ниже.
Модуль ESP-01
ESP8266 ESP-01 - это модуль Wi-Fi, который очень популярен при разработке приложений IoT и используется для подключения микроконтроллеров, таких как Arduino UNO, к Интернету. Этот модуль представляет собой автономную систему на микросхеме (SOC), которая может действовать как небольшой компьютер. Он поставляется с предустановленной прошивкой AT, поэтому мы можем запрограммировать его с помощью Arduino IDE. Вы можете узнать больше о трансивере ESP-01 Wi-Fi и его программировании с помощью Arduino IDE, перейдя по ссылке.
Описание пина:
VCC: Вывод питания ESP-01, на который может подаваться напряжение 3,3 В постоянного тока.
GND: контакт заземления ESP-01
TXD: используется как контакт передатчика UART
RXD: используется как вывод приемника UART
СБРОС: используется для сброса модуля, это активный вывод LOW.
CH_PD: это вывод включения микросхемы, который является активным выводом HIGH.
GPIO0: этот вывод служит двум целям. Один из них предназначен для ввода / вывода общего назначения, а другой - для включения режима программирования ESP-01.
GPIO2: это контакт ввода / вывода общего назначения.
Подключение ESP-01 с модулем CP2102:
На рисунке ниже показана распиновка преобразователя USB-TTL CP2102. Подключите модуль ESP-01 к модулю преобразователя USB-TTL CP2102 в соответствии с таблицей ниже.
Модуль ESP-01 |
Модуль CP2102 |
VCC |
3,3 В |
GND |
GND |
RXD |
TXD |
TXD |
RXD |
CH_PD |
3,3 В |
СБРОС |
Нет соединения |
GPIO0 |
GND |
GPIO2 |
Нет соединения |
После успешного завершения вышеуказанного подключения схема должна выглядеть примерно так:
Затем подключите модуль CP2102 к нашему ПК для программирования. Перед загрузкой кода в ESP-01 сначала проверьте порт связи. Для этого перейдите в Пуск-> и найдите диспетчер устройств. Затем щелкните COM и порты. В этом случае мы должны получить COM-порт с именем преобразователя USB-TTL, например « Silicon labs CP21xx USB-UART Bridge », как показано на изображении ниже:
После успешного выполнения вышеуказанных шагов откройте Arduino IDE, выберите плату как « Generic ESP8266 Module » в меню « Инструменты» и выберите COM-порт, который мы получили на предыдущем этапе.
Программирование модуля ESP-01 для Alexa Home Automation
Полный код приведен в конце этого проекта. Вот пошаговое объяснение кода, который нужно загрузить в модуль ESP-01. Первым делом нужно включить все необходимые библиотеки. Вы можете скачать библиотеку «fauxmoESP.h» по ссылке здесь.
#include #include
На этом этапе мы должны определить все учетные данные, необходимые для подключения ESP-01 к Интернету. Обновите данные SSID сети и пароля в программе.
#define SSID "*******" #define pass "*******"
Затем определите имена устройств, которыми нам нужно управлять из Alexa. В моем случае я взял названия своих устройств как « свет в спальне », « вентилятор в спальне » и « умная розетка ».
#define device1 "Спальный свет" #define device2 "Спальный вентилятор" #define device3 "Умная розетка"
Функция WiFi.mode используется для настройки модуля ESP-01 в качестве режима станции, а функция WiFi.begin используется для подключения модуля ESP-01 к Интернету, который принимает в качестве аргументов сетевой идентификатор SSID и пароль.
WiFi.mode (WIFI_STA); WiFi.begin (ssid, pass);
Следующая часть - инициализировать все функции класса Fauxmo, такие как создание сервера, включение номера порта для устройства Alexa, включение устройства и т. Д. Затем добавьте все устройства с помощью fauxmo.addDevice, который мы создали ранее.
fauxmo.createServer (правда); fauxmo.setPort (80); fauxmo.enable (истина); fauxmo.addDevice (устройство1); fauxmo.addDevice (устройство2); fauxmo.addDevice (устройство3);
Затем напишите функцию для сравнения наших голосовых команд с предопределенными именами устройств. Если команда совпадает, отправьте символ на последовательные терминалы Arduino, используя Serial.print.
fauxmo.onSetState ((unsigned char device_id, const char * device_name, bool state, unsigned char value) {if (strcmp (device_name, device1) == 0) {if (state) Serial.print ("1"); else Serial.print ("2");}}
В функции void loop () функция fauxmo.handle просто проверяет входящие данные от Alexa и выполняет действия, используя функцию onSetstate () .
недействительный цикл () {fauxmo.handle (); }
Теперь загрузите полный код, указанный в конце, в модуль ESP-01 и убедитесь, что загрузка прошла успешно.
Код Arduino:
После этого пора загрузить код в Arduino. Код для Arduino очень простой. Он принимает только символы, отправленные от модулей ESP-01 через свои клеммы UART, и сравнивает их, чтобы отправить сигнал включения / выключения на реле. Полная программа для Arduino показана ниже:
данные char; void setup () {Serial.begin (115200); pinMode (7, ВЫХОД); pinMode (6, ВЫХОД); pinMode (5, ВЫХОД); digitalWrite (7, LOW); digitalWrite (6, LOW); digitalWrite (5, LOW); } void loop () {если (Serial.available ()> 0) {данные = Serial.read (); Serial.print (данные); Serial.print ("\ n"); если (данные == '1') digitalWrite (7, HIGH); иначе, если (данные == '2') digitalWrite (7, LOW); иначе, если (данные == '3') digitalWrite (6, HIGH); иначе, если (данные == '4') digitalWrite (6, LOW); иначе, если (данные == '5') digitalWrite (5, HIGH); иначе, если (данные == '6') digitalWrite (5, LOW); }}
После успешной загрузки код в Arduino, затем подключите оборудование в соответствии со схемой, приведенной ниже.
Принципиальная электрическая схема
Принципиальная схема для домашней автоматизации с использованием Alexa показана ниже:
Здесь мы спаяли все компоненты на Perfboard, чтобы она действовала как щит Arduino.
Точно так же мы построили релейный модуль на Perfboard:
Настройка приложения Amazon Alexa для домашней автоматизации
После успешного завершения настройки оборудования и программирования пришло время настроить приложение Alexa Android. Во-первых, нам нужно найти ближайшие смарт-устройства через это приложение. Для этого включите устройство Alexa, затем откройте приложение Alexa и нажмите « Устройства », а затем нажмите знак «+», который просит вас « Добавить устройство ». Затем нажмите « Добавить устройство », в типе устройства нажмите « Другое », а затем выберите обнаружение устройств. Затем ваше приложение Alexa должно найти устройство, что может занять до 45 секунд.
Примечание. В качестве альтернативы мы также можем обнаружить устройства с помощью голосовой команды « Alexa, обнаружить устройства ».
После завершения обнаружения устройства вы должны получить 3 новых устройства по имени, которое мы указали в коде. В моем случае, это спальня свет , вентилятор спальни, и смарт - разъем . Теперь установка готова к тестированию, просто проверьте, сказав « Алекса, включи свет в спальне », и он должен вернуть ваш отзыв с надписью «Хорошо», и свет должен включиться. Точно так же мы можем протестировать все остальные команды.
Вот так будет выглядеть полная установка бытовой техники с управлением Amazon Echo dot:
Полный код ESP-01 с демонстрационным видео приведен ниже.