Spisu treści:
- Krok 1: Łączenie Heroku z GitHub
- Krok 2: Amazonka
- Krok 3: Arduino
- Krok 4: Opis komponentu
- Krok 5: Połączenia
- Krok 6: Sprawdzenie wszystkich rzeczy
- Krok 7: Diagram VUI (Voice User Interface)
- Krok 8: Demo
- Krok 9: Schemat
Wideo: Przełącznik sterowany głosem za pomocą Alexa i Arduino: 10 kroków (ze zdjęciami)
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:31
Głównym celem tego projektu jest wykorzystanie czujnika temperatury do sterowania przełącznikiem (przekaźnikiem) w celu włączenia lub wyłączenia urządzenia.
Lista materiałów
- Moduł przekaźnika 12 V ==> 4,2 usd
- Arduino uno ==> 8 USD
- Czujnik temperatury DHT11 ==> 3 USD
- Moduł ESP8266 ==> 4,74 usd
- Transoptor N26 ==> 0,60 USD
- Regulator napięcia LM1117 ==> 0.60 usd
- Deska do krojenia chleba ==> 2,2 USD
- Przewody połączeniowe ==> 2,5 USD
- Przycisk ==> 2,5 USD
Całkowity koszt projektu to około 30 dolarów. Projekt podzielony jest na trzy części. Najpierw używamy heroku do tworzenia aplikacji. Po drugie, budujemy umiejętność Amazon Alexa, aby wdrożyć naszą pracę (najważniejsza część). Po trzecie, konfigurujemy nasz sprzęt i programujemy go za pomocą Arduino IDE.
Krok 1: Łączenie Heroku z GitHub
Heroku to platforma chmurowa jako usługa (PaaS) obsługująca kilka języków programowania, która jest wykorzystywana jako model wdrażania aplikacji internetowych. Najpierw wejdź na stronę heroku, utwórz nowe konto lub zaloguj się tam. Link jest podany poniżej
Strona internetowa Heroku
Zacznijmy od stworzenia nowej aplikacji. Nazwę mojej aplikacji nadałem "iottempswitch" podczas wdrażania aplikacji, link jest generowany.
Po utworzeniu aplikacji przejdź do GitHub. GitHub/
Zaloguj się tam lub zarejestruj, jeśli nie masz konta. Po zalogowaniu utwórz nowe repozytorium. Podaj dowolną nazwę, którą chcesz wybrać, a następnie naciśnij Utwórz repozytorium. Na następnej stronie kliknij README, na tej stronie podaj opis, który chcesz udostępnić innym. Następnie kliknij zatwierdź nowy plik. Następnie kliknij przycisk przesyłania.
Istnieją dwie opcje: przeciągnij i upuść folder lub wybierz plik. Pobierz wymagane pliki poniżej. Po wybraniu plików naciśnij zatwierdź zmiany. Otwórz aplikację, którą stworzyłeś w Heroku, a następnie przejdź do sekcji wdrażania. Następnie kliknij na GitHub. Nadaj nazwę repozytorium, które utworzyłeś po stronie GitHub. W moim przypadku jest to Smart-Relay. Skopiuj to i wklej tutaj. Po wyświetleniu linku kliknij Połącz. Następnie kliknij opcję Wdróż gałąź (ręcznie). Po wdrożeniu możesz zobaczyć link w dzienniku kompilacji lub możesz zobaczyć link w ustawieniach. Potrzebujemy tego linku później, gdy będziemy tworzyć umiejętności Amazon.
Krok 2: Amazonka
Najnowsze zdjęcia umiejętności Alexa
Na stronie Amazon Developer używamy umiejętności Amazon do kontrolowania spustu przełącznika poprzez ustawienie temperatury i wilgotności.
Przejdź do witryny programisty Amazon. Link znajduje się poniżej.
Witryna programisty Amazon
- Przejdź do konsoli programisty w prawym górnym rogu, jak pokazano na rysunku i4
- Przejdź do Alexa, a następnie wybierz Alexa Skill Kit, a następnie utwórz nową umiejętność, klikając Dodaj nową umiejętność.
Po dodaniu nowej umiejętności zobaczysz stronę z informacjami o umiejętnościach.
1. Informacje o umiejętnościach (jak pokazano na obrazku i7)
musimy podać typ umiejętności, język, nazwę, nazwę wywołania.
Typ umiejętności ==> wybierz niestandardowy
- Nazwa ==> wybierz dowolną nazwę.
- Nazwa wywołania ==>, której używasz podczas komunikacji z Alexą. Na przykład;- Alexa, poproś czujnik o włączenie wyzwalacza przełącznika lub Alexa, zapytaj o światło tutaj nazwy wywołania to czujnik i światło.
- Język ==> angielski (Indie). Wybierz według swojego kraju
kliknij zapisz, a następnie dalej
2. Model interakcji
Tutaj użyjemy kreatora umiejętności. Tak więc, kliknij Uruchom Konstruktor Umiejętności. zobaczysz stronę pokazaną na obrazku i8.
Najpierw tworzymy nowe intencje. Kliknij Dodaj (po lewej stronie) i nadaj dowolną nazwę, której użyłem "smartswitch"
- Podaj nazwę typu gniazda „measurement_type” i wartości gniazda „temperatura” i „wilgotność”, jak pokazano na rysunku i9.
- Następnie dodaj nazwę typu gniazda „zapytanie”, a wartości gniazda to „co” i „jest”, jak pokazano na obrazku i10.
- Następnie dodaj typ slotu "switchstate", a wartości slotów to "on" i "off", jak pokazano na obrazku i11.
- Dodaj kolejny typ gniazda „tempscale”, a wartości gniazda to „fahrenheit” i „celcuis”, jak pokazano na obrazku i12.
- Następnie dodaj nowy typ slotu tutaj używamy istniejącego typu slotu, w tym celu musimy kliknąć użyj istniejącego slotu. W istniejącym slocie wyszukaj amazon.number i wybierz to i dodaj. Po dodaniu go zobaczysz w typach gniazd, jak pokazano na obrazku i13.
Więc skończyliśmy z typami slotów, całkowity typ slotu, którego używamy, to 5. Teraz przejdź do następnego kroku. Kliknij intencję, którą stworzyliśmy, w moim przypadku jest to smartswitch. Po prawej stronie zobaczysz gniazdo intencji, jak pokazano na obrazku i14.
- Utwórz nowy slot, nadaj mu nazwę „Switch_State” i zmapuj go na „switchstate” za pomocą przycisku rozwijanego, jak pokazano na obrazku i15.
- Utwórz nowy slot, nadaj mu nazwę „Sensor_Values” i zmapuj go na „measurement_type”, jak pokazano na obrazku i16.
- Utwórz nowy slot, nadaj mu nazwę "query" i zmapuj go na "query", jak pokazano na obrazku i17.
- Następnie utwórz nowy slot "tmp_scale" i zmapuj go na "tempscale", jak pokazano na obrazku i18.
- Utwórz nowy slot „Numbers” i zmapuj go na „Amazon. Numbers”, jak pokazano na obrazku i19.
Teraz skończyliśmy z automatami Intent. Używamy 5 slotów intencji. Następnie przechodzimy do Sample Utterances, jak pokazano na obrazku i20.
Dodaj te przykładowe wypowiedzi.
ustaw wyzwalacz przełącznika na {Numbers} procent {tmp_scale}
{zapytanie} to stan przełącznika
Włącznik przełącznika {Switch_State}
ustaw wyzwalacz przełącznika na {Numbers} stopień {tmp_scale}
włącz przełącznik {Switch_State}
{query} przełącznik {Switch_State}
{query} to bieżące {Sensor_Values}
Następnie zapisz model i zbuduj go. Poczekaj, aż model zostanie zbudowany, po tym kliknij konfigurację. Po zbudowaniu zobaczysz komunikat, jak pokazano na obrazkach i21 i i22.
3. Konfiguracja
Wybierz HTTPS i dodaj link, który został wygenerowany podczas tworzenia aplikacji heroku. W moim przypadku jest to https://iottempswitch.herokuapp.com/. Po dodaniu linku kliknij Dalej, jak pokazano na obrazku i23.
4. Certyfikat SSLWybierz drugą opcję i kliknij Dalej, jak pokazano na obrazku i24.
z powodzeniem stworzyliśmy naszą umiejętność.
Krok 3: Arduino
Otwórz Arduino IDE. Następnie przejdź do Plik ==> Preferencje
W Menedżerze dodatkowych tablic skopiuj i wklej adres URL i kliknij ok, jak pokazano na obrazku i26.
arduino.esp8266.com/versions/2.4.0/package_…
- Otwórz Menedżera tablicy, przechodząc do Narzędzia ==> Tablica ==> Menedżer tablicy.
- Otwórz Menedżera tablic i wyszukaj nodemcu, jak pokazano na obrazku i27.
- Następnie pobierz bibliotekę ESP8266WiFi. Otwórz menedżera bibliotek: Szkic ==> Dołącz bibliotekę ==> Zarządzaj bibliotekami.
- Wyszukaj bibliotekę ESP8266WiFi i zainstaluj ją.
- Wybierz płytkę ==> Ogólny moduł ESP8266.
- Przed wgraniem kodu potrzebujemy trzech bibliotek.
Wymagane biblioteki
Przenieś te biblioteki do folderu bibliotek Arduino
Musisz zmienić trzy rzeczy w kodzie SSID, PWD i link do aplikacji heroku. Następnie wgraj kod. W przypadku modułu ESP należy wcisnąć przycisk flash podczas wczytywania kodu, a następnie jednokrotnie wcisnąć przycisk reset, a następnie zwolnić przycisk flash. Po wgraniu kodu otwórz terminal. zobaczysz wyjście.
Krok 4: Opis komponentu
1. Co to jest przekaźnik?
Przekaźnik jest urządzeniem elektromagnetycznym, które służy do elektrycznego odizolowania dwóch obwodów i połączenia ich magnetycznie. Są to bardzo przydatne urządzenia i umożliwiają przełączanie jednego obwodu na inny, gdy są całkowicie odseparowane. Są one często używane do łączenia obwodu elektronicznego (działającego przy niskim napięciu) z obwodem elektrycznym, który działa przy bardzo wysokim napięciu. Na przykład przekaźnik może utworzyć obwód akumulatora 5 V DC, aby przełączyć obwód sieci 230 V AC.
Jak to działa
Przełącznik przekaźnikowy można podzielić na dwie części: wejście i wyjście. Sekcja wejściowa ma cewkę, która generuje pole magnetyczne, gdy zostanie do niej przyłożone niewielkie napięcie z obwodu elektronicznego. To napięcie nazywa się napięciem roboczym. Powszechnie stosowane przekaźniki są dostępne w różnych konfiguracjach napięć roboczych 6V, 9V, 12V, 24V itd. Sekcja wyjściowa składa się ze styczników, które łączą lub rozłączają mechanicznie. W podstawowym przekaźniku znajdują się trzy styczniki: normalnie otwarty (NO), normalnie zamknięty (NC) i wspólny (COM). W stanie braku wejścia COM jest podłączony do NC. Po przyłożeniu napięcia roboczego cewka przekaźnika jest zasilana i COM zmienia styk na NO. Dostępne są różne konfiguracje przekaźników, takie jak SPST, SPDT, DPDT itp., które mają różną liczbę styków przełącznych. Stosując odpowiednią kombinację styczników można włączać i wyłączać obwód elektryczny. Uzyskaj szczegółowe informacje na temat budowy przełącznika przekaźnikowego.
Terminal COM jest terminalem wspólnym. Jeżeli zaciski COIL są zasilane napięciem znamionowym, zaciski COM i NO mają ciągłość. Jeżeli zaciski COIL nie są zasilane, to zaciski COM i NO nie mają ciągłości.
Zacisk NC to zacisk normalnie zamknięty. Jest to terminal, który może być włączony, nawet jeśli przekaźnik nie otrzymuje żadnego lub wystarczającego napięcia do pracy.
Zacisk NO to zacisk normalnie otwarty. Jest to terminal, na którym umieszczasz wyjście, które chcesz włączyć, gdy przekaźnik otrzyma napięcie znamionowe. W przypadku braku napięcia na zaciskach COIL lub niewystarczającego napięcia wyjście jest otwarte i nie otrzymuje napięcia. Gdy zaciski COIL otrzymują napięcie znamionowe lub nieco poniżej, zacisk NO otrzymuje wystarczające napięcie i może włączyć urządzenie na wyjściu.
2. Czujnik temperatury DHT
DHT11 to czujnik wilgotności i temperatury, który generuje skalibrowane wyjście cyfrowe. DHT11 może współpracować z dowolnym mikrokontrolerem, takim jak Arduino, Raspberry Pi itp., i uzyskiwać natychmiastowe wyniki. DHT11 to niedrogi czujnik wilgotności i temperatury, który zapewnia wysoką niezawodność i długoterminową stabilność.
3. Kompletny opis ESP8266
Moduł WiFi ESP8266 to samodzielny SOC ze zintegrowanym stosem protokołów TCP/IP, który może zapewnić dostęp do sieci WiFi każdemu mikrokontrolerowi. ESP8266 może obsługiwać funkcje sieciowe aplikacji z innej aplikacji. Każdy moduł ESP8266 jest wstępnie zaprogramowany za pomocą polecenia AT.
ESP8266 obsługuje APSD dla aplikacji VoIP i interfejsów współistnienia Bluetooth, zawiera samokalibrowany RF, co pozwala mu pracować we wszystkich warunkach pracy i nie wymaga zewnętrznych części RF.
Cechy
- 802.11b/g/n
- Wi-Fi Direct (P2P),
- Soft-APZintegrowany stos protokołów TCP/IP
- Zintegrowany przełącznik TR, balun, LNA, wzmacniacz mocy i pasująca sieć
- Zintegrowane PLL, regulatory, DCXO i jednostki zarządzania energią
- +19,5dBm moc wyjściowa w trybie 802.11b
- Wyłączenie prądu upływu <10uA
- 1 MB pamięci flash
- Zintegrowany 32-bitowy procesor o małej mocy może być używany jako procesor aplikacji
- SDIO 1.1 / 2.0, SPI, UART
- STBC, 1×1 MIMO, 2×1 MIMOA-MPDU i A-MSDU agregacja i interwał ochronny 0,4 ms
- Budzenie i przesyłanie pakietów w < 2ms
- Pobór mocy w trybie gotowości < 1,0 mW (DTIM3)
Opis pinów, jak pokazano na obrazku i34.
Do połączenia modułu ESP z Arduino UNO potrzebny jest regulator napięcia Lm1117 3.3 lub dowolny regulator, ponieważ Arduino nie jest w stanie dostarczyć 3,3 V do ESP8266.
Uwaga:- Podczas wgrywania kodu naciśnij przycisk flash, a następnie jeden raz naciśnij przycisk resetowania, a następnie zwolnij przycisk flash, jak pokazano na obrazku i29.
Do podłączenia czujnika DHT11 i przekaźnika wykorzystujemy dwa piny GPIO modułu ESP8266. Po wgraniu kodu można odłączyć piny RX, TX, GPIO0. Użyłem GPIO0 do czujnika DHT11 i GPIO2 do przekaźników. Czujnik DHT11 działa dobrze z ESP8266, ale do przekaźników potrzebujemy jeszcze jednej dodatkowej rzeczy, tj. izolatora optycznego lub sprzęgacza optycznego. Zobacz zdjęcie i30, i31, i32 i i33.
Krok 5: Połączenia
ESP8266 === > DHT11GPIO0 === > Pin wyjściowy
ESP8266 === > PrzekaźnikGPIO2 ===> Wejście
ARDUINO ===> ESP8266
Gnd ===> GndTX === > TX
RX === > RX
Przycisk resetowania === > RST
Przycisk lampy błyskowej ===> GPIO0
Krok 6: Sprawdzenie wszystkich rzeczy
Pomyślnie stworzyliśmy naszą aplikację, umiejętności i nasz sprzęt jest gotowy. Czas więc sprawdzić.
W tym celu twój ESP8266 jest włączony, ponieważ nasz serwer działa na ESP8266. Tutaj nie podłączyłem żadnego czujnika do ESP8266 tylko sprawdzam czy działa czy nie ale można podłączyć czujnik, przekaźnik do ESP8266. Po połączeniu z Heroku zobaczysz połączony. Aby przetestować, przejdź do utworzonej przez siebie umiejętności Amazon, a następnie kliknij stronę testową. Po sprawdzeniu, czy działa, podłączę czujnik do ESP8266. Możesz zobaczyć wyniki, jak pokazano na zdjęciach i35, i36, 37, 38, 39, 40.
Jeśli użyjesz go bez podłączenia ESP8266, pojawi się ten błąd, jak pokazano na obrazku i41.
Wypowiedź, której możesz użyć
ustaw wyzwalacz przełącznika na {Numbers} procent {tmp_scale}
np.:-ustawić spust przełącznika na 50% wilgotności
{zapytanie} to stan przełącznika
ex- on/off to stan przełącznika
Włącznik przełącznika {Switch_State}
ex - włącznik / wyłącznik spust
ustaw wyzwalacz przełącznika na {Numbers} stopień {tmp_scale}
ex - ustaw spust przełącznika na 76 stopni Fahrenheita
ex - ustaw spust przełącznika na 24 stopnie Celsjusza
włącz przełącznik {Switch_State}
ex - włącz/wyłącz
Zobacz obraz i41 do i46 dla wyników.
Podczas rozmowy z AlexaAlexą poproś arduino o włączenie/wyłączenie wyzwalacza przełącznika
Alexa, poproś arduino o ustawienie wyzwalacza przełącznika na 24 stopnie Celsjusza.
Alexa, poproś arduino o ustawienie spustu przełącznika na 50 procent wilgotności
Alexa, poproś arduino o włączenie/wyłączenie przełącznika
Krok 7: Diagram VUI (Voice User Interface)
Krok 8: Demo
1. Ustaw spust temperatury i wilgotności.
2. Ustaw spust na 20 stopni celsjusza.
3. Ustaw spust na 80% wilgotności.
Krok 9: Schemat
Zalecana:
Sterowany głosem przełącznik IOT IOT oparty na Arduino (obsługiwane Google Home i Alexa): 11 kroków
Sterowany głosem przełącznik IOT IOT oparty na Arduino (obsługiwane przez Google Home i Alexę): Ten projekt opisuje, jak stworzyć oparty na Arduino, sterowany głosem przełącznik przekaźnika IOT. Jest to przekaźnik, który możesz włączać i wyłączać zdalnie za pomocą aplikacji na iOS i Androida, a także powiązać go z IFTTT i sterować nim za pomocą głosu za pomocą Goog
Dron Raspberry Pi sterowany głosem Alexa z IoT i AWS: 6 kroków (ze zdjęciami)
Drone Raspberry Pi sterowane głosem Alexa z IoT i AWS: Cześć! Nazywam się Armaan. Jestem 13-latkiem z Massachusetts. Ten samouczek pokazuje, jak można wywnioskować z tytułu, jak zbudować drona Raspberry Pi. Ten prototyp pokazuje, jak drony ewoluują, a także jak dużą rolę mogą odegrać w
Robot Arduino z odległością, kierunkiem i stopniem obrotu (wschód, zachód, północ, południe) sterowany głosem za pomocą modułu Bluetooth i autonomicznego ruchu robota.: 6 kroków
Robot Arduino z odległością, kierunkiem i stopniem obrotu (wschód, zachód, północ, południe) sterowany głosem za pomocą modułu Bluetooth i autonomicznego ruchu robota.: Ta instrukcja wyjaśnia, jak zrobić robota Arduino, który można przesuwać w wymaganym kierunku (do przodu, do tyłu , Lewo, Prawo, Wschód, Zachód, Północ, Południe) wymagana odległość w centymetrach za pomocą polecenia głosowego. Robot może być również poruszany autonomicznie
Robot sterowany głosem za pomocą mikrokontrolera 8051: 4 kroki (ze zdjęciami)
Robot sterowany głosem wykorzystujący mikrokontroler 8051: Robot sterowany głosem przyjmuje określone polecenie w postaci głosu. Jakiekolwiek polecenie zostanie wydane przez moduł głosowy lub moduł Bluetooth, jest ono dekodowane przez istniejący kontroler, a zatem dane polecenie jest wykonywane. Tutaj, w tym projekcie, ja
Sterowany głosem przełącznik HDMI: 5 kroków
Przełącznik HDMI sterowany głosem: Co robisz, gdy telewizor ma 3 wejścia HDMI, ale masz 4 (lub więcej) urządzenia, które chcesz podłączyć? Cóż, jest dużo sięgania za telewizor i zamiany kabli. To dość szybko się starzeje. Więc pierwszą rzeczą, którą zrobiłem, było