- Doskonały materiał:
- Część 1: Konfiguracja Raspberry Pi z SSH i VNC
- Część 2: Skonfiguruj swoje konto programisty Amazon i skonfiguruj usługi głosowe Alexa na Raspberry Pi:
- Część 3: Konfiguracja PubNub i IFTTT dla automatyki domowej Alexa Pi :
- Część 3-2: Konfiguracja IFTTT dla usługi Amazon Alexa:
- Część 4: Połączenia sprzętowe i schemat obwodów:
- Część 5: Kod Pythona do kontrolowania diody LED:
Czy myślałeś kiedyś o głośniku, którym można sterować głosem !!! A co, jeśli w ten sposób możemy sterować naszymi urządzeniami gospodarstwa domowego i uczynić te urządzenia inteligentniejszymi? Asystenci głosowi stają się coraz bardziej popularni w miarę zbliżania się do ery systemów opartych na sztucznej inteligencji i IoT. Słyszałeś o Asystencie Google, Apple Siri i Amazon Alexa . Wszystkie te systemy są oparte na sztucznej inteligencji głosowej, co odróżnia je od siebie, to ich ekosystemy i to właśnie tutaj Amazon Alexa wyróżnia się najbardziej. Google, Apple i Amazon - wszystkie te firmy już wypuściły swoje inteligentne głośniki, ale Amazon jako pierwszy wprowadził inteligentne głośniki. Amazon echo, Echo Dot Spot itp. To inteligentne głośniki dostępne na rynku.
Amazon udostępnia API do korzystania ze swojej bardzo popularnej usługi głosowej, Alexa. Jest open source i jest dostępny na Github. Ponadto możesz zainstalować lub zintegrować Alexę na niestandardowych urządzeniach, takich jak Raspberry Pi, i uzyskać pełną funkcjonalność Amazon Echo na tym urządzeniu.
Korzystając z usługi głosowej Alexa możemy odtwarzać muzykę, uzyskiwać informacje o pogodzie, rezerwować bilety i wiele więcej. Wszystko, co musisz zrobić, to „zapytać”. W tym samouczku zobaczymy, jak możemy sterować GPIO Raspberry Pi za pomocą usług Alexa Voice, aby świecić diodą LED.
Doskonały materiał:
Wymagania sprzętowe:
- Raspberry Pi 3 lub Raspberry Pi 2 Model B i karta SD (8 GB lub więcej)
- Głośnik zewnętrzny z kablem AUX 3,5 mm
- Dowolna kamera internetowa lub mikrofon USB 2.0
- Moduł przekaźnika
- DOPROWADZIŁO
Uwaga: kamera internetowa ma wbudowany mikrofon, więc użyjemy go zamiast mikrofonu USB 2.0.
Aplikacje i wymagania internetowe:
- Zarejestruj konto w Alexa Voice Services
- Zarejestruj konto w PubNub
- Zarejestruj konto w IFTTT
Zakładamy również, że Twoje Raspberry pi jest już skonfigurowane z Raspbian OS i jest połączone z Internetem. Mając to na miejscu, przejdźmy do samouczka. Jeśli jesteś nowy w Raspberry Pi, najpierw przejdź do sekcji Pierwsze kroki z Raspberry pi.
Cały samouczek jest podzielony głównie na 5 części, które są następujące:
- Jeśli nie masz monitora, musimy skonfigurować Raspberry Pi z SSH i VNC, sprawdź także łączność mikrofonu USB.
- Skonfiguruj swojego programistę Amazon i zainstaluj Alexę na Raspberry Pi
- Konfigurowanie PubNub i IFTTT dla Alexa Home Automation
- Połączenie sprzętowe
- Kod Pythona dla Alexa Pi GPIO Control
Jeśli po prostu chcesz sterować diodą LED za pomocą głosu, sprawdź również nasz projekt LED sterowany głosem oparty na technologii Bluetooth.
Część 1: Konfiguracja Raspberry Pi z SSH i VNC
Najpierw połączymy Raspberry Pi z SSH i VNC. W tym celu postępuj zgodnie z samouczkami na oficjalnej stronie Raspberry Pi, linki znajdują się poniżej.
W przypadku SSH: łącze SSh
W przypadku VNC: łącze VNC
Jeśli masz Monitor, możesz opuścić ten krok i przejść bezpośrednio do kroku 2, czyli Konfiguracja usługi głosowej Alexa (Avs). Wcześniej musimy sprawdzić łączność mikrofonu.
Sprawdzanie mikrofonu kamery internetowej z Raspberry Pi:
1. Otwórz terminal Raspberry Pi i wpisz polecenie arecord -l. Spowoduje to wyświetlenie urządzeń sprzętowych podłączonych do Raspberry Pi, jak pokazano poniżej:
Karta 1 to mikrofon Twojej kamery internetowej, którego będziemy używać. Jeśli się nie wyświetla, kamera internetowa może być uszkodzona.
2. Teraz sprawdź, czy mikrofon działa, uruchamiając polecenie nagrywania dźwięku jako:
arecord /home/pi/Desktop/test.wav -D sysdefault: CARD = 1
3. Aby odtworzyć nagrany dźwięk, wpisz to polecenie:
omxplayer -p -o local /home/pi/Desktop/test.wav
Jeśli podłączyłeś Raspberry Pi z monitorem za pomocą kabla HDMI, to domyślnie wyjście audio przechodzi przez głośnik monitora (jeśli jest w nim wbudowany głośnik). Tak więc, aby zmienić go na 3,5 mm, musisz wpisać następujące polecenie:
sudo raspi-config i przejdź do opcji Advance.
Wybierz Audio z listy -> wybierz Force 3.5mm -> wybierz OK i uruchom ponownie Raspberry Pi.
Teraz powinieneś usłyszeć dźwięk z gniazda 3,5 mm.
UWAGA: Jeśli chcesz zwiększyć lub zmniejszyć głośność głosu na wejściu mikrofonu, wpisz alsamixer w terminalu. Wybierz kartę dźwiękową z terminala, naciskając klawisz F6.
Naciśnij klawisz F4, aby zmienić wzmocnienie mikrofonu dB i ustawić je tak, jak chcesz.
Jeśli masz mikrofon USB 2.0, wykonaj te same czynności, aby sprawdzić mikrofon. Tutaj użyliśmy kamery internetowej do mikrofonu USB.
Część 2: Skonfiguruj swoje konto programisty Amazon i skonfiguruj usługi głosowe Alexa na Raspberry Pi:
Wyjaśniliśmy to już szczegółowo w naszym poprzednim samouczku, w którym zbudowaliśmy inteligentny głośnik Amazon Echo. Tutaj skupiamy się na sterowaniu Raspberry Pi GPIO za pomocą Alexy, więc nie będziemy ponownie wyjaśniać całego procesu, więc przeczytaj poprzedni artykuł i przygotuj swój głośnik z usługami głosowymi Alexa zainstalowanymi na twoim Raspberry pi.
Aby przetestować Alexę, obudź ją, wypowiadając jej imię! Sprawdź film demonstracyjny podany na końcu samouczka.
Możesz zapytać ją o temperaturę swojego miasta, aby sprawdzić, czy działa, czy nie.
Część 3: Konfiguracja PubNub i IFTTT dla automatyki domowej Alexa Pi :
Do sterowania GPIO Raspberry Pi za pomocą tego Alexa Pi potrzebujemy pomocy PubNub python SDK i IFTTT. Wydamy polecenia IFTTT przez Alexę, a PubNub daje sygnał do RPi, aby włączyć / wyłączyć diodę LED. Więc najpierw zainstalujemy PubNub na Raspberry Pi.
Część 3-1: Instalowanie PubNub Python SDK:
PubNub zapewnia interfejs API do przesyłania wiadomości do publikowania / subskrybowania dowolnej wiadomości w swojej sieci globalnej. Tutaj używamy IFTTT i Alexa do publikowania wiadomości w PubNub, aby ustawić Raspberry Pi GPIO na niskim / wysokim poziomie. Ta wiadomość jest odbierana przez Raspberry Pi, a Pi odpowiednio włączy lub wyłączy diodę LED. Wykonaj poniższe kroki, aby skonfigurować PubNub na Raspberry Pi:
Krok 1: Otwórz terminal na swoim RPi i uruchom następujące polecenie, aby zainstalować SDK:
sudo pip install pubnub == 3.9.0
Zainstaluj tylko wersję 3.9.0, inna wersja nie będzie działać ze skryptem Pythona, który będziemy uruchamiać w ostatniej.
Krok 2: Teraz przejdź do PubNub i zaloguj się za pomocą swoich poświadczeń.
Etap 3:. Uzyskaj klucze publikowania i subskrypcji, których będziemy używać później.
Część 3-2: Konfiguracja IFTTT dla usługi Amazon Alexa:
IFTTT to bezpłatna usługa internetowa, która umożliwia użytkownikom tworzenie łańcuchów prostych instrukcji warunkowych zwanych „przepisami”, które są uruchamiane na podstawie zmian w innych usługach internetowych, takich jak Gmail, Facebook, Instagram i. IFTTT to skrót od „If This Then That”.
W tym projekcie IFTTT służy do ustawiania Raspberry Pi GPIO LOW / HIGH na podstawie polecenia mowy otrzymanego przez usługę Alexa działającą na RPi.
Wykonaj następujące kroki, aby utworzyć aplet:
Krok 1: - Logowanie do IFTTT z poświadczeniami lub Zarejestruj się jeśli nie masz konta na nim.
Krok 2: - W My Applets, kliknij New Applet
Krok 3: - Kliknij + this
Krok 4: - Wyszukaj Amazon Alexa i kliknij na nią, zaloguj się za pomocą danych swojego konta dewelopera amazon.
Krok 5: - Wybierz wyzwalacz, powiedz konkretną frazę
Krok 6: - Podaj „ włącz światło” jako frazę, kliknij Utwórz wyzwalacz.
Krok 7: - Kliknij + to
Krok 8: - Wyszukaj webhooki, kliknij na niego i wybierz Make a Web Request
Krok 9: - Webhooks dostarcza żądanie REST WEB, użyj kluczy publikowania i subskrypcji uzyskanych z PubNub i zmodyfikuj następujący adres URL.
http://pubsub.pubnub.com//publish/pub_key/sub_key/0/alexaTrigger/0/{"requester":"Alexa","trigger":"light","status":1}
Krok 10: - Wklej zmodyfikowany adres URL do pola tekstowego adresu URL.
Krok 11: - Ustaw metodę jako GET, zawartość jako application / json i kliknij Zapisz.
Krok 12: - Wykonaj te same kroki, aby utworzyć wyzwalacz „ wyłącz światło ” i zmień adres URL na następujący.
pubsub.pubnub.com//publish/pub_key/sub_key/0/alexaTrigger/0/{"requester":"Alexa","trigger":"light","status":0
Krok 13: - Jesteśmy teraz gotowi ze wszystkimi komponentami sieciowymi do demonstracji.
Część 4: Połączenia sprzętowe i schemat obwodów:
Do tego projektu potrzebujemy prostej diody LED do celów testowych. Poniżej znajduje się schemat połączeń i połączenia sprzętowe do sterowania Raspberry Pi GPIO za pomocą Amazon Alexa.
Będziemy używać GPIO18 w naszym skrypcie Pythona, więc podłącz przekaźnik LED 18. Możesz to zmienić w skrypcie Pythona.
Część 5: Kod Pythona do kontrolowania diody LED:
Znajdź pełny skrypt języka Python na końcu tego samouczka.
Musisz edytować klucze Pub i Sub za pomocą kluczy pubnub w kodzie Pythona.
# Zainicjuj klucze Pubnub pub_key = "***************************" sub_key = "*********** ************* ”
Teraz uruchom skrypt
python alexaRpi.py
Teraz jesteśmy gotowi do demonstracji. Przed kontynuowaniem upewnij się, że korzystasz z wszystkich trzech usług z części 1 (trzy terminale).
Aby wydać jakiekolwiek polecenie, musisz obudzić usługę Alexa, dzwoniąc do „Alexa” za każdym razem, gdy chcesz wysłać polecenie. Usłyszysz sygnał dźwiękowy. Po usłyszeniu sygnału powiedz „ Alexa Trigger Turn on the Light”. „Za chwilę widać, że światło WŁĄCZA się. A jeśli powiesz „ Alexa Trigger Turn off the Light ”, światło powinno się wyłączyć.
Otóż to…. Możesz dodatkowo dodać przekaźnik do sterowania urządzeniem AC, nawet możesz sterować wieloma urządzeniami za pomocą większej liczby przekaźników i większej liczby pinów GPIO Raspberry pi.
Sprawdź pełny kod i film demonstracyjny poniżej. Sprawdź również nasze wszystkie projekty automatyki domowej tutaj.