- Wymagania sprzętowe
- Konfiguracja Google API dla Raspberry Pi Google Assistant
- Konfigurowanie Asystenta Google dla Raspberry Pi Google Home
- Autoryzacja Raspberry Pi dla Asystenta Google
- Korzystanie z Asystenta Google na Raspberry Pi
Czy myślałeś kiedyś o głośniku, którym można sterować głosem !!! Tak, Amazon Echo jest jednym z najpopularniejszych głośników sterowanych głosem, ale w konkurencji z nim popularność zyskuje również Google Home. Asystenci głosowi stają się coraz bardziej popularni w miarę zbliżania się do ery systemów opartych na sztucznej inteligencji. Słyszałeś o Asystencie Google, Apple Siri i Amazon Alexa. To wszystko to systemy sztucznej inteligencji oparte na głosie, co odróżnia je od siebie, to ich ekosystemy i tutaj Asystent Google wyróżnia się najbardziej. Google, Apple i Amazon, wszystkie te firmy już wypuściły swoje inteligentne głośniki. Na rynku dostępne są również inteligentne głośniki Google. Omówiliśmy już Amazon Echo oparty na Raspberry Pi, tym razem zmienimy Raspberry Pi w głośnik Google Home.
Google zapewnia interfejs API do korzystania z usługi głosowej, która jest open source i jest dostępna na Github. Korzystając z usługi głosowej Google możemy odtwarzać muzykę, uzyskiwać informacje o pogodzie, rezerwować bilety i wiele innych. Wszystko, co musisz zrobić, to zapytać. W tym samouczku zobaczmy, jak zbudować inteligentny głośnik sterowany głosem za pomocą asystenta Google i Raspberry Pi.
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
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.
Uwaga: kamera internetowa ma wbudowany mikrofon, więc użyjemy go zamiast mikrofonu USB 2.0.
Potrzebujesz również klawiatury, myszy i monitora do podłączenia raspberry pi za pomocą kabla HDMI.
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.
Konfiguracja Google API dla Raspberry Pi Google Assistant
1. Najpierw musimy zarejestrować się i skonfigurować projekt na pulpicie nawigacyjnym Google Console Actions.
2. Po zalogowaniu się na swoje konto Google, zobaczysz następujące okno.
Kliknij Dodaj / importuj projekt .
3. Na następnym ekranie musisz wpisać nazwę projektu i kliknąć Utwórz projekt .
4. Teraz przejdź do konsoli programistów Google w nowej karcie i wyszukaj Google Assistant API. Zanim przejdziesz dalej i naciśniesz przycisk Włącz, upewnij się, że masz wybrany projekt. Następnie kliknij Włącz.
5. Teraz otwórz poprzednią kartę konsoli Google i przewiń do dołu ekranu.
Znajdziesz opcję Rejestracja urządzenia , kliknij na nią.
6. Na następnym ekranie kliknij Zarejestruj model. Następnie musisz ustawić nazwę produktu, nazwę producenta i ustawić typ urządzenia. Te nazwy mogą być dowolne.
Zapisz identyfikator modelu urządzenia, ponieważ będziemy go potrzebować później w procesie.
Teraz kliknij Zarejestruj model .
7. Następny ekran będzie dotyczył poświadczeń pobierania. Aby uzyskać ten plik poświadczeń, kliknij Pobierz poświadczenia OAuth 2.0 . Ten plik jest bardzo ważny, więc przechowuj go w bezpiecznym miejscu.
Teraz kliknij Dalej.
8. Możesz wybrać dowolne cechy, których potrzebujesz, ale w naszym przypadku nie potrzebujemy żadnej z nich, więc po prostu kliknęliśmy przycisk Pomiń , jak pokazano poniżej .
9. Gdy wszystko zostanie zrobione, pojawi się następujący ekran.
10. Teraz przejdź do strony Kontrola aktywności. Tutaj musisz aktywować następujące kontrole aktywności, aby upewnić się, że Google Assistant API działa dobrze.
Aktywność w internecie i aplikacjach, Historia lokalizacji, Informacje o urządzeniu, Aktywność związana z głosem i dźwiękiem
11. Ponownie przejdź do konsoli programistów Google. Kliknij Poświadczenia po lewej stronie panelu. Kliknij ekran akceptacji OAuth.
12. Wpisz swój identyfikator Gmail i dowolną nazwę w nazwie produktu i zapisz go.
Skończyliśmy z konfiguracją Google API.
Konfigurowanie Asystenta Google dla Raspberry Pi Google Home
Pamiętaj, że od tej części będziesz musiał ukończyć samouczek bezpośrednio na pulpicie Raspbian, a nie przez SSH, ponieważ będziesz musiał korzystać z wbudowanej przeglądarki internetowej.
1. Najpierw zaktualizuj listę pakietów Raspberry Pi za pomocą następującego polecenia
sudo apt-get update
2. Teraz utworzymy plik, w którym będziemy mogli przechowywać poświadczenia, które pobraliśmy wcześniej. W tym celu uruchom następujące dwa polecenia
mkdir ~/googleassistant
nano ~/googleassistant/credentials.json
3. W tym pliku musisz skopiować zawartość pliku poświadczeń, który pobraliśmy. Otwórz plik.json w swoim ulubionym edytorze tekstu i naciśnij ctrl + A, a następnie ctrl + C, aby skopiować zawartość.
Po skopiowaniu zawartości zapisz plik, naciskając Ctrl + X, a następnie Y, a następnie naciśnij Enter.
4. Po zapisaniu pliku poświadczeń zaczniemy instalować niektóre zależności wymagane do uruchomienia Asystenta Google.
Uruchom następujące polecenie, aby zainstalować Python3 i środowisko wirtualne Python 3 w naszym RPi.
sudo apt-get install python3-dev python3-venv
5. Teraz włącz python3 jako nasze środowisko wirtualne za pomocą następującego polecenia
python3 -m venv env
6. Zainstaluj najnowsze wersje pip i setuptools. Uruchom następujące polecenie, aby uzyskać aktualizację
env/bin/python -m pip install --upgrade pip setuptools --upgrade
7. Aby dostać się do środowiska Pythona, musimy uruchomić to polecenie
source env/bin/activate
8. Teraz zainstalujemy Bibliotekę Asystenta Google, uruchamiając kolejno następujące polecenia, aby uzyskać zaktualizowaną bibliotekę
python -m pip install --upgrade google-assistant-library
python -m pip install --upgrade google-assistant-sdk
Teraz zakończyliśmy instalację wszystkich wymaganych zależności i bibliotek.
Autoryzacja Raspberry Pi dla Asystenta Google
1. Najpierw zainstalujemy narzędzie autoryzacyjne Google na naszym Raspberry pi, wykonując następujące polecenie
python -m pip install --upgrade google-auth-oauthlib
2. Teraz musimy uruchomić bibliotekę Google Authentication. Wykonaj to polecenie, aby uruchomić bibliotekę.
google-oauthlib-tool --client-secrets ~ / googleassistant / credentials.json \ --scope https://www.googleapis.com/auth/assistant-sdk-prototype \ --scope https: //www.googleapis. com / auth / gcm \ --save –headless
To polecenie wygeneruje adres URL, skopiuj ten adres URL i wklej go w przeglądarce internetowej.
3. W przeglądarce zaloguj się na swoje konto Google, jeśli masz wiele kont, wybierz tylko to, na którym skonfigurowałeś swój klucz API.
Po zalogowaniu zobaczysz długi kod uwierzytelniający. Skopiuj ten kod i wklej go do okna terminala i naciśnij Enter. Jeśli uwierzytelnienie jest zweryfikowane, w wierszu poleceń powinien pojawić się następujący wiersz, jak pokazano na powyższym obrazku:
dane logowania zapisane: /home/pi/.config/google-oauthlib-tool/credentials.json
4. Nasze dane uwierzytelniające są teraz zweryfikowane, ale Google nadal chce zweryfikować za pomocą wyskakującego okienka. Ale nasze wyskakujące okienko jest blokowane przez CORS (udostępnianie zasobów między źródłami), więc najpierw wyłącz to za pomocą poniższego polecenia.
Aby użyć tego polecenia, upewnij się, że przeglądarka Chrome jest zamknięta, a teraz otwórz nowe okno terminala i wpisz polecenie. To polecenie uruchomi przeglądarkę Chromium z wyłączonymi zabezpieczeniami CORS, nie przeglądaj internetu z wyłączonymi zabezpieczeniami.
chromium-browser --disable-web-security --user-data-dir "/home/pi/
Po otwarciu przeglądarki przejdź do poprzedniego okna terminala, w którym ustawiłeś przykład Asystenta Google.
5. Teraz uruchom następujące polecenie, aby po raz pierwszy uruchomić Asystenta Google. W tym poleceniu zamień
Jeśli nie pamiętasz identyfikatora projektu, przejdź do Actions Console w Google, kliknij utworzony projekt, a następnie kliknij ikonę koła zębatego w lewym górnym rogu, a następnie opcję Ustawienia projektu.
Wymień także
googlesamples-assistant-pushtotalk --project-id
To polecenie uruchomi nową kartę w przeglądarce Chromium.
6. Teraz naciśnij Enter w oknie terminala, aby je uruchomić i zadać dowolne pytanie.
Gdy zadałeś pierwsze pytanie, w przeglądarce może pojawić się poniższy ekran. Kliknij Kontynuuj -> Rozumiem -> Zezwalaj.
Jeśli ten ekran Kontynuuj nie pojawi się, nie ma problemu.
7. Teraz możemy użyć próbki „push to talk” Asystenta Google i uzyskać odpowiedź wyjściową.
Kiedy naciśniesz Enter w terminalu i wypowiesz czynność, powinieneś usłyszeć odpowiedź werbalną, a także otworzy się kolejna zakładka, pokazująca czynność, którą właśnie wywołałeś.
Możesz wyłączyć otwieranie karty, usuwając argument –display z polecenia. Potrzebowaliśmy tego, aby uzyskać ekran autoryzacji.
Korzystanie z Asystenta Google na Raspberry Pi
Autoryzowaliśmy nasze Raspberry Pi. Jeśli chcesz uruchomić Asystenta Google, po prostu wejdź do środowiska i wykonaj poniższe czynności.
1. Uruchom następujące polecenie na get w środowisku
źródło env / bin / activ
Zobaczysz (env) na początku każdego wiersza.
2. Aby uruchomić próbkę Naciśnij i mów, uruchom następujące polecenie
googlesamples-assistant-pushtotalk
Tym razem nie potrzebujemy identyfikatora produktu i identyfikatora urządzenia.
3. Oprócz funkcji „Naciśnij i mów” możesz także uruchomić asystenta Google, mówiąc „ OK Google”. W tym celu musisz wprowadzić nieprawidłowy identyfikator urządzenia, aby działał. Nieprawidłowy identyfikator urządzenia może wyglądać następująco: aaaa, abcd.
Teraz uruchom następujące polecenie.
googlesamples-assistant-hotword --device-model-id
Teraz możesz zapytać o wszystko, korzystając z własnego asystenta Google, po prostu powiedz OK Google.
W ten sposób możemy zainstalować Asystenta Google na Raspberry Pi i zamienić go w Google Home, podłączając do niego głośnik i mikrofon.