Serwisy partnerskie:
Close icon
Serwisy partnerskie

Sterowanie dowolnym telewizorem za pomocą Alexy

Jedną z imponujących cech inteligentnego domu jest to, że wszystkie urządzenia elektroniczne mogą działać autonomicznie, co czyni je inteligentnymi. Oznacza to, że telewizja (TV) również może stać się inteligentna i być sterowana za pomocą Alexy. Niestety, funkcja ta nie jest obecna w większości telewizorów. Aby korzystać z takiej funkcji, potrzebny jest Fire TV Stick. Ale nawet to nie jest możliwe, ponieważ Fire TV Stick nie jest dostępny dla wszystkich telewizorów. Ten projekt opisuje jak zrobić kontroler Alexa IoT TV, który rozwiąże powyższy problem.
Article Image

Cały system działa w następujący sposób:

  1. Alexa połączy się z urządzeniem IoT przez Wi-Fi
  2. Urządzenie IoT będzie otrzymywać polecenia od Alexy, aby wyzwolić diodę IR LED do sterowania Set Top Box lub TV.

Kontroler Alexa IoT TV nie jest ograniczony tylko do sterowania telewizorami. Możesz go użyć do sterowania dowolnym innym urządzeniem, które używa pilota IR.

Brzmi interesująco!? Zbierz swoje narzędzia i budujemy.

Wykaz elementów
Ilość
Symbol
Nazwa/opis/gdzie kupić

Przygotowanie

Aby zainstalować płytkę ESP8266 w Arduino IDE, przejdź do Files → Preferences → Paste the URL. Następnie przejdź do Tools → Board Manager → Search esp8266 i zainstaluj płytkę w Arduino IDE.

Zainstaluj również bibliotekę esplexa w Arduino IDE, ponieważ pozwoli ona Alexie kontrolować urządzenia IoT, które zostały dodane do aplikacji Alexa. Następnie zainstaluj bibliotekę IR remote, która pozwoli Ci zdekodować kod hex dla transmisji do telewizora.

Kodowanie

Trzeba napisać dwa kody: jeden dla ESP8266-01, który będzie używany jako urządzenie IoT dla Alexy, a drugi dla Arduino, który będzie wyzwalał diodę IR LED do sterowania telewizorem. Aby sterować telewizorem za pomocą Alexy, utwórz kod za pomocą espalexa. Pozwala on również na dodawanie urządzeń oświetleniowych do Alexy. Należy jednak pamiętać, aby ustawić funkcję przekazywania komend sterujących do Arduino dla sterowania telewizorem, a nie oświetleniem.

Kod Esp8266-01

Najpierw inicjalizujemy bibliotekę espalexa, a następnie dodajemy w kodzie wymagane urządzenie/urządzenia tak, aby Alexa odbierała funkcje poszczególnych przycisków pilota TV.

Uwaga: Ponieważ nie można sprawić, by espalexa działała jako zdalne urządzenie, użyj zamiast tego następującej sztuczki. Utwórz funkcję dla oświetlenia, która uaktywni diodę IR telewizora i umożliwi Ci sterowanie nim jak pilotem. Na przykład, dla przycisku ON, utwórz funkcję o nazwie firstLightChanged() w kodzie. Dla kolejnego przycisku będzie to funkcja o nazwie secondLightChanged(), itd.

W funkcji setup() ustaw prędkość transmisji szeregowej na 9600 lub 115200, aby polecenia mogły być pomyślnie przekazywane do Arduino.

Rysunek 1. Kod Esp8266 ustawiający SSID i hasło Wi-Fi
Rysunek 2. Dodawanie urządzeń

Następnie należy dodać obsługę urządzeń definiując ich nazwy i funkcje, którymi będą obsługiwane. Ilekroć Alexa otrzyma polecenie, będzie uruchamiać funkcje firstLightChanged(), secondLightChanged(), itp, związane z konkretnym podłączonym urządzeniem, czyli pilotem TV. Funkcje te odpowiadają poleceniom takim jak zwiększanie/zmniejszanie głośności, włączanie/wyłączanie telewizora, następny kanał, ulubiony kanał itp.

Kod Arduino

Napisz kod dla Arduino, który będzie pobierał komendy z espalexa, a następnie wyzwalał diodę IR LED, aby działała jak pilot do telewizora.

Dołącz bibliotekę Infrared i wklej do kodu tablicę przycisków pilota (patrz rysunek poniżej). Następnie utwórz funkcję setup(), która ustawi port szeregowy za pomocą Serial.begin(prędkość transmisji). Podaj konkretną szybkość transmisji (najlepiej 115200).

Następnie utwórz funkcję loop() do sprawdzania komend przychodzących z portu szeregowego. Potem utwórz zagnieżdżony warunek if do sprawdzania odebranych komend i zdefiniuj funkcje. Na przykład, jeśli polecenie jest 1 i chcesz oglądać kanał Discovery, to ustaw funkcję dla tego polecenia, aby otworzyć ten konkretny kanał. Następnie wyślij numer kanału Discovery z IR LED za pomocą IR send. Czyli jeśli kanał Discovery w dekoderze to 102, to wyślij kod na przycisk 1, potem 0 i potem 2 z opóźnieniem 200 mikrosekund.

Rysunek 3. Kod Arduino
Rysunek 4. Kod dla funkcji przycisków pilota IR
Rysunek 5. Ustawianie szybkości transmisji szeregowej
Rysunek 6. 
Rysunek 7. Schemat połączeń

Dodawanie urządzenia do Alexy

Aby dodać urządzenie IoT do Alexy, otwórz aplikację Alexa i przejdź do Option → Add Device → Wybierz urządzenie, które ma zostać dodane, a następnie pozwól Alexie wyszukać nowe urządzenie w sieci. Po zakończeniu wyszukiwania wyświetlana jest lista urządzeń do podłączenia. Wybierz je jeden po drugim i dodaj do Alexy. Od teraz Alexa jest gotowa do kontrolowania Twojego urządzenia (urządzeń) IoT.

Rysunek 8. Aplikacja Alexa dodająca nowe urządzenia
Rysunek 9. 
Rysunek 10. Dodane nowe urządzenia

Procedura ustawień

Aby ustawić niestandardowe polecenia głosowe dla kanałów i funkcji zdalnych, które mają działać rutynowo, otwórz aplikację Alexa i przejdź do Settings → Routines → Add new routine. Teraz ustaw nowe polecenie głosowe, takie jak np. „Alexa Star Plus” (przełączy na kanał Star Plus) lub „Alexa volume up” (zwiększa głośność), itp. Następnie ustaw akcję, która ma być wykonana dla tego polecenia. Wybrana akcja będzie uruchamiała odpowiednią funkcję do sterowania przyciskami pilota.

Testowanie

Podłącz zasilanie do urządzenia i powiedz (zgodnie z wcześniej ustawionym poleceniem) np. „Alexa volume up”. Po usłyszeniu polecenia, Alexa przekaże akcję do esp8266, który następnie wyśle polecenie do Arduino i uruchomi diodę podczerwieni, aby sterować telewizorem zgodnie z żądaniem.

Gratulacje! Teraz możesz sterować dowolnym telewizorem za pomocą Alexy. Ciesz się nowym doświadczeniem w swoim inteligentnym domu.

Wideo
Do pobrania
Download icon Sterowanie dowolnym telewizorem za pomocą Alexy - kod źródłowy
AUTOR
Źródło
www.electronicsforu.com
Udostępnij
UK Logo