Spisu treści:
- Krok 1: Konfiguracja umiejętności Alexa
- Krok 2: Skrypt Pythona AWS Lambda Server
- Krok 3:
- Krok 4: Ustaw łącze zestawu umiejętności Alexa na AWS Lambda
- Krok 5: Konwersja Arduino NANO 3V3
- Krok 6: Kod NANO
- Krok 7: ESP8266
- Krok 8: Konfiguracja sieci
- Krok 9: Alexa Open Clicker Tv Pauza
Wideo: Pilot do telewizora Alexa Voice Control ESP8266: 9 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:32
Czy ktoś w twoim domu zgubi pilota, czy wchodzisz do pustego pokoju, aby zobaczyć, że telewizor ryczy. Baterie zaczynają się psuć i brak kontroli z tyłu pomieszczenia. Teraz możesz sterować telewizorem, rejestratorem DVR, wszystkim za pomocą sterowania IR, dla którego możesz przechwycić sygnał IR. Zrobiłem ten system do sterowania moim SKY DVR za pomocą prostego interfejsu głosowego.
Wymagany sprzęt:
- Amazon Echo lub Dot
- Router Wi-Fi, który może przekierować porty (mój dostawca usług zrobił to za mnie)
- Arduino NANO przekonwertowane na 3V3
- ESP8266 -01 lub podobny
- Moduł lub obwód nadajnika IR
- Moduł odbiornika IR, jeśli chcesz przechwytywać kody.
Wymagane oprogramowanie i usługi:
- Arduino IDE, użyłem 1.6.11
- Konto umiejętności Amazon Alexa (bezpłatne)
- Konto Amazon AWS (bezpłatny poziom, ale do otwarcia konta wymagana jest karta kredytowa) lub alternatywny serwer.
Krok 1: Konfiguracja umiejętności Alexa
Zestaw umiejętności Alexas przejmuje polecenie głosowe i filtruje je za pomocą listy „wartości”
Po zarejestrowaniu:
W konsoli programisty Amazon wybierz zakładkę Alexa> Zestaw umiejętności Alexa [Rozpocznij]
[Dodaj nową umiejętność]
Typ umiejętności:Niestandardowy model interakcji
Język: wybierz poprawny, gdyby ten był ustawiony na angielski (USA), nie odpowiadał !
Nazwa: teraz nie jest to ważne, ponieważ nie publikujemy.
Nazwa wywołania:, wybierz krótką nazwę, to słowo używane do otwierania aplikacji.
[NASTĘPNY]
Schemat intencji, wklej w kodzie
Niestandardowe typy slotów {Add Slot Type], wpisz EFFECT_ON_TV
w wartości Slot, wklej kod
Przykładowe wypowiedzi, umieść, TVCommandIntent tv {TVAction}
[SAVE], na następnej stronie umiejętności musimy dodać link do kodu, który będziemy uruchamiać, gdy "Intencja" zostanie wywołana przez słowo startowe aplikacji "clicker" lub po tym przez "tv {slot value}".
Wrócimy do Alexy po skonfigurowaniu skryptu Pythona serwera Lambda.
Krok 2: Skrypt Pythona AWS Lambda Server
Zarejestruj się w bezpłatnej warstwie AWS, miałem obawy, że może to kosztować mnie prawdziwe pieniądze, ale po pewnym czasie korzystania z niej i czytaniu forów limity użytkowania są tak wysokie do użytku osobistego i programistycznego, że nigdy nie powinny osiągnąć punktu ładowania. Istnieje alternatywa dla użycia własnego serwera HTTPS i być może jest to coś, co może zrobić esp8266, kolejna instrukcja!
Jest to kod, który uruchamia się, gdy wypowiadana jest nazwa wywołania (np. „Alexa open clicker”) i otrzymuje magiczne słowo od Alexy. Po uruchomieniu aplikacji wystarczy powiedzieć „odtwarzanie telewizji, skok tv pięć”, a Alexa wyśle „odtwórz”, „skok 5” do tego skryptu Pythona. Aplikacja wygaśnie, jeśli po pewnym czasie nie otrzyma odpowiedzi.
W usługach AWS najpierw wybierz swoją lokalizację, w prawym górnym rogu znajduje się opcja.
dla USA wybierz N Virginia, dla UE wybierz Irlandię.
wybierz Lambda z nagłówka Compute.
[Utwórz funkcję Lambda]
[Pusta funkcja]
Skonfiguruj wyzwalacz: kliknij kropkowane pole i wybierz Zestaw umiejętności Alexa
[NASTĘPNY]
Konfiguruj funkcję
Nazwij co chcesz
Opis, do Ciebie
Runtine: Python 2.7
wklej w kodzie Pythona,
w kodzie adres URL HTTP będzie musiał zostać później zmieniony na własny zewnętrzny adres IP
link="https://185.255.255.255:777/text?data="+ ulubiony_kolor
niżej na ekranie znajduje się ROLA, kliknij zakładkę i wybierz Wybierz niestandardową rolę
Spowoduje to otwarcie nowego ekranu i kliknięcie przycisku Zezwól, powrót do ekranu Konfiguruj funkcję z wybranym wykonaniem podstawowym Lambda jako Istniejąca rola.
[NASTĘPNY] przegląd, naciśnij [Utwórz funkcję] i powinien się skompilować i dać ci numer ARN. SKOPIUJ ten kod, a umieścimy go w zestawie umiejętności alexa.
Krok 3:
Krok 4: Ustaw łącze zestawu umiejętności Alexa na AWS Lambda
W zestawie umiejętności Alexa wybierz stronę konfiguracji, nagłówek Global Fields i wybierz AWS Lambda oraz swój region i wklej kod ARN w polu [NEXT], w teście zaznacz opcję WŁĄCZONE.
Skończyliśmy na razie, teraz dla jakiegoś sprzętu.
Krok 5: Konwersja Arduino NANO 3V3
ESP8266 działa w trybie 3v3, więc albo uruchamiasz go z zewnętrznego regulatora, albo konwertujesz nano. Użyłem klona nano z chipem USB CH340. Mam dwa różne układy PCB, które znam, ale mam nadzieję, że obejmie to większość układów.
Musimy wymienić regulator 5V na zgodny z pinami 3v3, 1117-3. następnie poprowadź 5V z gniazda usb tylko do regulatora i podłącz wszystko inne do jego wyjścia. na szczęście można to osiągnąć usuwając diodę wejściową zastępując regulator i dodając jeden przewód od strony wejściowej diody do Vin na płytce nano.
sprawdź, czy możesz zaprogramować nano po konwersji.
Krok 6: Kod NANO
To użyło kodów do mojego pilota SKY UK, może to być specyficzne dla modelu i warto sprawdzić, czy twoje kody działają w osobnym szkicu, który nie jest powiązany z esp8266.
Użyłem biblioteki IRremote firmy shirriff w wersji 2.0.1
Użyj przykładu IRrecord do przechwytywania poleceń zdalnych, które wymagają modułu odbiornika podczerwieni lub możesz znaleźć swoje kody w Internecie? Nie będę się tym zajmował, ale tutaj możesz wybrać, co kontrolujesz i jak.
Podłącz nadajnik podczerwieni dostępny w serwisie eBay lub zbuduj go. Powinieneś użyć diody IR 850nm, ponieważ są one najczęstsze w odbiornikach. Biblioteka IR używała D3 jako swojego pinu TX
Słowo alexa zostaje przekazane do nano, więc odtąd jego nano ze sterowaniem głosowym.
Krok 7: ESP8266
Jest wiele modułów ESP8266, użyłem jednego, który musiałem podłączyć pod mikroskopem, ESP8266-01 ma nagłówek 2x4 i wszystkie potrzebne piny i jest tani. Mnóstwo przykładów w sieci,. Mój trip ups, GPIO_0 musi być podłączony do masy podczas włączania (może następnie być pływany) podczas programowania, jest to pin konfiguracyjny, wewnętrznie wyciągnięty wysoko. Po zaprogramowaniu pozwól GPIO_0 unosić się i ponownie zasilać. CHPD łączy się z V+ na stałe.
Zarządca płyty w arduino 1.6.11 nie ma linku esp8622, w Arduino IDEfile>preferencje>dodatkowe adresy URL menedżera tablicy, dodaj:
arduino.esp8266.com/stable/package_esp8266c…
następnie przejdź do menedżera zarządu i znajdź pakiet esp8266. to powinno dać ci dużą listę płyt esp8266, wybierz Narzędzia>Płyta>ESP8266 Generic Module. Używając modułu usb do uart możesz teraz zaprogramować część esp za pomocą esp8266_server_text. Zasilanie z 3V3, podłącz TX-RX, RX-TX i Gnd.
Musisz wpisać do skryptu swój identyfikator sieciowy SSID i hasło oraz port, który ustawisz do przekierowania portów, np. 777.
Możesz uruchomić kod, ponownie zasilając esp podczas połączenia z konwerterem usb na uart, a okno szeregowe arduino (9600 bodów) powinno wyświetlać lokalny adres IP modułu esp. wprowadź to do kodu i przeprogramuj.
Krok 8: Konfiguracja sieci
Tak więc, aby umożliwić wywołaniu URL Lambda połączenie z serwerem HTTP ESP, musimy ustawić router na przekierowanie portów. Dostałem zewnętrzny adres IP z https://www.whatsmyip.org/, jestem na łączu mikrofalowym, więc mój dostawca ma router i musiałem zażądać od niego przekierowania portów. Musiałem podać adres IP ESP8266 w mojej sieci i port, który wybrałem, np. 777. Zewnętrzny adres IP należy wpisać do skryptu lambda python, a twój lokalny adres esp zostanie wyświetlony po uruchomieniu kodu esp8266 przez łącze usb do uart.
Moduł ESP na połączeniu usb do uart powinien pokazywać na terminalu słowo przychodzące z lambdy.
Podłącz ESP do nano jak pokazano 3v3, gnd i TX do nano D2 soft serial. jeśli masz nano na usb do szeregowego wyświetlacza komunikacyjnego na epc powinien pokazywać, co otrzymuje od esp.
Jeśli ESP nie jest podłączony do sieci lub nie odpowiada na wywołanie URL z lambda, lambda przekroczy limit czasu, a Alexa zgłosi nieudaną odpowiedź umiejętności
Krok 9: Alexa Open Clicker Tv Pauza
Moduł postawiłem obok odbiornika, ale przy większej mocy wyjściowej IR może być w dowolnym miejscu w pomieszczeniu. Używam zasilacza USB znanej marki do zasilania przez USB.
Usiądź wygodnie i powiedz „Alexa otwórz Clicker”
program telewizyjny
telewizor zgasł
wybór telewizora
gra w telewizji
telewizja skacze na pięć
aby przeskoczyć do przodu o określoną liczbę minut, makra przesuną się do 30x, poczekaj na żądany czas, a następnie zagrają.
Reklamy w Wielkiej Brytanii trwają około pięciu minut.
Aby wyjść z aplikacji, powiedz Alexa quit.
Cieszyć się.
Zalecana:
Pilot do telewizora staje się pilotem RF -- Samouczek NRF24L01+: 5 kroków (ze zdjęciami)
Pilot do telewizora staje się pilotem RF || NRF24L01+ Tutorial: W tym projekcie pokażę, jak wykorzystałem popularny nRF24L01+ RF IC do bezprzewodowej regulacji jasności taśmy LED za pomocą trzech bezużytecznych przycisków pilota do telewizora. Zacznijmy
Automatyczna zmiana kanałów Pilot do telewizora z Arduino: 6 kroków
Pilot TV z automatyczną zmianą kanałów z Arduino: Początkową motywacją dla tego projektu było to, że nasz klient ma demencję naczyniową i jest prawnie niewidomy. To spowodowało, że ma trudności z zapamiętaniem, kiedy i na jakich kanałach telewizja pokazuje, które lubi, a także z oglądaniem
Uniwersalny pilot do telewizora - Ardiuino, podczerwień: 5 kroków
Uniwersalny pilot do telewizora - Ardiuino, na podczerwień: Witam! W tej instrukcji pokażę, jak zbudować i zaprogramować własnego pilota uniwersalnego, który będzie działał z większością rzeczy korzystających z pilota na podczerwień i który będzie również „słuchał”. i dekodować sygnał podczerwieni wysyłany przez różne inne
Pilot do telewizora: 9 kroków
Pilot TV: WPROWADZENIENa tej stronie pokażemy krok po kroku projekt, który wykonaliśmy dla Usos Académicos en la terminología del Inglés. Wszystko jest udokumentowane, więc jeśli chcesz odtworzyć projekt, możesz. Oprogramowanie, którego użyliśmy do
Wspomagający pilot do telewizora: 7 kroków
Wspomagający pilot do telewizora: Obecne piloty telewizyjne mogą być mylące i trudne w obsłudze. Małe przyciski i mylący układ utrudniają fizyczne naciśnięcie przycisku i zapamiętywanie, które przyciski należy nacisnąć. Celem tego projektu była walka z tymi trudnymi