Tartalomjegyzék:

Alexa Voice Control TV távvezérlő ESP8266: 9 lépés
Alexa Voice Control TV távvezérlő ESP8266: 9 lépés

Videó: Alexa Voice Control TV távvezérlő ESP8266: 9 lépés

Videó: Alexa Voice Control TV távvezérlő ESP8266: 9 lépés
Videó: home assistant control so many relay! 2024, Július
Anonim
Alexa Voice Control TV távirányító ESP8266
Alexa Voice Control TV távirányító ESP8266

Ha valaki a házában elveszíti a távirányítót, bemegy egy üres szobába, és megtalálja a tévékészüléket. Az elemek kezdenek meghibásodni, és nincs ellenőrzés a szoba hátuljáról. Mostantól vezérelheti a TV -t, a DVR -t, és bármit, amellyel IR -vezérlést készíthet, és amelyhez rögzítheti az infravörös jelet. Ezt a rendszert azért készítettem, hogy egy egyszerű hangfelülettel vezéreljem a SKY DVR -t.

Szükséges hardver:

  1. Amazon Echo vagy Dot
  2. Wifi útválasztó, amely továbbítani képes (a szolgáltatóm ezt megtette helyettem)
  3. Egy Arduino NANO átalakított 3V3 -ra
  4. ESP8266 -01 vagy hasonló
  5. IR adó modul vagy áramkör
  6. IR vevő modul, ha kódokat szeretne rögzíteni.

Szükséges szoftver és szolgáltatások:

  1. Arduino IDE, én az 1.6.11 -et használtam
  2. Amazon Alexa készségszámla (ingyenes)
  3. Amazon AWS -fiók (ingyenes szint, de hitelkártya szükséges a fiók megnyitásához) vagy alternatív szerver.

1. lépés: Alexa készségek beállítása

Alexa készségek beállítása
Alexa készségek beállítása
Alexa készségek beállítása
Alexa készségek beállítása
Alexa készségek beállítása
Alexa készségek beállítása

Az Alexas készségkészlet felveszi a hangparancsot, és az „értékek” listája segítségével szűr

Regisztráció után:

Az Amazon fejlesztői konzolban válassza az Alexa lap> Alexa Skills Kit [Kezdő lépések]

[Új készség hozzáadása]

Ügyességi típus: Egyéni interakciós modell

Nyelv: válassza ki a megfelelőt, ha ezt angolra (USA) állította be, akkor nem válaszol!

Név: ez most nem fontos, mivel nem teszünk közzé.

Meghívási név: válasszon egy rövid nevet, amely az alkalmazás megnyitásához használt szó.

[KÖVETKEZŐ]

Intent Schema, illessze be a kódot

Egyéni helytípusok {Résztípus hozzáadása], írja be az EFFECT_ON_TV parancsot

a Slot értékekbe, illessze be a kódot

Minta megszólalások, put, TVCommandIntent tv {TVAction}

[MENTÉS], a következő készségoldalon hozzá kell adnunk egy linket ahhoz a kódhoz, amelyet akkor fogunk futtatni, amikor a "Szándékot" vagy az alkalmazás "kattintó" kezdőszava, vagy ezt követően a "tv {slot value}" aktiválja.

A Lambda szerver python szkriptjének beállítása után visszatérünk az Alexához.

2. lépés: AWS Lambda Server Python parancsfájl

Iratkozzon fel az AWS ingyenes szintjére, aggódtam, hogy ez valódi pénzbe kerülhet, de egy kis használat és a fórumok elolvasása után a használati korlátok olyan magasak a személyes és fejlesztési célokra, hogy soha ne érjen el töltési pontot. Van egy alternatíva a saját HTTPS szerverének használatára, és talán ezt az esp8266 megteheti, egy másik tanulságos!

Ez az a kód, amely akkor fut, amikor a meghívási név elhangzik (pl. "Alexa open clicker"), és megkapja a varázsszót Alexától. Miután elindította az alkalmazást, csak annyit kell mondania, hogy "tv play, tv jump five", és Alexa "play", "jump 5" üzenetet küld erre a python -szkriptre. Az alkalmazás időtúllépést mutat, ha egy idő után nem érkezik válasz.

Az AWS szolgáltatásokban először válassza ki a tartózkodási helyét, a jobb felső sarokban van egy lehetőség.

az USA -ban N Virginia, az EU -ban Írország.

válassza ki a Lambda elemet a Számítás fejlécből.

[Lambda függvény létrehozása]

[Üres funkció]

A trigger beállítása: kattintson a pontozott mezőre, és válassza az Alexa Skills Kit lehetőséget

[KÖVETKEZŐ]

Funkció konfigurálása

Nevezz, amit akarsz

Leírás, rajtad múlik

Runtine: Python 2.7

illessze be a python kódot,

a kódban az URL HTTP -címet később saját külső IP -címre kell módosítani

link = "https://185.255.255.255:777/text?data=" + kedvenc_szín

a képernyő alsó részén SZEREP, kattintson a fülre, és válassza az Egyéni szerepkör kiválasztása lehetőséget

Ez megnyit egy új képernyőt, és kattintson az engedélyezés gombra., Visszatér a Konfigurálás funkció képernyőre, és a Lamda alapvető végrehajtása van kiválasztva Meglévő szerepkörként.

[KÖVETKEZŐ] a felülvizsgálatot, nyomja meg a [Funkció létrehozása] gombot, és össze kell állítania, és meg kell adnia egy ARN -számot. Másolja ezt a kódot, és beletesszük az alexa készségek készletébe.

3. lépés:

4. lépés: Állítsa az Alexa Skills Kit linkjét AWS Lambda értékre

Állítsa az Alexa Skills Kit linkjét AWS Lambda értékre
Állítsa az Alexa Skills Kit linkjét AWS Lambda értékre

Az Alexa készségkészletben válassza a Konfiguráció oldalt, a Globális mezők címet, majd válassza az AWS Lambda és az Ön régiója lehetőséget, és illessze be az ARN kódot a [KÖVETKEZŐ] mezőbe, a tesztben ellenőrizze, hogy engedélyezve van -e.

Egyelőre itt végeztünk, most néhány hardverre.

5. lépés: Arduino NANO 3V3 konverzió

Arduino NANO 3V3 konverzió
Arduino NANO 3V3 konverzió
Arduino NANO 3V3 konverzió
Arduino NANO 3V3 konverzió

Az ESP8266 3v3 -ról működik, így vagy külső szabályozóról futtatja, vagy átalakít egy nano -t. Én klón nano -t használtam, CH340 usb chip -el. Két különböző NYÁK -elrendezésem van, de tudom, hogy ez lefedi a legtöbb elrendezést.

Ki kell cserélnünk az 5V-os szabályozót egy tűvel kompatibilis 3v3-asra, 1117-3. majd vezesse az 5V -ot az usb aljzatból csak a szabályozóhoz, és minden mást csatlakoztasson a kimenetéhez. szerencsére ezt úgy lehet elérni, hogy eltávolítjuk a bemeneti diódát a szabályozó helyett, és hozzáadunk egy vezetéket a dióda bemeneti oldaláról a nano -panel Vin -jéhez.

ellenőrizze, hogy be tudja -e programozni a nano -t az átalakítás után.

6. lépés: NANO kód

NANO kód
NANO kód
NANO kód
NANO kód

Ez a SKY UK távirányítóm kódjait használta, lehet, hogy modellspecifikus, és érdemes ellenőrizni a kódok működését egy külön vázlatban, amely nem kapcsolódik az esp8266 -hoz.

Az IRremote könyvtárat használtam a shirriff 2.0.1 verziója szerint

Használja az IRrecord példát távoli parancsok rögzítésére, amelyekhez infravörös vevő modul szükséges, vagy esetleg megtalálhatja a kódokat a weben? Itt nem megyek bele, de itt választhat, hogy mit és hogyan irányít.

Csatlakoztassa az ebayen elérhető infravörös távadót, vagy készítsen egyet. 850 nm -es IR -ledet kell használnia, mivel ezek a leggyakoribbak a vevőkészülékekben. Az IR könyvtár a D3 -at használta TX -tűként

Az alexa szó a nano felé kerül, így innen a hangvezérlésű nano.

7. lépés: ESP8266

ESP8266
ESP8266
ESP8266
ESP8266
ESP8266
ESP8266

Sok ESP8266 modul létezik, egy olyat használtam, amelyet mikroszkóp alatt kellett vezetnem, Az ESP8266-01 2x4-es fejléccel rendelkezik, és minden szükséges csap és olcsó. Rengeteg példa az interneten,. Utazásom, a GPIO_0 -t bekapcsoláskor a gnd -hez kell csatlakoztatni (majd lebegtethető) programozáskor, ez egy konfigurációs pin, magasan húzva. A programozás után hagyja, hogy a GPIO_0 lebegjen és újra bekapcsoljon. A CHPD állandóan csatlakozik a V+ -hoz.

Az arduino 1.6.11 fórumkezelője nem rendelkezik az esp8622 hivatkozással, az Arduino IDEfile> beállítások> további Board Manager URL -ekben adja hozzá:

arduino.esp8266.com/stable/package_esp8266c…

majd menjen a fórumkezelőhöz, és keresse meg az esp8266 csomagot. most az esp8266 táblák nagy listáját kell megadnia, válassza az Eszközök> Tábla> ESP8266 általános modul lehetőséget. Az usb -uart modul használatával most beprogramozhatja az esp részt az esp8266_server_text segítségével. Tápellátás 3V3, csatlakoztassa a TX-RX, RX-TX és Gnd.

Meg kell adnia a hálózati SSID -t és jelszót a szkriptben és a portátirányításhoz beállított portban, pl. 777.

Futtathatja a kódot, ha újra bekapcsolja az esp-t, miközben csatlakoztatva van az usb-uart átalakítóhoz, és az arduino soros ablakának (9600 baud) meg kell jelenítenie az esp modul helyi ip-címét. írja be ezt a kódba, és programozza újra.

8. lépés: Hálózat beállítása

Hálózat beállítása
Hálózat beállítása
Hálózat beállítása
Hálózat beállítása

Tehát ahhoz, hogy a Lambda URL -hívás csatlakozzon az ESP HTTP szerverhez, be kell állítanunk az útválasztót a portátirányításra. Külső ip -címemet a https://www.whatsmyip.org/ webhelyről kaptam, mikrohullámú kapcsolaton vagyok, így a szolgáltatóm rendelkezik az útválasztóval, és portátirányítást kellett kérnem tőlük. Meg kellett adnom a hálózatomon lévő ESP8266 IP -címét és a kiválasztott portot, pl. 777. A külső IP -címet be kell írni a lambda python szkriptbe, és a helyi esp -cím megjelenik, amikor az esp8266 kódot futtatja az usb -uart link.

Az usb -uart kapcsolat ESP moduljának a terminálon kell megjelenítenie a lambda bejövő szavát.

Csatlakoztassa az ESP -t a nanohoz a 3v3, gnd és a TX ábrák szerint a nano D2 soft serial -hoz. Ha a nano az usb -n van a soros comms kijelzőn az epc -n, akkor meg kell mutatnia, hogy mit kap az esp -től.

Ha az ESP nem csatlakozik a hálózathoz, vagy nem válaszol a lambda URL -hívására, a lambda időtúllépést okoz, és az Alexa sikertelen szakértői választ jelent

9. lépés: Alexa Nyissa meg a Clicker TV szüneteltetését

Alexa Nyissa meg a Clicker TV szüneteltetését
Alexa Nyissa meg a Clicker TV szüneteltetését

A modult a vevő mellé tettem, de nagyobb teljesítményű IR kimenettel bárhol a helyiségben lehet. Egy ismert márkájú usb hálózati adaptert használok az USB -n keresztül történő áramellátáshoz.

Dőljön hátra, és mondja: „Alexa nyissa meg a kattintót”

műsorújság

lemegy a tv

tv válasszon

tévéjáték

tv ugrás öt

egy előre meghatározott számú perc előre ugráshoz a makrók 30 -szor várnak a kért időre, majd játszanak.

Az Egyesült Királyságban a hirdetések körülbelül öt percig tartanak.

Az alkalmazásból való kilépéshez mondja Alexa kilép.

Élvezd.

Ajánlott: