- Използвани хардуерни компоненти:
- Програмиране на модул ESP-01 с помощта на CP2102 USB-TTL конвертор:
- Свързване на ESP-01 с модул CP2102:
- Програмиране на модул ESP-01 за автоматизация на дома Alexa
- Електрическа схема
- Настройте приложението Amazon Alexa за домашна автоматизация
Интелигентните високоговорители като Amazon Echo или Google home стават популярни сега и двата имат възможност да интегрират персонализирани умения или действия за управление на всеки уред, използващ тези интелигентни високоговорители. Преди това създадохме свой собствен интелигентен високоговорител с помощта на Raspberry Pi и Alexa, а също така контролирахме домакински уреди, използвайки този интелигентен високоговорител Raspberry Pi.
Автоматизацията на дома стана много разпространена в наши дни и хората използват IoT, за да автоматизират всичко в дома си. Тук, в този урок ще използваме Реал Amazon Echo точка говорител и създадете потребителски умения, за да се контролира AC домакински уреди като лампи, вентилатори, телевизори, контакти , като се използва Amazon Echo точка високоговорител. Тук ще използваме Arduino UNO и Wi-Fi модул ESP8266-01 за свързване на Echo dot високоговорител с променливотокови уреди. След този урок ще можете да контролирате всеки уред през Alexa.
Използвани хардуерни компоненти:
- Arduino UNO
- Модул ESP-01
- Amazon Alexa echo dot
- CP2102 USB-TTL конвертор
- Макет
- 5V релеен модул
- AC уреди
- Джъмпери
Програмиране на модул ESP-01 с помощта на CP2102 USB-TTL конвертор:
Тук ESP-01 е програмиран с помощта на CP2102 USB-TTL конвертор; може да се програмира и с помощта на Arduino UNO платка. Тук в моя случай съм използвал модул CP2102 и стъпките за това са обяснени по-долу.
Модул ESP-01
ESP8266 ESP-01 е Wi-Fi модул, който е много популярен при проектирането на IoT приложения и се използва, за да позволи на микроконтролери като Arduino UNO да се свързват с интернет. Този модул е самостоятелна система на чип (SOC), която може да действа като малък компютър. Той се предлага с предварително инсталиран фърмуер AT, поради което можем да го програмираме с помощта на Arduino IDE. Можете да научите повече за Wi-Fi приемо-предавателя ESP-01 и неговото програмиране с помощта на Arduino IDE, като следвате връзката.
Описание на щифта:
VCC: Захранващ щифт на ESP-01, който може да бъде захранван с 3.3V DC
GND: Заземен референтен щифт на ESP-01
TXD: Използва се като UART щифт на предавателя
RXD: Използва се като ПИН на приемника на UART
RESET: Използва се за нулиране на модула и е активен LOW щифт.
CH_PD: Това е щифт за активиране на чипа, който е активен HIGH щифт.
GPIO0: Този щифт служи за две цели. Едната е като входна / изходна информация с общо предназначение, а другата е да активирате режима на програмиране на ESP-01
GPIO2: Това е входно-изходен щифт с общо предназначение.
Свързване на ESP-01 с модул CP2102:
Фигурата по-долу показва диаграмата на пиновете на преобразувател CP2102 USB-TTL. Свържете модула ESP-01 с конверторния модул CP2102 USB-TTL съгласно таблицата по-долу.
Модул ESP-01 |
Модул CP2102 |
VCC |
3.3V |
GND |
GND |
RXD |
TXD |
TXD |
RXD |
CH_PD |
3.3V |
НУЛИРАНЕ |
Няма връзка |
GPIO0 |
GND |
GPIO2 |
Няма връзка |
След успешно завършване на връзката по-горе, веригата трябва да изглежда по следния начин:
След това свържете модула CP2102 към нашия компютър за програмиране. Преди да качите кода в ESP-01, първо проверете за комуникационния порт. За това отидете на start-> и потърсете диспечера на устройствата. След това кликнете върху COM и портове. При тази опция трябва да получим COM порт с име на USB-TTL преобразувател като „ Silicon labs CP21xx USB-UART Bridge “, както е показано на изображението по-долу:
След успешното завършване на горните стъпки, отворете Arduino IDE и изберете платката като „ Generic ESP8266 Module “ от меню Tools и изберете COM порта, който получихме в предишния етап.
Програмиране на модул ESP-01 за автоматизация на дома Alexa
Пълният код е даден в края на този проект. Ето поетапното обяснение на кода, който трябва да бъде качен на модула 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 ((неподписан char_устройство_иден, const char * име_на_устройство, състояние на bool, неподписана стойност на char) {if (strcmp (име_на_устройство, устройство1) == 0) {if (състояние) 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 () {if (Serial.available ()> 0) {data = Serial.read (); Serial.print (данни); Serial.print ("\ n"); if (data == '1') digitalWrite (7, HIGH); иначе if (data == '2') digitalWrite (7, LOW); иначе if (data == '3') digitalWrite (6, HIGH); иначе if (data == '4') digitalWrite (6, LOW); иначе if (data == '5') digitalWrite (5, HIGH); иначе if (data == '6') digitalWrite (5, LOW); }}
След успешно качване, кодът към Arduino, След това свържете хардуера според схемите, дадени по-долу.
Електрическа схема
Схемата на схемата за автоматизация на дома чрез Alexa е показана по-долу:
Тук сме спойкали всички компоненти на Perfboard, така че да действа като Arduino щит.
По същия начин сме изградили и релеен модул на Perfboard:
Настройте приложението Amazon Alexa за домашна автоматизация
След успешното завършване на хардуерната настройка и кодиране, сега е време да настроите приложението Alexa Android за Android. Първо, трябва да търсим всички близки смарт устройства чрез това приложение. За целта включете вашето устройство Alexa и след това отворете приложението си Alexa и кликнете върху опцията „ Устройства “ и след това щракнете върху знака „+“, който ви подканва да „ добавите устройство “. След това кликнете върху „ Добавяне на устройство “, от типа устройство щракнете върху „ друго “ и след това изберете откриване на устройства. Тогава приложението ви Alexa трябва да търси устройството, което може да отнеме до 45 секунди.
Забележка: Алтернативно можем да открием устройствата и с помощта на гласовата команда „ Алекса, открий устройства “
След приключване на откриването на устройството трябва да получавате 3 нови устройства по име, които сме дали в кода. В моя случай, това са спалня светлина , спалня фен, и умен гнездо . Сега настройката е готова за тестване, просто тествайте, като кажете „ Alexa, Включете осветлението на спалнята “ и тя трябва да върне обратната ви връзка с „Добре“ и светлината трябва да се включи. По същия начин можем да тестваме за всички други команди.
Ето как ще изглежда пълната настройка на домакинските уреди, контролирани с точка Echo:
Пълният код за ESP-01 с демонстрационно видео е даден по-долу.