- Perquisite Material:
- Del 1: Sette opp Raspberry Pi med SSH og VNC
- Del 2: Konfigurer Amazon-utviklerkontoen din og konfigurer Alexa Voice Services på Raspberry Pi:
- Del 3: Sette opp PubNub og IFTTT for Alexa Pi Home Automation :
- Del 3-2: Konfigurere IFTTT for Amazon Alexa Service:
- Del 4: Maskinvaretilkoblinger og kretsdiagram:
- Del 5: Python-kode for å kontrollere lyset:
Har du noen gang tenkt på en høyttaler som kan styres av stemmen din !!! Hva om vi kan kontrollere husholdningsapparater på denne måten og gjøre disse apparatene smartere? Stemmeassistenter blir mer populære når vi går mot en tid med AI- og IoT-baserte systemer. Du har hørt om Google Assistant, Apple Siri og Amazon Alexa . Alt dette er stemmebaserte AI-systemer. Det som skiller disse fra hverandre er deres økosystemer, og det er her Amazon Alexa skiller seg ut mest. Google, Apple og Amazon, alle disse selskapene lanserte allerede sine smarte høyttalere, men Amazon var først med å introdusere dem. Amazon echo, Echo Dot Spot, etc. er de smarte høyttalerne som er tilgjengelige i markedet.
Amazon tilbyr API for å bruke sin mye populære taletjeneste, Alexa. Den er åpen kildekode og tilgjengelig på Github. Videre kan du installere eller integrere Alexa på egendefinerte enheter som Raspberry Pi og få full Amazon Echo-funksjonalitet i den enheten.
Ved hjelp av Alexa taletjeneste kan vi spille musikk, få informasjon om været, bestille billetter og mange flere. Alt du trenger å gjøre er å spørre. I forrige opplæring har vi kontrollert Raspberry Pi GPIO ved hjelp av Amazon Alexa. I denne opplæringen, la oss se hvordan du bygger et stemmestyrt hjemmeautomatiseringssystem ved hjelp av Amazon Alexa og Raspberry Pi. Vi får se hvordan vi kan bruke Raspberry Pi til å kjøre Alexa Voice Service og kontrollere en lyspære.
Perquisite Material:
Maskinvarekrav:
- Raspberry Pi 3 eller Raspberry Pi 2 Model B og SD-kort (8 GB eller mer)
- Ekstern høyttaler med 3,5 mm AUX-kabel
- Ethvert webkamera eller USB 2.0-mikrofon
- Relémodul
- LED / AC-pære
Merk: Webkamera har innebygd mikrofon, så vi bruker dette i stedet for USB 2.0-mikrofon.
Programvareapper og nettkrav:
- Registrer en konto hos Alexa Voice Services
- Registrer en konto hos PubNub
- Registrer en konto hos IFTTT
Vi antar også at Raspberry pi allerede er konfigurert med et Raspbian OS og er koblet til internett. Med disse på plass, la oss fortsette med opplæringen. Hvis du er ny i Raspberry Pi, så gå gjennom Komme i gang med Raspberry pi først.
Hele opplæringen er hovedsakelig delt inn i 5 deler, som er som følger:
- Hvis du ikke har skjerm, må vi sette opp Raspberry Pi med SSH og VNC, sjekk også USB-mikrofontilkoblingen.
- Sett opp din Amazon-utvikler og installer Alexa på Raspberry Pi
- Sette opp PubNub og IFTTT for Alexa Home Automation
- Maskinvaretilkobling
- Python-kode for Alexa Pi Home Automation
Så la oss komme i gang !!
Del 1: Sette opp Raspberry Pi med SSH og VNC
Først vil vi koble Raspberry Pi med SSH og VNC. For denne følg opplæringen på offisielle Raspberry Pi nettsted, lenker er gitt nedenfor.
For SSH: SSh-kobling
For VNC: VNC-lenke
Hvis du har Monitor, kan du forlate dette trinnet og gå direkte til trinn 2 som er å sette opp Alexa Voice Service (Avs). Før det må vi sjekke mikrofonforbindelsen.
Kontrollere mikrofon med Raspberry Pi:
1. Åpne Raspberry Pi terminal og skriv arecord -l kommando. Dette viser maskinvareenhetene som er koblet til Raspberry Pi som vist nedenfor:
Kort 1 er mikrofonen til webkameraet ditt som vi skal bruke. Hvis det ikke vises, kan webkameraet være defekt.
2. Sjekk nå om mikrofonen fungerer ved å kjøre lydkommandoen som:
arecord /home/pi/Desktop/test.wav -D sysdefault: CARD = 1
3. For å spille av den innspilte lyden skriver du denne kommandoen:
omxplayer -p -o local /home/pi/Desktop/test.wav
Hvis du har koblet Raspberry Pi til skjermen ved hjelp av HDMI-kabel, er lydutgangen som standard gjennom skjermens høyttaler (hvis det er innebygd høyttaler i den). Så, for å endre den til 3,5 mm, må du skrive følgende kommando:
sudo raspi-config og gå til Advance-alternativet.
Velg Audio fra listen -> velg Force 3.5mm -> velg Ok og start Raspberry Pi på nytt.
Nå skal du høre lyden fra 3,5 mm-kontakten.
MERKNAD: Hvis du vil øke eller redusere lydstyrken for inngangen til mikrofonen, kan du også bruke mikseren som terminal. Velg lydkort fra terminalen ved å trykke på F6.
Trykk på F4 for å endre Mic dB-forsterkningen og sette den slik du vil.
Hvis du har USB 2.0-mikrofon, er trinnene som følges de samme for å sjekke mikrofonen. Her har vi brukt Webcam til USB-mikrofon.
Del 2: Konfigurer Amazon-utviklerkontoen din og konfigurer Alexa Voice Services på Raspberry Pi:
Vi har allerede forklart dette i detalj i vår forrige opplæring der vi har bygget en Amazon Echo smart høyttaler. Her fokuserer vi på å kontrollere husholdningsapparater med Alexa, så vi forklarer ikke hele prosessen igjen, så les forrige artikkel og gjør høyttaleren klar med Alexa taletjenester installert på Raspberry pi.
For å teste Alexa er det bare å vekke henne ved å si navnet hennes! Sjekk demonstrasjonsvideoen gitt på slutten av opplæringen.
Du kan spørre henne om temperaturen i byen din for å sjekke at den fungerer eller ikke.
Del 3: Sette opp PubNub og IFTTT for Alexa Pi Home Automation :
For å bygge hjemmeautomatiseringssystem ved hjelp av denne Alexa Pi, trenger vi hjelp fra PubNub python SDK og IFTTT. Vi vil gi kommandoer til IFTTT gjennom Alexa, og PubNub gir signal til RPi om På / Av lyset. Så vi installerer først PubNub på Raspberry Pi.
Del 3-1: Installere PubNub Python SDK:
PubNub tilbyr et meldings-API for å publisere / abonnere på meldinger i deres globale nettverk. Her bruker vi IFTTT og Alexa for å publisere meldingen på PubNub for å slå på / av stafetten. Denne meldingen mottas av Raspberry Pi, og Pi vil slå lyset på eller AV av tilsvarende. Følg trinnene nedenfor for å sette opp PubNub på Raspberry Pi:
1. Åpne terminalen på RPi og kjør følgende kommando for å installere SDK:
sudo pip installere pubnub == 3.9.0
Installer bare 3.9.0- versjonen, den andre versjonen fungerer ikke med python-skriptet som vi skal kjøre sist.
2. Gå nå til PubNub og logg på med legitimasjonen din.
3. Få tak i publiserings- og abonnementsnøklene vi skal bruke senere.
Del 3-2: Konfigurere IFTTT for Amazon Alexa Service:
IFTTT er en gratis nettbasert tjeneste som lar brukerne lage kjeder med enkle betingede utsagn, kalt "oppskrifter", som utløses basert på endringer i andre webtjenester som Gmail, Facebook, Instagram og. IFTTT er en forkortelse av "If This Then That".
For dette prosjektet brukes IFTTT til å utløse kommandoer for lysbryter på / av basert på talekommandoen som mottas av Alexa-tjenesten som kjører på RPi.
Følg disse trinnene for å lage en applet:
Trinn 1: - Logg inn på IFTTT med påloggingsinformasjonen eller Registrer deg hvis du ikke har en konto på den.
Trinn 2: - På Mine applets, klikk på New Applet
Trinn 3: - Klikk på + dette
Trinn 4: - Søk på Amazon Alexa og klikk på den, logg på med detaljer om Amazon-utviklerkontoen.
Trinn 5: - Velg utløseren, si en bestemt setning
Trinn 6: - Gi " slå på lyset" som uttrykk, klikk på Create Trigger.
Trinn 7: - Klikk på + det
Trinn 8: - Søk etter Webhooks, klikk på den og velg Lag en nettforespørsel
Trinn 9: - Webhooks gir REST WEB-forespørsel, bruk publiser og abonner nøklene hentet fra PubNub og modifiser følgende URL.
http://pubsub.pubnub.com//publish/pub_key/sub_key/0/alexaTrigger/0/{"requester":"Alexa","trigger":"light","status":1}
Trinn 10: - Lim inn den endrede URL-en i tekstboksen URL.
Trinn 11: - Sett metoden som GET, innhold som applikasjon / json og klikk på lagre.
Trinn 12: - Følg de samme trinnene for å lage utløseren for " slå av lyset " og endre URL til følgende.
pubsub.pubnub.com//publish/pub_key/sub_key/0/alexaTrigger/0/{"requester":"Alexa","trigger":"light","status":0
Trinn 13: - Vi er nå klare med alle webkomponentene for demoen.
Del 4: Maskinvaretilkoblinger og kretsdiagram:
For dette prosjektet trenger vi en relémodul og AC-pære eller en hvilken som helst annen AC-komponent, eller du kan bruke enkel LED for testformål. Nedenfor er kretsskjemaet og maskinvaretilkoblinger for å kontrollere AC-apparatet med Amazon Alexa.
Vi bruker GPIO18 i pythonscriptet vårt, så koble relé til GPIO 18. Du kan endre dette i pythonscriptet.
Del 5: Python-kode for å kontrollere lyset:
Finn det komplette Python-skriptet på slutten av denne opplæringen.
Du må redigere Pub- og Sub-nøkkel med pubnubnøklene i pythonkoden.
# Initialiser Pubnub Keys pub_key = "***************************" undernøkkel = "*********** ************* "
Kjør nå skriptet
python alexaRpi.py
Nå er vi klar for demoen. Forsikre deg om at du kjører alle de tre tjenestene fra del 1 (de tre terminalene) før du fortsetter.
For å gi en hvilken som helst kommando må du vekke Alexa-tjenesten ved å ringe "Alexa" hver gang du vil sende en kommando. Du vil høre en pipelyd. Når du hører pipet, si “ Alexa Trigger Slå på lyset. ”Du kan se at lyset slås PÅ i løpet av et øyeblikk. Og så hvis du sier " Alexa Trigger Slå av lyset ", skal lyset slås AV.
Det er det…. Du kan legge til flere vekselstrømsapparater i python-skriptet ved å legge dem til med andre GPIO-pinner på RPi og kan kontrollere mange apparater med ditt smarte hjemmeautomatiseringssystem.
Sjekk den komplette koden og demonstrasjonsvideoen nedenfor. Sjekk også alle hjemmeautomatiseringsprosjektene her.