Inhoudsopgave:
- Stap 1: Alexa Vaardigheden instellen
- Stap 2: AWS Lambda Server Python-script
- Stap 3:
- Stap 4: Stel de Alexa Skills Kit-link in op AWS Lambda
- Stap 5: Arduino NANO 3V3-conversie
- Stap 6: NANO-code
- Stap 7: ESP8266
- Stap 8: Netwerkconfiguratie
- Stap 9: Alexa Open Clicker Tv Pauze
Video: Alexa spraakbediening tv-afstandsbediening ESP8266 - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:18
Raakt iemand in je huis de afstandsbediening kwijt, loop je een lege kamer binnen en zie je de tv schalmen. Batterijen beginnen te falen en geen controle vanaf de achterkant van de kamer. Nu kunt u uw tv, DVR en alles bedienen met IR-bediening waarvoor u het IR-signaal kunt vastleggen. Ik heb dit systeem gemaakt om mijn SKY DVR te bedienen met een eenvoudige spraakinterface.
Vereiste hardware:
- Amazon Echo of Dot
- Een wifi-router die port forward kan (mijn serviceprovider heeft dit voor mij gedaan)
- Een Arduino NANO geconverteerd naar 3V3
- ESP8266 -01 of vergelijkbaar
- IR-zendermodule of circuit
- IR-ontvangermodule als u codes wilt vastleggen.
Benodigde software en diensten:
- Arduino IDE, ik gebruikte 1.6.11
- Amazon Alexa-vaardighedenaccount (gratis)
- Amazon AWS-account (gratis niveau maar vereist creditcard om account te openen) of alternatieve server.
Stap 1: Alexa Vaardigheden instellen
De Alexas-vaardighedenkit neemt de spraakopdracht en filtert deze met behulp van een lijst met 'waarden'
Eenmaal geregistreerd:
Selecteer in de Amazon Developer-console het tabblad Alexa> Alexa Skills Kit [Aan de slag]
[Voeg een nieuwe vaardigheid toe]
Vaardigheidstype:Aangepast interactiemodel
Taal: selecteer de juiste, als dit op Engels (VS) was ingesteld, zou het niet reageren!
Naam: dit is nu niet belangrijk omdat we niet publiceren.
Aanroepnaam:, kies een korte naam, dit is het woord dat wordt gebruikt om de app te openen.
[DE VOLGENDE]
Intentieschema, in code plakken
Aangepaste slottypes {Voeg slottype toe], voer EFFECT_ON_TV in
in Slot-waarden, in code plakken
Voorbeelduitingen, put, TVCommandIntent tv {TVAction}
[SAVE], op de volgende vaardighedenpagina moeten we een link toevoegen naar de code die we gaan uitvoeren wanneer de "Intent" wordt geactiveerd door ofwel het app-startwoord "clicker" of daarna door "tv {slot value}".
We komen terug op Alexa nadat we het Lambda-serverpythonscript hebben ingesteld.
Stap 2: AWS Lambda Server Python-script
Meld je aan voor de gratis laag van AWS, ik was bang dat dit me echt geld zou gaan kosten, maar na een tijdje gebruik en het lezen van forums zijn de gebruikslimieten zo hoog voor persoonlijk en ontwikkelingsgebruik dat het nooit een oplaadpunt zou moeten bereiken. Er is een alternatief om uw eigen HTTPS-server te gebruiken en misschien is dit iets wat de esp8266 zou kunnen doen, een andere instructable!
Dit is de code die wordt uitgevoerd wanneer de aanroepnaam wordt uitgesproken (bijv. "Alexa open clicker") en het toverwoord van Alexa ontvangt. Zodra de app is gestart, hoef je alleen maar "tv play, tv jump five" te zeggen en Alexa stuurt "play", "jump 5" naar dit python-script. De app geeft een time-out als deze na een tijdje geen reacties heeft.
Selecteer in AWS Services eerst je locatie, rechtsboven staat een optie.
voor de VS selecteert u N Virginia, voor de EU selecteert u Ierland.
selecteer Lambda in de kop Compute.
[Maak een Lambda-functie]
[Blanco Functie]
Trigger configureren: klik op het gestippelde vak en selecteer Alexa Skills Kit
[DE VOLGENDE]
Functie configureren:
Noem wat je wilt
Beschrijving, aan jou
Runtine: Python 2.7
plakken in python-code,
in de code moet de URL HTTP-adres later worden gewijzigd in uw eigen externe ip-adres
link="https://185.255.255.255:777/text?data=" + favoriete_kleur
lager op het scherm staat een ROL, klik op het tabblad en selecteer Selecteer een aangepaste rol
Dit opent een nieuw scherm en klikt op toestaan. Het keert terug naar het scherm Functie configureren met Lamda-basisuitvoering geselecteerd als Bestaande rol.
[VOLGENDE] de recensie, druk op [Create Function] en het zou moeten compileren en je een ARN-nummer geven. KOPIEER deze code en we zullen het in de alexa skills kit plaatsen.
Stap 3:
Stap 4: Stel de Alexa Skills Kit-link in op AWS Lambda
Selecteer in de Alexa-vaardighedenkit de configuratiepagina, ga naar Global Fields en selecteer AWS Lambda en uw regio en plak de ARN-code in het vak [NEXT], controleer in test ENABLED is geselecteerd.
We zijn hier voorlopig klaar, nu wat hardware.
Stap 5: Arduino NANO 3V3-conversie
De ESP8266 loopt van 3v3, dus je voert hem uit vanaf een externe regelaar of converteert een nano. Ik heb een kloon nano gebruikt met een CH340 usb-chip. Ik heb twee verschillende pcb-lay-outs die ik ken, maar hopelijk zal dit de meeste lay-outs dekken.
We moeten de 5V-regelaar vervangen door een pin-compatibele 3v3-regelaar, 1117-3. Leid vervolgens de 5V van de USB-aansluiting naar de regelaar en sluit al het andere aan op de uitgang. gelukkig kan dit worden bereikt door de ingangsdiode te verwijderen en de regelaar te vervangen en een draad van de ingangszijde van de diode toe te voegen aan de Vin op het nanobord.
controleer of je de nano kunt programmeren na de conversie.
Stap 6: NANO-code
Dit gebruikte codes voor mijn SKY UK-afstandsbediening, het kan modelspecifiek zijn en het is de moeite waard om uw codes te controleren in een aparte schets die niet is gekoppeld aan de esp8266.
Ik heb de IRremote-bibliotheek van shirriff versie 2.0.1 gebruikt
Gebruik het IRrecord-voorbeeld om opdrachten op afstand vast te leggen waarvoor een IR-ontvangermodule nodig is, of u kunt uw codes op internet vinden? Ik ga daar hier niet op in, maar hier kun je kiezen wat je controleert en hoe.
Sluit een IR-zender aan die beschikbaar is op ebay of bouw er een. U moet een 850nm IR-led gebruiken, omdat deze de meest voorkomende zijn in ontvangers. De IR-bibliotheek gebruikte D3 als TX-pin
Het alexa-woord wordt doorgegeven aan de nano, dus vanaf hier is het nano met spraakbesturing.
Stap 7: ESP8266
Er zijn veel ESP8266-modules, ik heb er een gebruikt die ik onder een microscoop moest bedraden, de ESP8266-01 heeft een 2x4-header en alle pinnen die je nodig hebt en het is goedkoop. Tal van voorbeelden op het web,. Mijn trip-ups, GPIO_0 moet tijdens het opstarten met gnd worden verbonden (kan dan worden gefloten) tijdens het programmeren, het is een configuratiepin, intern hoog getrokken. Eenmaal geprogrammeerd laat GPIO_0 zweven en opnieuw inschakelen. CHPD maakt permanent verbinding met V+.
De bestuursmanager in arduino 1.6.11 heeft niet de esp8622-link, in Arduino IDEfile>voorkeuren>extra Board Manager-URL's, voeg toe:
arduino.esp8266.com/stable/package_esp8266c…
ga dan naar board manager en zoek het esp8266-pakket. dit zou je nu een grote lijst met esp8266-borden moeten geven, selecteer Tools> Board> ESP8266 Generic Module. Met behulp van een usb naar uart-module kunt u nu het esp-gedeelte programmeren met esp8266_server_text. Voeding met 3V3, sluit TX-RX, RX-TX en Gnd aan.
U moet uw netwerk-SSID en wachtwoord in het script invoeren en de poort die u instelt voor port forwarding, bijv. 777.
U kunt de code uitvoeren door de esp opnieuw aan te zetten terwijl deze is aangesloten op de usb naar uart-converter en het arduino seriële venster (9600 baud) moet het lokale ip-adres van de esp-module weergeven. voer dit in de code in en programmeer opnieuw.
Stap 8: Netwerkconfiguratie
Dus om de Lambda URL-aanroep verbinding te laten maken met de ESP HTTP-server, moeten we uw router instellen op port forwarding. Ik heb mijn externe ip-adres gekregen van https://www.whatsmyip.org/, ik heb een magnetronverbinding, dus mijn provider heeft de router en ik moest bij hen port forwarding aanvragen. Ik moest het IP-adres van de ESP8266 op mijn netwerk opgeven en de poort die ik heb gekozen, bijv. 777. Het externe IP-adres moet worden ingevoerd in het lambda python-script en je lokale esp-adres wordt weergegeven wanneer je de esp8266-code uitvoert de usb naar uart-link.
De ESP-module op de usb-naar-uart-verbinding moet op een terminal het binnenkomende woord van lambda weergeven.
Sluit de ESP aan op de nano zoals weergegeven 3v3, gnd en TX op nano D2 soft serial. als je de nano op usb naar een seriële communicatiedisplay op de epc hebt, zou deze moeten laten zien wat hij van de esp ontvangt.
Als de ESP niet is verbonden met het netwerk of niet reageert op de URL-aanroep van lambda, zal lambda een time-out geven en meldt Alexa een mislukte vaardigheidsreactie
Stap 9: Alexa Open Clicker Tv Pauze
Ik heb de module naast de ontvanger geplaatst, maar met een hoger vermogen IR-uitgang kan het overal in een kamer zijn. Ik gebruik een USB-stroomadapter van een bekend merk om stroom door de USB te voeren.
Leun achterover en zeg "Alexa open Clicker"
tv-gids
tv gaat uit
tv selecteren
tv spelen
tv sprong vijf
om een bepaald aantal minuten vooruit te springen, gaan de macro's naar 30x wachten op een gevraagde tijd en spelen dan af.
Britse advertenties duren ongeveer vijf minuten.
Zeg Alexa quit om de app af te sluiten.
Genieten van.
Aanbevolen:
Bedien de woonkamer met Alexa en Raspberry Pi: 12 stappen
Bedien de woonkamer met Alexa en Raspberry Pi: bedien de tv, verlichting en ventilator in je woonkamer met Alexa (Amazon Echo of Dot) en Raspberry Pi GPIO
Bedien LED's met Alexa of IFTTT (SINRIC PRO TUTORIAL): 6 stappen
LED's bedienen met Alexa of IFTTT (SINRIC PRO TUTORIAL): Dus je zou graag die persoon willen zijn die pronkt tijdens een alledaags diner door te zeggen: "Alexa doet het licht aan?" Dit project is voor jou! Aan het einde van deze instructables kun je een RGB-strip bedienen met een Alexa-apparaat en IFTTT om
HacKIT: een Civic Privacy Hard(wear) Kit voor het hacken van Alexa, Google en Siri: 4 stappen
HacKIT: een Civic Privacy Hard(wear) Kit voor het hacken van Alexa, Google en Siri: Moe van je "slimme" apparaten die u afluisteren? Dan is deze toolkit voor het hacken van surveillance iets voor jou! HacKIT is een low-to-high-tech civic privacy hard(wear) kit voor het herontwerpen, hacken en terugwinnen van de Amazon Echo, Google Home
Alexa Skill: Lees de nieuwste tweet (in dit geval van God): 6 stappen
Alexa Skill: Lees de nieuwste tweet (in dit geval die van God): ik heb een Alexa Skill gemaakt om "Gods nieuwste tweet" te lezen -- de inhoud, dat wil zeggen, van @TweetOfGod, het account van meer dan 5 miljoen abonnees gemaakt door een voormalige comedyschrijver van de Daily Show. Het maakt gebruik van IFTTT (If This Then That), een Google Spreadsheet en de
Een Alexa-vaardigheid maken: 10 stappen
Hoe een Alexa-vaardigheid te creëren: wat is een Alexa-vaardigheid? Alexa-vaardigheden zijn als apps. U kunt vaardigheden in- en uitschakelen met behulp van de Alexa-app of een webbrowser, op dezelfde manier waarop u apps op uw smartphone of tablet installeert en verwijdert. Vaardigheden zijn spraakgestuurde Alexa-mogelijkheden