- Použité hardwarové komponenty:
- Programování modulu ESP-01 pomocí převaděče CP2102 USB-TTL:
- Propojení ESP-01 s modulem CP2102:
- Programování modulu ESP-01 pro domácí automatizaci Alexa
- Kruhový diagram
- Nastavte si aplikaci Amazon Alexa pro domácí automatizaci
Inteligentní reproduktory jako Amazon Echo nebo Google home jsou dnes populární a oba mají schopnost integrovat vlastní dovednosti nebo akce k ovládání jakéhokoli zařízení pomocí těchto inteligentních reproduktorů. Dříve jsme postavili vlastní inteligentní reproduktor pomocí Raspberry Pi a Alexa a také jsme ovládali domácí spotřebiče pomocí tohoto inteligentního reproduktoru Raspberry Pi.
Domácí automatizace se v dnešní době stala velmi běžnou a lidé používají IoT k automatizaci všeho ve své domácnosti. Tady v tomto tutoriálu použijeme reproduktor Real Amazon Echo dot a vytvoříme vlastní dovednost ovládat domácí spotřebiče AC, jako jsou světla, ventilátory, televizory, zásuvky pomocí reproduktoru Amazon Echo dot Speaker. Zde použijeme Arduino UNO a modul Wi-Fi ESP8266-01 pro připojení reproduktoru Echo dot k AC zařízením. Po tomto tutoriálu budete moci ovládat jakékoli zařízení prostřednictvím Alexa.
Použité hardwarové komponenty:
- Arduino UNO
- Modul ESP-01
- Amazon Alexa echo dot
- Převodník CP2102 USB-TTL
- Nepájivá deska
- 5V reléový modul
- AC spotřebiče
- Svetry
Programování modulu ESP-01 pomocí převaděče CP2102 USB-TTL:
Zde je ESP-01 programován pomocí převaděče CP2102 USB-TTL; lze jej také naprogramovat pomocí desky Arduino UNO. Tady v mém případě jsem použil modul CP2102 a kroky pro to jsou vysvětleny níže.
Modul ESP-01
ESP8266 ESP-01 je modul Wi-Fi, který je velmi populární při navrhování aplikací IoT, a umožňuje připojení mikrokontrolérů, jako je Arduino UNO, k internetu. Tento modul je samostatný systém na čipu (SOC), který může fungovat jako malý počítač. Dodává se s předinstalovaným AT firmwarem, proto jej můžeme naprogramovat pomocí Arduino IDE. Další informace o vysílači a přijímači Wi-Fi ESP-01 a jeho programování pomocí Arduino IDE získáte kliknutím na následující odkaz.
Popis kolíku:
VCC: Napájecí kolík ESP-01, který lze napájet 3,3 V DC
GND: Zemnící referenční kolík ESP-01
TXD: Používá se jako pin vysílače UART
RXD: Používá se jako PIN přijímače UART
RESET: Používá se k resetování modulu a jedná se o aktivní LOW pin.
CH_PD: Je to pin umožňující čip, který je aktivním HIGH pinem.
GPIO0: Tento pin slouží dvěma účelům. Jedním z nich je vstup / výstup pro všeobecné použití a druhým je povolení programovacího režimu ESP-01
GPIO2: Jedná se o univerzální vstupní / výstupní pin.
Propojení ESP-01 s modulem CP2102:
Na následujícím obrázku je schéma zapojení převaděče CP2102 USB-TTL. Propojte modul ESP-01 s modulem převodníku CP2102 USB-TTL podle níže uvedené tabulky.
Modul ESP-01 |
Modul CP2102 |
VCC |
3,3 V |
GND |
GND |
RXD |
TXD |
TXD |
RXD |
CH_PD |
3,3 V |
RESETOVAT |
Žádné připojení |
GPIO0 |
GND |
GPIO2 |
Žádné připojení |
Po úspěšném dokončení výše uvedeného připojení by měl obvod vypadat nějak takto:
Poté připojte modul CP2102 k našemu PC pro programování. Před nahráním kódu na ESP-01 nejprve zkontrolujte komunikační port. Za tímto účelem přejděte na start-> a vyhledejte správce zařízení. Poté klikněte na COM a porty. V rámci této možnosti bychom měli dostat port COM s názvem převaděče USB-TTL jako „ Silicon labs CP21xx USB-UART Bridge “, jak je znázorněno na obrázku níže:
Po úspěšném dokončení výše uvedených kroků otevřete Arduino IDE a v nabídce Nástroje vyberte desku jako „ Generic ESP8266 Module “ a vyberte port COM, který jsme dostali v předchozí fázi.
Programování modulu ESP-01 pro domácí automatizaci Alexa
Kompletní kód je uveden na konci tohoto projektu. Zde je postupné vysvětlení kódu, který se má nahrát na modul ESP-01. Prvním krokem je zahrnout všechny potřebné knihovny. Knihovnu „fauxmoESP.h“ si můžete stáhnout z odkazu zde.
# zahrnout # zahrnout
V tomto kroku musíme definovat všechna pověření, která jsou nutná pro připojení ESP-01 k internetu. Aktualizujte své síťové SSID a heslo v programu.
#define SSID "*******" #define pass "*******"
Dále definujte název zařízení, která musíme ovládat z Alexy. V mém případě jsem vzal názvy svých zařízení jako „ ložnice světlo “, „ ventilátor ložnice “ a „ inteligentní zásuvka “.
#define device1 "ložnice light" #define device2 "ventilátor ložnice" #define device3 "smart socket"
Funkce WiFi.mode se používá k nastavení modulu ESP-01 jako režimu stanice a funkce WiFi.begin se používá k připojení modulu ESP-01 k internetu, který jako argumenty používá SSID a heslo sítě.
WiFi.mode (WIFI_STA); WiFi.begin (ssid, pass);
Další částí je inicializace všech funkcí třídy Fauxmo, jako je vytvoření serveru, povolení čísla portu pro zařízení Alexa, povolení zařízení atd. Poté přidejte všechna zařízení pomocí fauxmo.addDevice, které jsme dříve vytvořili.
fauxmo.createServer (true); fauxmo.setPort (80); fauxmo.enable (true); fauxmo.addDevice (zařízení1); fauxmo.addDevice (zařízení2); fauxmo.addDevice (zařízení3);
Dále napište funkci pro porovnání našich hlasových příkazů s předdefinovanými názvy zařízení. Pokud se příkaz shoduje, odešlete znak na sériové terminály Arduino pomocí 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");}}
Ve funkci void loop () funkce fauxmo.handle pouze zkontroluje příchozí data z Alexa a provede akci pomocí funkce onSetstate () .
void loop () {fauxmo.handle (); }
Nyní nahrajte kompletní kód zadaný na konci do modulu ESP-01 a zajistěte úspěšné nahrání.
Arduino kód:
Poté je čas nahrát kód do Arduina. Kód pro Arduino je velmi jednoduchý. Přijímá pouze znaky odesílané z modulů ESP-01 prostřednictvím svých terminálů UART a porovnává je s odesláním signálu zapnutí / vypnutí na relé. Kompletní program pro Arduino je zobrazen níže:
char údaje; void setup () {Serial.begin (115200); pinMode (7, VÝSTUP); pinMode (6, VÝSTUP); pinMode (5, VÝSTUP); digitalWrite (7, LOW); digitalWrite (6, LOW); digitalWrite (5, LOW); } void loop () {if (Serial.available ()> 0) {data = Serial.read (); Serial.print (data); Serial.print ("\ n"); if (data == '1') digitalWrite (7, HIGH); else if (data == '2') digitalWrite (7, LOW); else if (data == '3') digitalWrite (6, HIGH); else if (data == '4') digitalWrite (6, LOW); else if (data == '5') digitalWrite (5, HIGH); else if (data == '6') digitalWrite (5, LOW); }}
Po úspěšném nahrání kód na Arduino, Next připojte hardware podle níže uvedených schémat.
Kruhový diagram
Schéma zapojení pro domácí automatizaci pomocí Alexa je uvedeno níže:
Zde jsme pájeli všechny komponenty na Perfboard tak, aby fungoval jako štít Arduino.
Podobně jsme také postavili reléový modul na Perfboard:
Nastavte si aplikaci Amazon Alexa pro domácí automatizaci
Po úspěšném dokončení nastavení a kódování hardwaru je nyní čas nastavit aplikaci Alexa pro Android. Nejprve musíme pomocí této aplikace vyhledat všechna blízká inteligentní zařízení. Zapněte zařízení Alexa, otevřete aplikaci Alexa, klikněte na možnost „ Zařízení “ a poté na znaménko „+“, které vás požádá o „ Přidat zařízení “. Poté klikněte na „ Přidat zařízení “, u typu zařízení klikněte na „ jiné “ a poté vyberte objevovat zařízení. Pak by vaše aplikace Alexa měla vyhledat zařízení, což může trvat až 45 sekund.
Poznámka: Alternativně můžeme zařízení objevit také pomocí hlasového příkazu „ Alexa, Discover devices “
Po dokončení zjišťování zařízení byste měli dostávat 3 nová zařízení podle názvu, která jsme uvedli v kódu. V mém případě to jsou ložnice světlo , ložnice ventilátor, a inteligentní patice . Nyní je nastavení připraveno k testování, stačí otestovat slovy „ Alexa, Zapněte světlo v ložnici “ a mělo by se vrátit vaše zpětná vazba slovy „Dobře“, a světlo by se mělo rozsvítit. Podobně můžeme testovat všechny ostatní příkazy.
Takto bude vypadat kompletní nastavení domácích spotřebičů řízených Amazon Echo dot:
Kompletní kód pro ESP-01 s ukázkovým videem je uveden níže.