Spisu treści:

Pilot do telewizora Alexa Voice Control ESP8266: 9 kroków
Pilot do telewizora Alexa Voice Control ESP8266: 9 kroków

Wideo: Pilot do telewizora Alexa Voice Control ESP8266: 9 kroków

Wideo: Pilot do telewizora Alexa Voice Control ESP8266: 9 kroków
Wideo: WiFi RF DIY Smart Light Switch Module Universal Breaker Timer Support Voice Control by Alexa 2024, Lipiec
Anonim
Pilot do telewizora Alexa Voice Control ESP8266
Pilot do telewizora Alexa Voice Control ESP8266

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:

  1. Amazon Echo lub Dot
  2. Router Wi-Fi, który może przekierować porty (mój dostawca usług zrobił to za mnie)
  3. Arduino NANO przekonwertowane na 3V3
  4. ESP8266 -01 lub podobny
  5. Moduł lub obwód nadajnika IR
  6. Moduł odbiornika IR, jeśli chcesz przechwytywać kody.

Wymagane oprogramowanie i usługi:

  1. Arduino IDE, użyłem 1.6.11
  2. Konto umiejętności Amazon Alexa (bezpłatne)
  3. Konto Amazon AWS (bezpłatny poziom, ale do otwarcia konta wymagana jest karta kredytowa) lub alternatywny serwer.

Krok 1: Konfiguracja umiejętności Alexa

Konfiguracja umiejętności Alexa
Konfiguracja umiejętności Alexa
Konfiguracja umiejętności Alexa
Konfiguracja umiejętności Alexa
Konfiguracja umiejętności Alexa
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

Ustaw łącze zestawu umiejętności Alexa do AWS Lambda
Ustaw łącze zestawu umiejętności Alexa do 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

Konwersja Arduino NANO 3V3
Konwersja Arduino NANO 3V3
Konwersja Arduino NANO 3V3
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

Kod NANO
Kod NANO
Kod NANO
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

ESP8266
ESP8266
ESP8266
ESP8266
ESP8266
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

Ustawienia sieci
Ustawienia sieci
Ustawienia sieci
Ustawienia 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

Alexa Open Clicker TV Pauza
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: