- Materiál:
- Část 1: Nastavení Raspberry Pi pomocí SSH a VNC
- Část 2: Nastavení účtu vývojáře Amazon a konfigurace služby Alexa Voice Services na Raspberry Pi:
- Část 3: Nastavení PubNub a IFTTT pro domácí automatizaci Alexa Pi :
- Část 3-2: Nastavení IFTTT pro službu Amazon Alexa:
- Část 4: Hardwarová připojení a obvodové schéma:
- Část 5: Pythonský kód pro ovládání LED:
Už jste někdy přemýšleli o reproduktoru, který lze ovládat hlasem !!! Co když můžeme ovládat naše domácí spotřebiče tímto způsobem a dělat tyto spotřebiče chytřejší? Hlasové asistenty se stávají populárnějšími, když směřujeme k éře systémů založených na AI a IoT. Slyšeli jste o Google Assistant, Apple Siri a Amazon Alexa . Jedná se o hlasové systémy AI založené na hlasu, které se od sebe navzájem liší, jsou jejich ekosystémy, a to je místo, kde Amazon Alexa vyniká nejvíce. Google, Apple a Amazon, všechny tyto společnosti již uvedly své inteligentní reproduktory, ale Amazon jako první představil inteligentní reproduktory. Na trhu jsou k dispozici inteligentní reproduktory Amazon echo, Echo Dot Spot atd.
Amazon poskytuje API pro používání své velmi populární hlasové služby Alexa. Je to open source a je k dispozici na Githubu. Dále můžete nainstalovat nebo integrovat Alexa na vlastní zařízení, jako je Raspberry Pi, a získat v tomto zařízení plnou funkčnost Amazon Echo.
Pomocí hlasové služby Alexa můžeme přehrávat hudbu, získávat informace o počasí, rezervovat vstupenky a mnoho dalšího. Musíte se jen „zeptat“. V tomto tutoriálu uvidíme, jak můžeme ovládat Raspberry Pi GPIO pomocí služeb Alexa Voice k rozsvícení LED.
Materiál:
Hardwarové požadavky:
- Raspberry Pi 3 nebo Raspberry Pi 2 Model B a SD karta (8 GB nebo více)
- Externí reproduktor s 3,5 mm AUX kabelem
- Jakákoli webová kamera nebo mikrofon USB 2.0
- Reléový modul
- VEDENÝ
Poznámka: Webová kamera má vestavěný mikrofon, takže jej použijeme místo mikrofonu USB 2.0.
Softwarové aplikace a webové požadavky:
- Zaregistrujte si účet u Alexa Voice Services
- Zaregistrujte si účet na PubNub
- Zaregistrujte si účet u IFTTT
Rovněž předpokládáme, že vaše Raspberry pi je již nastaveno na Raspbian OS a je připojeno k internetu. S těmito na místě pokračujeme v tutoriálu. Pokud jste v Raspberry Pi noví, projděte si nejprve Začínáme s Raspberry Pi.
Celý výukový program je hlavně rozdělen do 5 částí, které jsou následující:
- Pokud nemáte monitor, musíme nastavit Raspberry Pi s SSH a VNC, také zkontrolovat připojení mikrofonu USB.
- Nastavte si svého vývojáře na Amazonu a nainstalujte Alexa na Raspberry Pi
- Nastavení PubNub a IFTTT pro domácí automatizaci Alexa
- Hardwarové připojení
- Pythonský kód pro Alexa Pi GPIO Control
Pokud chcete jednoduše ovládat LED pomocí svého hlasu, podívejte se také na náš projekt LED ovládaný hlasem na bázi Bluetooth.
Část 1: Nastavení Raspberry Pi pomocí SSH a VNC
Nejprve připojíme Raspberry Pi k SSH a VNC. V tomto sledujte výukové programy na oficiálních webových stránkách Raspberry Pi, odkazy jsou uvedeny níže.
Pro SSH: SSh odkaz
Pro VNC: VNC odkaz
Pokud máte Monitor, můžete tento krok opustit a přejít přímo ke kroku 2, kterým je Nastavení hlasové služby Alexa (Avs). Před tím musíme zkontrolovat připojení mikrofonu.
Kontrola mikrofonu webové kamery pomocí Raspberry Pi:
1. Otevřete terminál Raspberry Pi a zadejte příkaz arecord -l. Zobrazí se hardwarová zařízení připojená k Raspberry Pi, jak je znázorněno níže:
Karta 1 je mikrofon vaší webové kamery, který budeme používat. Pokud se nezobrazí, může být vaše webová kamera vadná.
2. Nyní zkontrolujte, zda mikrofon funguje, spuštěním příkazu nahrávání zvuku jako:
arecord /home/pi/Desktop/test.wav -D sysdefault: CARD = 1
3. Chcete-li přehrát nahraný zvuk, zadejte tento příkaz:
omxplayer -p -o local /home/pi/Desktop/test.wav
Pokud jste připojili Raspberry Pi k monitoru pomocí kabelu HDMI, je výchozí zvukový výstup přes reproduktor vašeho monitoru (pokud je v něm zabudovaný reproduktor). Chcete-li jej změnit na 3,5 mm, musíte zadat následující příkaz:
sudo raspi-config a přejděte na možnost Advance.
Ze seznamu vyberte Zvuk -> vyberte Síla 3,5 mm -> vyberte Ok a restartujte Raspberry Pi.
Nyní byste měli slyšet zvuk z 3,5 mm jacku.
POZNÁMKA: Pokud chcete zvýšit nebo snížit vstupní hlasitost mikrofonu, zadejte do terminálu alsamixer . Vyberte zvukovou kartu z terminálu stisknutím klávesy F6.
Stisknutím klávesy F4 změňte zisk Mic dB a nastavte jej, jak chcete.
Pokud máte mikrofon USB 2.0, postupujte při kontrole mikrofonu stejným způsobem. Zde jsme použili webovou kameru pro USB mikrofon.
Část 2: Nastavení účtu vývojáře Amazon a konfigurace služby Alexa Voice Services na Raspberry Pi:
Už jsme to podrobně vysvětlili v našem předchozím tutoriálu, kde jsme postavili inteligentní reproduktor Amazon Echo. Tady se zaměřujeme na ovládání Raspberry Pi GPIO s Alexou, takže znovu nevysvětlujeme celý proces, takže si přečtěte předchozí článek a připravte si reproduktor pomocí hlasových služeb Alexa nainstalovaných na vašem Raspberry pi.
Chcete-li Alexu otestovat, stačí ji probudit vyslovením jejího jména! Podívejte se na ukázkové video dané na konci tohoto tutoriálu.
Můžete se jí zeptat na teplotu ve vašem městě a zkontrolovat, zda funguje nebo ne.
Část 3: Nastavení PubNub a IFTTT pro domácí automatizaci Alexa Pi :
Pro ovládání Raspberry Pi GPIO pomocí této Alexa Pi potřebujeme pomoc PubNub python SDK a IFTTT. Dáme příkazy IFTTT prostřednictvím Alexa a PubNub dává signál RPi k zapnutí / vypnutí LED. Nejprve tedy nainstalujeme PubNub na Raspberry Pi.
Část 3-1: Instalace PubNub Python SDK:
PubNub poskytuje API pro zasílání zpráv k publikování / odběru jakékoli zprávy v jejich globální síti. Tady používáme IFTTT a Alexa k publikování zprávy na PubNub, kvůli tomu, že Raspberry Pi GPIO low / high. Tuto zprávu obdrží Raspberry Pi a Pi odpovídajícím způsobem rozsvítí nebo zhasne LED. Postupujte podle následujících kroků k nastavení PubNub na Raspberry Pi:
Krok 1: Otevřete terminál na svém RPi a spuštěním následujícího příkazu nainstalujte SDK:
sudo pip install pubnub == 3.9.0
Nainstalujte pouze verzi 3.9.0, jiná verze nebude fungovat s pythonovým skriptem, který budeme spouštět poslední.
Krok 2: Nyní přejděte na PubNub a přihlaste se pomocí svých přihlašovacích údajů.
Krok 3:. Získejte klíče pro publikování a odběr, které později použijeme.
Část 3-2: Nastavení IFTTT pro službu Amazon Alexa:
IFTTT je bezplatná webová služba, která uživatelům umožňuje vytvářet řetězce jednoduchých podmíněných příkazů zvaných „recepty“, které se spouštějí na základě změn v jiných webových službách, jako jsou Gmail, Facebook, Instagram a. IFTTT je zkratka „If This Then That“.
Pro tento projekt se IFTTT používá k výrobě Raspberry Pi GPIO LOW / HIGH na základě řečového příkazu přijatého službou Alexa běžící na RPi.
Při vytváření appletu postupujte takto:
Krok 1: - Přihlaste se do IFTTT pomocí svých přihlašovacích údajů nebo se zaregistrujte, pokud na něm nemáte účet.
Krok 2: - Na stránce Moje applety klikněte na Nový applet
Krok 3: - Klikněte na + toto
Krok 4: - Vyhledejte Amazon Alexa a klikněte na něj, přihlaste se pomocí podrobností účtu vývojáře Amazon.
Krok 5: - Vyberte spouštěč, řekněte konkrétní frázi
Krok 6: - Zadejte „ zapnout světlo“ jako frázi, klikněte na Vytvořit spouštěč.
Krok 7: - Klikněte na + to
Krok 8: - Vyhledejte Webhooky, klikněte na ně a vyberte Vytvořit webový požadavek
Krok 9: - Webhooks poskytuje požadavek REST WEB, použijte klíče Publish a Subscribe získané z PubNub a upravte následující adresu URL.
Odkaz
Krok 10: - Vložte upravenou adresu URL do textového pole URL.
Krok 11: - Nastavte metodu jako GET, Content jako application / json a klikněte na Uložit.
Krok 12: - Stejnými kroky vytvořte spouštěč pro „ zhasnutí světla “ a upravte adresu URL na následující.
Odkaz
Krok 13: - Nyní jsme připraveni se všemi webovými komponentami pro ukázku.
Část 4: Hardwarová připojení a obvodové schéma:
Pro tento projekt potřebujeme pro účely testování jednoduchou LED. Níže je schéma zapojení a hardwarová připojení k ovládání Raspberry Pi GPIO s Amazon Alexa.
Budeme používat GPIO18 v našem python skriptu, takže připojte relé vaší LED 18. Můžete to změnit v python skriptu.
Část 5: Pythonský kód pro ovládání LED:
Na konci tohoto kurzu najdete kompletní skript Pythonu.
Musíte upravit Pub a Sub klíč pomocí svých pubnub klíčů v kódu pythonu.
# Inicializujte klíče Pubnub pub_key = "****************************" sub_key = "*********** ************* "
Nyní spusťte skript
python alexaRpi.py
Nyní jsme všichni připraveni na ukázku. Než budete pokračovat, ujistěte se, že používáte všechny tři služby z části 1 (tři terminály).
Chcete-li zadat libovolný příkaz, musíte službu Alexa probudit voláním „Alexa“ pokaždé, když chcete odeslat příkaz. Uslyšíte pípnutí. Jakmile uslyšíte pípnutí, řekněte „ Alexa Trigger Zapněte světlo. „Vidíte, jak se světlo za chvíli rozsvítí. A pak, když řeknete „ Alexa Trigger Turn off the Light “, světlo by mělo zhasnout.
A je to…. Dále můžete přidat relé pro ovládání střídavého spotřebiče, dokonce můžete ovládat mnoho spotřebičů pomocí více relé a více GPIO pinů Raspberry pi.
Níže zkontrolujte kompletní kód a ukázkové video. Zde také zkontrolujte všechny naše projekty domácí automatizace.