- Używane komponenty sprzętowe:
- Programowanie modułu ESP-01 za pomocą konwertera CP2102 USB-TTL:
- Połączenie ESP-01 z modułem CP2102:
- Programowanie modułu ESP-01 do automatyki domowej Alexa
- Schemat obwodu
- Skonfiguruj aplikację Amazon Alexa dla automatyki domowej
Inteligentne głośniki, takie jak Amazon Echo lub Google Home, stają się obecnie popularne i oba mają możliwość zintegrowania niestandardowych umiejętności lub działań w celu sterowania dowolnym urządzeniem za pomocą tych inteligentnych głośników. Wcześniej zbudowaliśmy własny inteligentny głośnik za pomocą Raspberry Pi i Alexa, a także sterowaliśmy urządzeniami domowymi za pomocą tego inteligentnego głośnika Raspberry Pi.
Automatyka domowa stała się bardzo popularna w dzisiejszych czasach, a ludzie używają IoT do automatyzacji wszystkiego w swoim domu. W tym samouczku użyjemy głośnika punktowego Real Amazon Echo i stworzymy niestandardową umiejętność sterowania urządzeniami domowymi AC, takimi jak światła, wentylatory, telewizory, gniazda za pomocą głośnika punktowego Amazon Echo. Tutaj użyjemy Arduino UNO i modułu Wi-Fi ESP8266-01 do połączenia głośnika Echo dot z urządzeniami AC. Po tym samouczku będziesz mógł sterować dowolnym urządzeniem za pośrednictwem Alexy.
Używane komponenty sprzętowe:
- Arduino UNO
- Moduł ESP-01
- Kropka echa Amazon Alexa
- Konwerter CP2102 USB-TTL
- Płytka prototypowa
- Moduł przekaźnika 5 V.
- Urządzenia AC
- Zworki
Programowanie modułu ESP-01 za pomocą konwertera CP2102 USB-TTL:
Tutaj ESP-01 jest programowany za pomocą konwertera CP2102 USB-TTL; można go również zaprogramować za pomocą płytki Arduino UNO. W moim przypadku użyłem modułu CP2102, a kroki, jak to zrobić, są wyjaśnione poniżej.
Moduł ESP-01
ESP8266 ESP-01 to moduł Wi-Fi, który jest bardzo popularny w projektowaniu aplikacji IoT i służy do łączenia mikrokontrolerów, takich jak Arduino UNO, z Internetem. Ten moduł jest samodzielnym systemem na chipie (SOC), który może działać jak mały komputer. Pochodzi z fabrycznie zainstalowanym oprogramowaniem AT, dlatego możemy go zaprogramować za pomocą Arduino IDE. Możesz dowiedzieć się więcej o transceiverze Wi-Fi ESP-01 i jego programowaniu za pomocą Arduino IDE, klikając link.
Opis pinów:
VCC: Pin zasilania ESP-01, który może być zasilany napięciem 3,3 V DC
GND: pin odniesienia uziemienia ESP-01
TXD: Używany jako pin nadajnika UART
RXD: używany jako pin odbiornika UART
RESET: Służy do resetowania modułu i jest to aktywny pin LOW.
CH_PD: Jest to pin włączający chip, który jest aktywnym pinem HIGH.
GPIO0: Ten pin służy dwóm celom. Jeden to wejście / wyjście ogólnego przeznaczenia, a drugi to włączenie trybu programowania ESP-01
GPIO2: To jest pin wejścia / wyjścia ogólnego przeznaczenia.
Połączenie ESP-01 z modułem CP2102:
Poniższy rysunek przedstawia schemat wyprowadzeń konwertera CP2102 USB-TTL. Połącz moduł ESP-01 z modułem konwertera CP2102 USB-TTL zgodnie z poniższą tabelą.
Moduł ESP-01 |
Moduł CP2102 |
VCC |
3,3 V. |
GND |
GND |
RXD |
TXD |
TXD |
RXD |
CH_PD |
3,3 V. |
RESETOWANIE |
Brak połączenia |
GPIO0 |
GND |
GPIO2 |
Brak połączenia |
Po pomyślnym wykonaniu powyższego połączenia obwód powinien wyglądać mniej więcej tak:
Następnie podłącz moduł CP2102 do naszego komputera w celu programowania. Przed wgraniem kodu do ESP-01 najpierw sprawdź port komunikacyjny. W tym celu przejdź do start-> i wyszukaj menedżera urządzeń. Następnie kliknij COM i Porty. W ramach tej opcji powinniśmy otrzymać port COM z nazwą konwertera USB-TTL, taką jak „ Silicon labs CP21xx USB-UART Bridge ”, jak pokazano na poniższym obrazku:
Po pomyślnym wykonaniu powyższych kroków otwórz Arduino IDE i wybierz płytkę jako „ Generic ESP8266 Module ” z menu Tools i wybierz port COM, który otrzymaliśmy w poprzednim etapie.
Programowanie modułu ESP-01 do automatyki domowej Alexa
Kompletny kod znajduje się na końcu tego projektu. Oto szczegółowe wyjaśnienie kodu, który ma zostać przesłany do modułu ESP-01. Pierwszym krokiem jest dołączenie wszystkich niezbędnych bibliotek. Możesz pobrać bibliotekę „fauxmoESP.h”, korzystając z łącza tutaj.
#include #include
Na tym etapie musimy zdefiniować wszystkie poświadczenia, które są wymagane do połączenia ESP-01 z Internetem. Zaktualizuj identyfikator SSID sieci i dane hasła w programie.
# zdefiniować SSID "*******" # zdefiniować przepustkę "*******"
Następnie określ nazwy urządzeń, którymi musimy sterować z Alexy. W moim przypadku nazwy moich urządzeń to „ oświetlenie do sypialni ”, „ wentylator do sypialni ” i „ inteligentne gniazdo ”.
#define device1 "bedroom light" #define device2 "bedroom fan" #define device3 "smart socket"
Funkcja WiFi.mode służy do ustawienia modułu ESP-01 w trybie stacji, a funkcja WiFi.begin służy do połączenia modułu ESP-01 z Internetem, który jako argumenty przyjmuje identyfikator SSID sieci i hasło.
WiFi.mode (WIFI_STA); WiFi.begin (ssid, pass);
Następną częścią jest zainicjowanie wszystkich funkcji klasy Fauxmo, takich jak utworzenie serwera, włączenie numeru portu dla urządzenia Alexa, włączenie urządzenia itp. Następnie dodaj wszystkie urządzenia za pomocą fauxmo.addDevice, które utworzyliśmy wcześniej.
fauxmo.createServer (true); fauxmo.setPort (80); fauxmo.enable (prawda); fauxmo.addDevice (urządzenie1); fauxmo.addDevice (device2); fauxmo.addDevice (device3);
Następnie napisz funkcję porównującą nasze polecenia głosowe z predefiniowanymi nazwami urządzeń. Jeśli polecenie pasuje, wyślij znak do terminali szeregowych Arduino za 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");}}
W funkcji void loop (), funkcja fauxmo.handle po prostu sprawdzi dane przychodzące z Alexy i podejmie działania przy użyciu funkcji onSetstate () .
void loop () {fauxmo.handle (); }
Teraz prześlij cały kod podany na końcu do modułu ESP-01 i upewnij się, że przesyłanie zakończyło się pomyślnie.
Kod Arduino:
Potem czas na wgranie kodu do Arduino. Kod dla Arduino jest bardzo prosty. Odbiera tylko znaki wysłane z modułów ESP-01 przez swoje terminale UART i porównuje je, aby wysłać sygnał włączenia / wyłączenia do przekaźnika. Pełny program dla Arduino przedstawiono poniżej:
dane char; void setup () {Serial.begin (115200); pinMode (7, WYJŚCIE); pinMode (6, WYJŚCIE); pinMode (5, WYJŚCIE); digitalWrite (7, NISKI); digitalWrite (6, NISKI); digitalWrite (5, NISKI); } void loop () {if (Serial.available ()> 0) {data = Serial.read (); Serial.print (dane); Serial.print ("\ n"); if (dane == '1') digitalWrite (7, WYSOKI); else if (data == '2') digitalWrite (7, LOW); else if (data == '3') digitalWrite (6, HIGH); else if (dane == '4') digitalWrite (6, LOW); else if (data == '5') digitalWrite (5, HIGH); else if (dane == '6') digitalWrite (5, LOW); }}
Po udanym wgraniu kodu do Arduino, następnie podłącz sprzęt zgodnie ze schematami podanymi poniżej.
Schemat obwodu
Schemat obwodu automatyki domowej z wykorzystaniem Alexy pokazano poniżej:
Tutaj przylutowaliśmy wszystkie komponenty na płycie Perfboard, aby działała jak osłona Arduino.
Podobnie zbudowaliśmy również moduł przekaźnika na tablicy perforowanej:
Skonfiguruj aplikację Amazon Alexa dla automatyki domowej
Po pomyślnym zakończeniu konfiguracji sprzętu i kodowania nadszedł czas, aby skonfigurować aplikację Alexa na Androida. Najpierw musimy wyszukać pobliskie urządzenia inteligentne za pośrednictwem tej aplikacji. Aby to zrobić, włącz urządzenie Alexa, a następnie otwórz aplikację Alexa i kliknij opcję „ Urządzenia ”, a następnie kliknij znak „+”, który zapyta o „ Dodaj urządzenie ”. Następnie kliknij „ Dodaj urządzenie ”, w typie urządzenia kliknij „ inne ”, a następnie wybierz wykryj urządzenia. Następnie aplikacja Alexa powinna wyszukać urządzenie, co może zająć do 45 sekund.
Uwaga: Alternatywnie możemy również wykryć urządzenia za pomocą polecenia głosowego „ Alexa, odkryj urządzenia ”
Po zakończeniu wykrywania urządzeń powinieneś otrzymać 3 nowe urządzenia według nazw, które podaliśmy w kodzie. W moim przypadku są to światło sypialnia , wentylator sypialnia, a gniazdo mądry . Teraz konfiguracja jest gotowa do testowania, po prostu przetestuj, mówiąc „ Alexa, włącz światło w sypialni ” i powinna zwrócić Twoją opinię, mówiącą „OK”, a światło powinno się włączyć. Podobnie możemy przetestować wszystkie inne polecenia.
Tak będzie wyglądać kompletna konfiguracja urządzeń domowych sterowanych punktowo Amazon Echo:
Pełny kod dla ESP-01 wraz z filmem demonstracyjnym znajduje się poniżej.