- Særligt materiale:
- Del 1: Opsætning af Raspberry Pi med SSH og VNC
- Del 2: Konfigurer din Amazon-udviklerkonto og konfigurer Alexa Voice Services på Raspberry Pi:
- Del 3: Opsætning af PubNub og IFTTT til Alexa Pi Home Automation :
- Del 3-2: Opsætning af IFTTT til Amazon Alexa Service:
- Del 4: Hardwareforbindelser og kredsløbsdiagram:
- Del 5: Python-kode til styring af LED:
Har du nogensinde tænkt på en højttaler, der kan styres af din stemme !!! Hvad hvis vi kan styre vores husholdningsapparater på denne måde og gøre disse apparater smartere? Stemmeassistenter bliver mere populære, da vi er på vej mod en æra med AI- og IoT-baserede systemer. Du har hørt om Google Assistant, Apple Siri og Amazon Alexa . Disse er alle stemmebaserede AI-systemer, hvad der adskiller disse fra hinanden er deres økosystemer, og det er her Amazon Alexa skiller sig mest ud. Google, Apple og Amazon, alle disse virksomheder lancerede allerede deres smarte højttalere, men Amazon var først med at introducere smarte højttalere. Amazon echo, Echo Dot Spot osv. Er de smarte højttalere, der er tilgængelige på markedet.
Amazon leverer API til at bruge sin meget populære stemmetjeneste, Alexa. Det er open source og tilgængeligt på Github. Yderligere kan du installere eller integrere Alexa på brugerdefinerede enheder som Raspberry Pi og få den fulde Amazon Echo-funktionalitet i den enhed.
Ved hjælp af Alexa-stemmetjeneste kan vi afspille musik, få oplysninger om vejret, bestille billetter og mange flere. Alt du skal gøre er at 'spørge'. I denne vejledning vil vi se, hvordan vi kan kontrollere Raspberry Pi GPIO ved hjælp af Alexa Voice-tjenester til at lyse en LED.
Særligt materiale:
Hardwarekrav:
- Raspberry Pi 3 eller Raspberry Pi 2 Model B og SD-kort (8 GB eller mere)
- Ekstern højttaler med 3,5 mm AUX-kabel
- Ethvert webkamera eller USB 2.0-mikrofon
- Relæmodul
- LED
Bemærk: Webcam har indbygget mikrofon, så vi bruger dette i stedet for USB 2.0-mikrofon.
Software-apps og webkrav:
- Registrer en konto hos Alexa Voice Services
- Registrer en konto hos PubNub
- Registrer en konto hos IFTTT
Vi antager også, at din Raspberry pi allerede er konfigureret med et Raspbian OS og er forbundet til internettet. Med disse på plads lad os fortsætte med vejledningen. Hvis du er ny hos Raspberry Pi, skal du først gennemgå Kom godt i gang med Raspberry pi.
Hele vejledningen er hovedsageligt opdelt i 5 dele, som er som følger:
- Hvis du ikke har skærm, er vi nødt til at konfigurere Raspberry Pi med SSH og VNC, også kontrollere USB-mikrofonforbindelsen.
- Opsæt din Amazon-udvikler og installer Alexa på Raspberry Pi
- Opsætning af PubNub og IFTTT til Alexa Home Automation
- Hardwareforbindelse
- Python-kode til Alexa Pi GPIO Control
Hvis du blot vil styre en LED med din stemme, skal du også kontrollere vores Bluetooth-baserede stemmestyrede LED-projekt.
Del 1: Opsætning af Raspberry Pi med SSH og VNC
Først forbinder vi Raspberry Pi med SSH og VNC. For dette følger du selvstudier på officielle Raspberry Pi's websted, er links angivet nedenfor.
For SSH: SSh-link
For VNC: VNC-link
Hvis du har Monitor, kan du forlade dette trin og gå direkte til trin 2, der er Opsætning af Alexa Voice Service (Avs). Før det skal vi kontrollere mikrofonforbindelse.
Kontrol af webcam-mikrofon med Raspberry Pi:
1. Åbn Raspberry Pi terminal, og skriv arecord -l kommando. Dette viser hardwareenhederne, der er tilsluttet Raspberry Pi, som vist nedenfor:
Kort 1 er dit webkams mikrofon, som vi skal bruge. Hvis det ikke vises, kan dit webcam være defekt.
2. Kontroller nu, om mikrofonen fungerer ved at køre lydkommandoen som:
arecord /home/pi/Desktop/test.wav -D sysdefault: CARD = 1
3. For at afspille den optagede lyd skal du skrive denne kommando:
omxplayer -p -o local /home/pi/Desktop/test.wav
Hvis du har tilsluttet Raspberry Pi med en skærm ved hjælp af et HDMI-kabel, er lydudgangen som standard gennem skærmens højttaler (hvis der er indbygget højttaler i den). Så for at ændre det til 3,5 mm skal du skrive følgende kommando:
sudo raspi-config og gå til Avanceret mulighed.
Vælg Audio fra listen -> vælg Force 3.5mm -> vælg Ok, og genstart dig Raspberry Pi.
Nu skal du høre lyden fra 3,5 mm jackstik.
BEMÆRK: Hvis du vil øge eller formindske indgangslydstyrken til mikrofon, skal du også skrive en type mixer i terminalen. Vælg lydkort fra terminalen ved at trykke på F6.
Tryk på F4 for at ændre Mic dB forstærkning og indstil den, som du vil.
Hvis du har USB 2.0-mikrofon, er trinene, der følges, de samme for at kontrollere mikrofonen. Her har vi brugt webkamera til USB-mikrofon.
Del 2: Konfigurer din Amazon-udviklerkonto og konfigurer Alexa Voice Services på Raspberry Pi:
Vi har allerede forklaret dette detaljeret i vores tidligere tutorial, hvor vi har bygget en Amazon Echo smart højttaler. Her fokuserer vi på at kontrollere Raspberry Pi GPIO med Alexa, så vi forklarer ikke hele processen igen, så læs den foregående artikel, og gør din højttaler klar med Alexa-stemmetjenester installeret på din Raspberry pi.
For at teste Alexa skal du bare vække hende ved at sige hendes navn! Tjek demo-videoen givet i slutningen af vejledningen.
Du kan spørge hende om temperaturen i din by for at kontrollere, om den fungerer eller ej.
Del 3: Opsætning af PubNub og IFTTT til Alexa Pi Home Automation :
For at kontrollere Raspberry Pi GPIO ved hjælp af denne Alexa Pi har vi brug for hjælp fra PubNub python SDK og IFTTT. Vi giver kommandoer til IFTTT gennem Alexa, og PubNub giver signal til RPi om at tænde / slukke for LED. Så vi installerer først PubNub på Raspberry Pi.
Del 3-1: Installation af PubNub Python SDK:
PubNub leverer en messaging API til at offentliggøre / abonnere på enhver besked på deres globale netværk. Her bruger vi IFTTT og Alexa til at offentliggøre beskeden på PubNub for at gøre Raspberry Pi GPIO lav / høj. Denne meddelelse modtages af Raspberry Pi, og Pi tænder eller slukker for LED-lampen i overensstemmelse hermed. Følg nedenstående trin for at konfigurere PubNub på Raspberry Pi:
Trin 1: Åbn terminal på din RPi og kør følgende kommando for at installere SDK:
sudo pip installere pubnub == 3.9.0
Installer kun version 3.9.0, den anden version fungerer ikke med python-scriptet, som vi vil køre i sidste.
Trin 2: Gå nu til PubNub, og log ind med dine legitimationsoplysninger.
Trin 3:. Få de publicerings- og abonnementsnøgler, vi vil bruge senere.
Del 3-2: Opsætning af IFTTT til Amazon Alexa Service:
IFTTT er en gratis webbaseret tjeneste, der giver brugerne mulighed for at oprette kæder af enkle betingede udsagn, kaldet "opskrifter", der udløses baseret på ændringer til andre webtjenester som Gmail, Facebook, Instagram og. IFTTT er en forkortelse af "If This Then That".
Til dette projekt bruges IFTTT til at gøre Raspberry Pi GPIO LOW / HIGH baseret på den talekommando, der modtages af Alexa-tjenesten, der kører på RPi.
Følg disse trin for at oprette en applet:
Trin 1: - Log ind på IFTTT med dine legitimationsoplysninger eller Tilmeld dig, hvis du ikke har en konto på det.
Trin 2: - Klik på Ny applet på mine applets
Trin 3: - Klik på + dette
Trin 4: - Søg på Amazon Alexa og klik på den, log ind med dine Amazon-udvikler-kontooplysninger.
Trin 5: - Vælg udløseren, sig en bestemt sætning
Trin 6: - Angiv " tænd for lyset" som sætningen, klik på Opret udløser.
Trin 7: - Klik på + det
Trin 8: - Søg efter Webhooks, klik på den og vælg Foretag en webanmodning
Trin 9: - Webhooks leverer REST WEB-anmodningen, brug nøglerne Publish og Subscribe fra PubNub og rediger følgende URL.
http://pubsub.pubnub.com//publish/pub_key/sub_key/0/alexaTrigger/0/{"requester":"Alexa","trigger":"light","status":1}
Trin 10: - Indsæt den ændrede URL i URL-tekstfeltet.
Trin 11: - Indstil metoden som GET, indhold som applikation / json og klik på Gem.
Trin 12: - Følg de samme trin for at oprette udløseren til " slukke for lyset " og ændre URL-adressen til følgende.
pubsub.pubnub.com//publish/pub_key/sub_key/0/alexaTrigger/0/{"requester":"Alexa","trigger":"light","status":0
Trin 13: - Vi er nu klar med alle webkomponenter til demoen.
Del 4: Hardwareforbindelser og kredsløbsdiagram:
Til dette projekt har vi brug for en simpel LED til testformål. Nedenfor er kredsløbsdiagrammet og hardwareforbindelser til styring af Raspberry Pi GPIO med Amazon Alexa.
Vi bruger GPIO18 i vores python-script, så forbind relæ din LED 18. Du kan ændre dette i python-script.
Del 5: Python-kode til styring af LED:
Find det komplette Python-script i slutningen af denne vejledning.
Du skal redigere Pub- og Sub-nøgle med dine pubnub-nøgler i pythonkoden.
# Initialiser Pubnub-tasterne pub_key = "***************************" undernøgle = "*********** ************* "
Kør nu scriptet
python alexaRpi.py
Nu er vi klar til demoen. Sørg for, at du kører alle de tre tjenester fra del 1 (de tre terminaler), inden du fortsætter.
For at give en kommando skal du vække Alexa-tjenesten ved at kalde "Alexa" hver gang du vil sende en kommando. Du vil høre en biplyd. Når du hører bip, skal du sige “ Alexa Trigger Tænd lyset. ”Du kan se, at lyset tændes inden for et øjeblik. Og så hvis du siger " Alexa Trigger Sluk for lyset ", skulle lyset slukke.
Det er det…. Du kan yderligere tilføje et relæ til at styre vekselstrømsapparatet, selv du kan styre mange apparater ved at bruge flere relæer og flere GPIO-ben på Raspberry pi.
Tjek den komplette kode og demonstrationsvideo nedenfor. Tjek også vores alle Home Automation-projekter her.