- Materiál:
- Časť 1: Nastavenie Raspberry Pi pomocou SSH a VNC
- Časť 2: Nastavte si účet vývojára Amazon a nakonfigurujte Alexa Voice Services na Raspberry Pi:
- Časť 3: Nastavenie PubNub a IFTTT pre domácu automatizáciu Alexa Pi :
- Časť 3-2: Nastavenie IFTTT pre službu Amazon Alexa:
- Časť 4: Hardvérové pripojenia a schéma zapojenia:
- Časť 5: Pythonský kód na ovládanie LED:
Už ste niekedy premýšľali o reproduktore, ktorý je ovládateľný vašim hlasom !!! Čo keď môžeme takto ovládať naše domáce spotrebiče a robiť ich inteligentnejšími? Hlasoví asistenti sa stávajú populárnejšími, keď sa blížime k ére systémov založených na AI a IoT. Počuli ste už o Google Assistant, Apple Siri a Amazon Alexa . Jedná sa o hlasové systémy založené na AI, ktoré ich navzájom odlišujú, sú ich ekosystémy, a tu Amazon Alexa vyniká najviac. Google, Apple a Amazon, všetky tieto spoločnosti už uviedli svoje inteligentné reproduktory, ale Amazon ako prvý predstavil inteligentné reproduktory. Na trhu sú k dispozícii inteligentné reproduktory Amazon echo, Echo Dot Spot atď.
Amazon poskytuje API na používanie svojej veľmi populárnej hlasovej služby Alexa. Je to open source a je k dispozícii na Github. Ďalej môžete nainštalovať alebo integrovať Alexa na vlastných zariadeniach, ako je Raspberry Pi, a získať v tomto zariadení úplnú funkčnosť Amazon Echo.
Pomocou hlasovej služby Alexa môžeme prehrávať hudbu, získavať informácie o počasí, rezervovať letenky a mnoho ďalších. Musíte sa iba „opýtať“. V tomto tutoriále uvidíme, ako môžeme ovládať Raspberry Pi GPIO pomocou služieb Alexa Voice na rozsvietenie LED.
Materiál:
Hardvérové požiadavky:
- Karta Raspberry Pi 3 alebo Raspberry Pi 2 Model B a SD (8 GB alebo viac)
- Externý reproduktor s 3,5 mm káblom AUX
- Akákoľvek webová kamera alebo mikrofón USB 2.0
- Reléový modul
- LED
Poznámka: Webová kamera má zabudovaný mikrofón, takže ho použijeme namiesto mikrofónu USB 2.0.
Softvérové aplikácie a webové požiadavky:
- Zaregistrujte si účet v službe Alexa Voice Services
- Zaregistrujte si účet na PubNub
- Zaregistrujte si účet na IFTTT
Tiež predpokladáme, že vaša Raspberry pi je už nastavená na OS Raspbian a je pripojená k internetu. Po ich zavedení pokračujeme v tutoriále. Ak ste v Raspberry Pi nováčikom, najskôr si prečítajte časť Začíname s Raspberry Pi.
Celý tutoriál je rozdelený hlavne na 5 častí, ktoré sú nasledovné:
- Ak nemáte monitor, musíme nastaviť Raspberry Pi na SSH a VNC, skontrolovať tiež pripojenie mikrofónu USB.
- Nastavte si vývojára spoločnosti Amazon a nainštalujte Alexa na Raspberry Pi
- Nastavenie PubNub a IFTTT pre domácu automatizáciu Alexa
- Hardvérové pripojenie
- Pythonský kód pre Alexa Pi GPIO Control
Ak chcete jednoducho ovládať LED pomocou svojho hlasu, pozrite si tiež náš projekt LED s ovládaním pomocou hlasu na báze Bluetooth.
Časť 1: Nastavenie Raspberry Pi pomocou SSH a VNC
Najskôr spojíme Raspberry Pi so SSH a VNC. Nasledujú návody na oficiálnych webových stránkach Raspberry Pi, odkazy sú uvedené nižšie.
Pre SSH: odkaz SSh
Pre VNC: VNC odkaz
Ak máte Monitor, môžete tento krok opustiť a prejsť priamo na krok 2, ktorým je Nastavenie Alexa Voice Service (Avs). Predtým musíme skontrolovať pripojenie mikrofónu.
Kontrola mikrofónu webovej kamery s Raspberry Pi:
1. Otvorte terminál Raspberry Pi a zadajte príkaz arecord -l. Toto zobrazí hardvérové zariadenia, ktoré sú pripojené k Raspberry Pi, ako je uvedené nižšie:
Karta 1 je mikrofón vašej webovej kamery, ktorý budeme používať. Ak sa nezobrazuje, môže byť vaša webová kamera chybná.
2. Teraz skontrolujte, či mikrofón funguje spustením príkazu nahrávania zvuku ako:
arecord /home/pi/Desktop/test.wav -D sysdefault: KARTA = 1
3. Ak chcete prehrať zaznamenaný zvuk, zadajte tento príkaz:
omxplayer -p -o local /home/pi/Desktop/test.wav
Ak ste pripojili Raspberry Pi k monitoru pomocou kábla HDMI, štandardne je zvukový výstup cez reproduktor vášho monitora (ak je v ňom zabudovaný reproduktor). Ak ho chcete zmeniť na 3,5 mm, musíte napísať nasledujúci príkaz:
sudo raspi-config a choďte na možnosť Advance.
V zozname vyberte Zvuk -> vyberte Sila 3,5 mm -> vyberte Ok a reštartujte Raspberry Pi.
Teraz by ste mali počuť zvuk z 3,5 mm jacku.
POZNÁMKA: Ak chcete zvýšiť alebo znížiť vstupnú hlasitosť mikrofónu, do terminálu zadajte alsamixer . Vyberte zvukovú kartu z terminálu stlačením klávesu F6.
Stlačením F4 zmeňte zosilnenie Mic dB a nastavte ho podľa potreby.
Ak máte mikrofón USB 2.0, postupujte pri kontrole mikrofónu rovnako. Tu sme použili webovú kameru pre USB mikrofón.
Časť 2: Nastavte si účet vývojára Amazon a nakonfigurujte Alexa Voice Services na Raspberry Pi:
To sme si už podrobne vysvetlili v našom predchádzajúcom tutoriáli, kde sme postavili inteligentný reproduktor Amazon Echo. Tu sa zameriavame na ovládanie Raspberry Pi GPIO s Alexou, takže znova nevysvetľujeme celý proces, takže si prečítajte predchádzajúci článok a pripravte si reproduktor pomocou hlasových služieb Alexa nainštalovaných na vašom Raspberry pi.
Ak chcete Alexu otestovať, jednoducho ju zobudte vyslovením jej mena! Skontrolujte si ukážkové video uvedené na konci tohto tutoriálu.
Môžete sa jej opýtať na teplotu vo vašom meste a skontrolovať, či funguje alebo nie.
Časť 3: Nastavenie PubNub a IFTTT pre domácu automatizáciu Alexa Pi :
Na ovládanie Raspberry Pi GPIO pomocou tejto Alexa Pi potrebujeme pomoc PubNub python SDK a IFTTT. Prostredníctvom Alexa budeme dávať príkazy IFTTT a PubNub dáva signál RPi na zapnutie / vypnutie LED. Najprv teda nainštalujeme PubNub na Raspberry Pi.
Časť 3-1: Inštalácia PubNub Python SDK:
PubNub poskytuje API na zasielanie správ na publikovanie / prihlásenie sa na odber akýchkoľvek správ v ich globálnej sieti. Tu používame na zverejnenie správy na serveri PubNub IFTTT a Alexa, vďaka ktorým je Raspberry Pi GPIO nízka / vysoká. Túto správu prijíma Raspberry Pi a Pi podľa toho rozsvieti alebo zhasne LED. Podľa nasledujúcich pokynov nastavíte PubNub na Raspberry Pi:
Krok 1: Otvorte terminál na vašom RPi a spustite nasledujúci príkaz na inštaláciu SDK:
sudo pip install pubnub == 3.9.0
Nainštalujte si iba verziu 3.9.0, iná verzia nebude fungovať so skriptom python, ktorý spustíme v poslednom.
Krok 2: Teraz choďte na PubNub a prihláste sa pomocou svojich prihlasovacích údajov.
Krok 3:. Získajte kľúče na zverejnenie a prihlásenie na odber, ktoré budeme neskôr používať.
Časť 3-2: Nastavenie IFTTT pre službu Amazon Alexa:
IFTTT je bezplatná webová služba, ktorá používateľom umožňuje vytvárať reťazce jednoduchých podmienečných príkazov nazývaných „recepty“, ktoré sa spúšťajú na základe zmien v iných webových službách, ako sú Gmail, Facebook, Instagram a. IFTTT je skratka „If This Then That“.
Pre tento projekt sa IFTTT používa na výrobu Raspberry Pi GPIO LOW / HIGH na základe príkazu reči prijatého službou Alexa bežiacou na RPi.
Podľa týchto pokynov vytvoríte applet:
Krok 1: - Prihláste sa do IFTTT pomocou svojich prihlasovacích údajov alebo sa zaregistrujte, ak na ňom nemáte účet.
Krok 2: - V časti Moje applety kliknite na položku Nový applet
Krok 3: - Kliknite na + toto
Krok 4: - Vyhľadajte Amazon Alexa a kliknite na ňu, prihláste sa pomocou podrobností účtu vývojára Amazon.
Krok 5: - Vyberte spúšťač, povedzte konkrétnu frázu
Krok 6: - Poskytnúť " rozsvietiť" , ako fráza, kliknite na Vytvoriť spúšť.
Krok 7: - Kliknite na + to
Krok 8: - Vyhľadajte webhooky, kliknite na ne a vyberte možnosť Vytvoriť webovú požiadavku
Krok 9: - Webhooks poskytuje požiadavku REST WEB, použite kľúče Publish a Subscribe získané z PubNub a upravte nasledujúcu adresu URL.
http://pubsub.pubnub.com//publish/pub_key/sub_key/0/alexaTrigger/0/{"requester":"Alexa","trigger":"light","status":1}
Krok 10: - Prilepte upravenú adresu URL do textového poľa URL.
Krok 11: - Nastavte metódu na GET, Content ako application / json a kliknite na uložiť.
Krok 12: - Podľa rovnakých krokov vytvorte spúšťač „ vypnite svetlo “ a upravte adresu URL na nasledujúci.
pubsub.pubnub.com//publish/pub_key/sub_key/0/alexaTrigger/0/{"requester":"Alexa","trigger":"light","status":0
Krok 13: - Teraz sme pripravení na ukážku všetkých webových komponentov.
Časť 4: Hardvérové pripojenia a schéma zapojenia:
Pre tento projekt potrebujeme na účel testovania jednoduchú LED. Ďalej je uvedená schéma zapojenia a hardvérové pripojenie k ovládaniu Raspberry Pi GPIO s funkciou Amazon Alexa.
V našom pythonovskom skripte použijeme GPIO18, tak pripojte reléovú svoju LED 18. Môžete to zmeniť v pythonovskom skripte.
Časť 5: Pythonský kód na ovládanie LED:
Nájsť kompletné Python skript na konci tohto návodu.
Musíte upraviť kľúč Pub a Sub pomocou svojich kľúčov pubnub v kóde python.
# Inicializujte kľúče Pubnub pub_key = "****************************" sub_key = "*********** ************* "
Teraz spustite skript
python alexaRpi.py
Teraz sme všetci pripravení na ukážku. Pred pokračovaním sa uistite, že máte spustené všetky tri služby z časti 1 (tri terminály).
Ak chcete dať ľubovoľný príkaz, musíte službu Alexa prebudiť volaním slova „Alexa“ zakaždým, keď chcete odoslať príkaz. Budete počuť pípnutie. Hneď ako začujete pípnutie, povedzte „ Alexa Trigger Turn on the Light. „Uvidíte, ako sa svetlo za chvíľu rozsvieti. A potom, keď poviete „ Alexa Trigger Turn off the Light “, svetlo by sa malo VYPNÚŤ.
To je všetko… Ďalej môžete pridať relé na ovládanie striedavého prúdu, dokonca môžete ovládať veľa zariadení pomocou viacerých relé a viacerých GPIO pinov Raspberry pi.
Skontrolujte celý kód a demonštračné video nižšie. Tiež si tu pozrite všetky naše projekty domácej automatizácie.