Indholdsfortegnelse:

Alexa Voice Control TV Remote ESP8266: 9 trin
Alexa Voice Control TV Remote ESP8266: 9 trin

Video: Alexa Voice Control TV Remote ESP8266: 9 trin

Video: Alexa Voice Control TV Remote ESP8266: 9 trin
Video: Alexa echo dot Smart Voice Control Home Automation system using NodeMCU ESP8266 | IoT Projects 2022 2024, November
Anonim
Alexa Voice Control TV Remote ESP8266
Alexa Voice Control TV Remote ESP8266

Mister nogen i dit hus fjernbetjeningen, går du ind i et tomt rum for at finde fjernsynet blære. Batterierne begynder at svigte og ingen kontrol fra bagsiden af rummet. Nu kan du styre dit tv, DVR, alt med IR -kontrol, du kan fange IR -signalet for. Jeg lavede dette system til at styre min SKY DVR med en simpel stemmegrænseflade.

Påkrævet hardware:

  1. Amazon Echo eller Dot
  2. En wifi -router, der kan videresende (min tjenesteudbyder gjorde dette for mig)
  3. En Arduino NANO konverteret til 3V3
  4. ESP8266 -01 eller lignende
  5. IR transmitter modul eller kredsløb
  6. IR -modtagermodul, hvis du vil fange koder.

Påkrævet software og tjenester:

  1. Arduino IDE, jeg brugte 1.6.11
  2. Amazon Alexa -færdighedskonto (gratis)
  3. Amazon AWS -konto (gratis lag, men kræver kreditkort for at åbne konto) eller alternativ server.

Trin 1: Opsætning af Alexa Skills

Opsætning af Alexa Skills
Opsætning af Alexa Skills
Opsætning af Alexa Skills
Opsætning af Alexa Skills
Opsætning af Alexa -færdigheder
Opsætning af Alexa -færdigheder

Alexas skills kit tager stemmekommandoen og filtrerer den ved hjælp af en liste over 'værdier'

Efter registrering:

I Amazon Developer -konsol skal du vælge fanen Alexa> Alexa Skills Kit [Kom godt i gang]

[Tilføj en ny færdighed]

Færdighedstype: Custom Interaction Model

Sprog: vælg den korrekte, når den er indstillet til engelsk (USA), reagerer den ikke!

Navn: dette er ikke vigtigt nu, da vi ikke udgiver.

Tilkaldelsesnavn: Vælg et kort navn, det er ordet, der bruges til at åbne appen.

[NÆSTE]

Intent Schema, indsæt kode

Tilpassede slottyper {Tilføj pladstype], indtast EFFECT_ON_TV

i Slot værdier, indsæt kode

Prøveudtalelser, put, TVCommandIntent tv {TVAction}

[GEM], på den næste færdighedsside skal vi tilføje et link til den kode, vi skal køre, når "Intent" udløses af enten appens startord "klikker" eller derefter af "tv {slot value}".

Vi vender tilbage til Alexa, når vi har konfigureret Lambda -serverens python -script.

Trin 2: AWS Lambda Server Python Script

Tilmeld dig det gratis niveau af AWS, jeg var bekymret for, at dette kan koste mig rigtige penge, men efter at have brugt det et stykke tid og læst fora er brugergrænserne så høje til personlig og udviklingsmæssig brug, at det aldrig bør nå et ladningspunkt. Der er et alternativ til at bruge din egen HTTPS -server, og måske er dette noget esp8266 kunne gøre, en anden instruerbar!

Dette er koden, der kører, når indkaldelsesnavnet udtales (f.eks. "Alexa open clicker") og modtager det magiske ord fra Alexa. Når appen er startet, behøver du kun at sige "tv play, tv jump five", og Alexa sender "play", "jump 5" til dette python script. Appen udløber, hvis den ikke har svar efter et stykke tid.

I AWS Services skal du først vælge din placering, øverst til højre er der en mulighed.

for USA vælg N Virginia, for EU vælg Irland.

vælg Lambda fra Compute -overskrift.

[Opret en Lambda -funktion]

[Blank funktion]

Konfigurer trigger: klik på den stiplede boks, og vælg Alexa Skills Kit

[NÆSTE]

Konfigurer funktion

Nævn hvad du vil

Beskrivelse, op til dig

Runtine: Python 2.7

indsæt python -kode,

i koden skal URL -HTTP -adressen senere ændres til din egen eksterne ip -adresse

link = "https://185.255.255.255:777/text?data=" + favorit_farve

lavere på skærmen er en ROLLE, klik på fanen og vælg Vælg en brugerdefineret rolle

Dette åbner en ny skærm og klik på Tillad., Den vender tilbage til skærmen Konfigurer funktion med Lamda grundlæggende udførelse valgt som Eksisterende rolle.

[NÆSTE] anmeldelsen, tryk på [Opret funktion], og den skal kompilere og give dig et ARN -nummer. KOPIER denne kode, så sætter vi den i alexa skills kit.

Trin 3:

Trin 4: Indstil Alexa Skills Kit Link til AWS Lambda

Indstil Alexa Skills Kit Link til AWS Lambda
Indstil Alexa Skills Kit Link til AWS Lambda

I Alexa skills kit skal du vælge konfigurationssiden med overskriften Global Fields og vælge AWS Lambda og din region og indsætte ARN -koden i boksen, [NEXT], i test, tjek AKTIVERET er valgt.

VI er færdige her for nu, nu for noget hardware.

Trin 5: Arduino NANO 3V3 -konvertering

Arduino NANO 3V3 -konvertering
Arduino NANO 3V3 -konvertering
Konvertering af Arduino NANO 3V3
Konvertering af Arduino NANO 3V3

ESP8266 kører fra 3v3, så enten kører du den fra en ekstern regulator eller konverterer en nano. Jeg har brugt en klon nano med en CH340 usb -chip. Jeg har to forskellige pcb -layout jeg kender til, men forhåbentlig dækker dette de fleste layouts.

Vi skal udskifte 5V-regulatoren med en pin-kompatibel 3v3 one, 1117-3. før derefter 5V'en ind fra usb -stikket til regulatoren og tilslut alt andet til dens output. heldigvis kan dette opnås ved at fjerne inputdioden, udskifte regulatoren og tilføje en ledning fra indgangssiden af dioden til Vin på nano -kortet.

kontrollere, at du kan programmere nano efter konverteringen.

Trin 6: NANO -kode

NANO -kode
NANO -kode
NANO -kode
NANO -kode

Denne brugte koder til min SKY UK fjernbetjening, den er muligvis model specifik, og det er værd at tjekke dine koder i en separat skitse, der ikke er knyttet til esp8266.

Jeg brugte IRremote -biblioteket af shirriff Version 2.0.1

Brug IRrecord -eksempel til at fange fjernkommandoer, som kræver et IR -modtagermodul, eller finder du muligvis dine koder på nettet? Jeg går ikke ind på det her, men det er her, du kan vælge, hvad du kontrollerer og hvordan.

Tilslut en IR -sender, der er tilgængelig på ebay, eller bygg en. Du bør bruge en 850 nm IR -led, da disse er de mest almindelige i modtagere. IR -biblioteket brugte D3 som sin TX -pin

Alexa -ordet bliver videregivet til nano, så herfra er det nano med stemmestyring.

Trin 7: ESP8266

ESP8266
ESP8266
ESP8266
ESP8266
ESP8266
ESP8266

Der er mange ESP8266-moduler, jeg brugte et, jeg havde til at koble under et mikroskop, ESP8266-01 har et 2x4 header og alle de ben, du har brug for, og det er billigt. Masser af eksempler på nettet,. Mine trip ups, GPIO_0 skal tilsluttes til gnd under opstart (kan derefter flyde), når programmering, det er en config -pin, trækkes højt internt. Når den er programmeret, lad GPIO_0 flyde og få strøm igen. CHPD tilsluttes permanent til V+.

Bestyrelseslederen i arduino 1.6.11 har ikke esp8622 -linket, i Arduino IDEfile> præferencer> yderligere Board Manager -URL'er, tilføj:

arduino.esp8266.com/stable/package_esp8266c…

derefter gå til board manager og finde esp8266 pakken. dette skulle nu give dig en stor liste over esp8266 -tavler, vælg Værktøjer> Kort> ESP8266 Generisk modul. Ved hjælp af et usb til uart -modul kan du nu programmere esp -delen med esp8266_server_text. Strøm med 3V3, tilslut TX-RX, RX-TX og Gnd.

Du skal indtaste dit netværks -SSID og adgangskode i scriptet og den port, du vil indstille til portvideresendelse, f.eks. 777.

Du kan køre koden ved at tænde esp igen, mens den er tilsluttet usb til uart-konverteren, og arduino serielt vindue (9600 baud) skal vise esp-modulets lokale ip-adresse. indtast dette i koden og omprogrammer.

Trin 8: Netværksopsætning

Netværksopsætning
Netværksopsætning
Netværksopsætning
Netværksopsætning

Så for at Lambda URL -opkaldet kan oprette forbindelse til ESP HTTP -serveren, skal vi indstille din router til portvideresendelse. Jeg fik min eksterne ip -adresse fra https://www.whatsmyip.org/, jeg er på et mikrobølge -link, så min udbyder har routeren, og jeg måtte anmode om portvideresendelse fra dem. Jeg var nødt til at angive IP -adressen på ESP8266 på mit netværk og den port, jeg valgte, f.eks. 777. Den eksterne IP -adresse skal indtastes i lambda python -scriptet, og din lokale esp -adresse vises, når du kører esp8266 -koden igennem usb til uart linket.

ESP -modulet på usb til uart -forbindelsen skal vise det indgående ord fra lambda på en terminal.

Tilslut ESP til nano som vist 3v3, gnd og TX til nano D2 soft serial. hvis du har nano'en på usb til en seriel kommunikation på epc'en, skal den vise, hvad den modtager fra esp.

Hvis ESP ikke er forbundet til netværket eller ikke reagerer på URL -opkaldet fra lambda, vil lambda timeout, og Alexa rapporterer et mislykket færdighedsrespons

Trin 9: Alexa Open Clicker Tv Pause

Alexa Open Clicker Tv Pause
Alexa Open Clicker Tv Pause

Jeg satte modulet ved siden af modtageren, men med en højere IR -udgang kan det være hvor som helst i et rum. Jeg bruger et kendt mærke usb -strømforsyning til at føre strøm gennem usb.

Læn dig tilbage og sig "Alexa open Clicker"

TV Guide

tv gå ned

tv vælg

tv -afspilning

tv hoppe fem

for at springe et bestemt antal minutter frem vil makroerne gå til 30x vente på en ønsket tid og derefter afspille.

UK -annoncer er cirka fem minutter.

Sig Alexa afslut for at forlade appen.

God fornøjelse.

Anbefalede: