Spisu treści:

Hands Free Google Assistant dla Raspberry Pi: 14 kroków (ze zdjęciami)
Hands Free Google Assistant dla Raspberry Pi: 14 kroków (ze zdjęciami)

Wideo: Hands Free Google Assistant dla Raspberry Pi: 14 kroków (ze zdjęciami)

Wideo: Hands Free Google Assistant dla Raspberry Pi: 14 kroków (ze zdjęciami)
Wideo: [HA] Home Assistant - START - wprowadzenie, instalacja i konfiguracja na wirtualizatorze PROXMOX 2024, Listopad
Anonim
Image
Image
Formatowanie karty SD
Formatowanie karty SD

Witam i zapraszam do mojego pierwszego Instructable!

W tej instrukcji pokażę, co uważam za najłatwiejszy sposób na zainstalowanie całego śpiewającego, tańczącego Asystenta Google na twoim Raspberry Pi. Jest całkowicie wolna od rąk za pomocą polecenia OK Google i uruchamia się automatycznie po uruchomieniu Pi. Jest super fajna i naprawdę łatwa w konfiguracji!

Więc jak to wszystko jest możliwe?

Jakiś czas temu Google wypuścił zestaw AI typu „zrób to sam” w numerze 57 magazynu The Magpi. Ułatwiło to stworzenie własnego asystenta Google, jednak zdobycie zestawu głosowego było trochę trudniejsze i w wielu miejscach wyprzedał się w ciągu kilku godzin.

Na szczęście firma Google udostępniła całe oprogramowanie online wraz z pełnymi instrukcjami. Oznaczało to, że nie potrzebowaliśmy kopii The Magpi, aby skorzystać z całej tej ciężkiej pracy.

Mimo to wydaje się, że nie ma żadnych wyraźnych instrukcji online dotyczących korzystania z zestawu głosowego bez kopii magazynu lub bez dostarczonego z nim sprzętu. Zamiast tego większość samouczków próbuje zainstalować wszystko od zera, co często powoduje bałagan w kodzie, który jest niemożliwy do naśladowania dla nie-koderów, takich jak ja.

I tu właśnie pojawia się ten Instructable. Jest to wynik 2 dni ciężkiej pracy, przyglądając się setkom samouczków, filmów i postów online. Rezultatem jest stabilny Asystent Google, który działa przy starcie i jest aktywowany głosem za pomocą słowa-klucza „OK Google”.

Co jest wymagane?

Aby pomyślnie ukończyć tę instrukcję, będziesz potrzebować:

  • Raspberry Pi 3 (ze zwykłą kartą microSD i przewodem zasilającym). * Dziękuję MichaelW142, który potwierdził, że działa to również z Raspberry Pi 2.
  • Podstawowy głośnik ze złączem aux 3,5 mm
  • Mikrofon USB
  • Mysz i klawiatura

Krok 1: Formatowanie karty SD

Pierwszą rzeczą, którą musimy zrobić, to sformatować naszą kartę SD. Użyjmy narzędzia formatowania SD Association, które jest zalecane przez oficjalną fundację Raspberry Pi.

Po zainstalowaniu uruchom aplikację i kliknij „Opcja” Musisz zmienić opcję „REGULACJA ROZMIARU FORMATU” na „WŁ”.

Teraz kliknij „OK” i dwukrotnie sprawdź, czy formatujemy właściwy dysk, a następnie kliknij „Formatuj”. Nie powinno to zająć zbyt dużo czasu, po prostu poczekaj na potwierdzenie, że dysk został pomyślnie sformatowany, zanim przejdziesz do następnego kroku.

Krok 2: Przygotowanie karty SD

Przygotowanie karty SD
Przygotowanie karty SD

Następnie musimy pobrać obraz karty microSD Voice Kit dla Raspberry Pi. Możesz pobrać obraz z mojego Dysku Google.

Aby przenieść obraz, który właśnie pobraliśmy na naszą kartę SD, użyjemy programu o nazwie Etcher.io. Jest darmowy, open source i nie wymaga instalacji.

Po pobraniu Etchera uruchom program i powinieneś zobaczyć ekran podobny do powyższego. Załadowanie może zająć minutę lub dwie, więc jeśli nie załaduje się od razu, bądź cierpliwy.

Kliknij „Wybierz obraz” i przejdź do pobranego właśnie obrazu zestawu głosowego (aiyprojects-2017-05-03.img). Po wybraniu dwukrotnie sprawdź, czy zapisujesz zawartość na właściwym dysku. Zakładając, że mamy wybrany właściwy dysk, kliknij „Flash!”.

Zapisanie obrazu na karcie SD może zająć około 20 minut lub więcej, więc nie wahaj się i zrób sobie filiżankę herbaty, a do zobaczenia za chwilę!

Krok 3: Wzmocnij to Pi

Wzmocnij to Pi!
Wzmocnij to Pi!
Wzmocnij to Pi!
Wzmocnij to Pi!

Gdy tylko karta SD będzie gotowa, możemy włożyć kartę microSD do naszego Raspberry Pi. W tym momencie musimy również podłączyć nasz przewód zasilający, kabel HDMI, klawiaturę, mysz, monitor, głośnik i mikrofon USB. Mam nadzieję, że twoja konfiguracja powinna wyglądać podobnie do mojej.

Używam bezprzewodowej klawiatury i myszy, więc nie przerażaj się, jeśli otrzymasz kilka dodatkowych kabli z własną konfiguracją!

Po podłączeniu kabla zasilającego pozwól, aby Twoje Raspberry Pi uruchomiło się, a wkrótce pojawi się standardowy pulpit Pixel.

Krok 4: Konfiguracja wstępna

Konfiguracja początkowa
Konfiguracja początkowa
Konfiguracja początkowa
Konfiguracja początkowa
Konfiguracja początkowa
Konfiguracja początkowa

Chwyć kursor i przejdź do logo Raspberry Pi w lewym górnym rogu ekranu. Z menu wybierz „Preferencje”, a następnie „Konfiguracja Raspberry Pi”.

Następnie przejdź do „Interfejsów” i włącz „SSH”.

Teraz kliknij logo Wi-Fi w prawym górnym rogu ekranu i wybierz swoją sieć Wi-Fi. Jeśli twoje WiFi jest chronione hasłem, zostaniesz poproszony o wprowadzenie tego. Zielony haczyk potwierdza, że nawiązaliśmy połączenie i jesteśmy gotowi, aby przejść do następnego kroku.

Krok 5: Aktualizacja instalacji

Aktualizacja instalacji
Aktualizacja instalacji

To jest tak zaawansowane, jak ten samouczek. Zamierzamy użyć terminala deweloperskiego, aby zaktualizować pakiet SDK Asystenta Google, zestaw projektów i zależności, aby mieć pewność, że mamy najnowsze wersje. Nie panikuj, jeśli nic z tego nie ma dla Ciebie większego sensu, ale ważne jest, abyśmy nie pominęli tego kroku. Po prostu zrób dokładnie to, co mówi ten samouczek, uważając, aby nie popełnić żadnych literówek, a wszystko będzie dobrze.

Więc panikuj, zacznijmy! Kliknij dwukrotnie ikonę na pulpicie „Uruchom terminal programistyczny”.

Powinieneś zobaczyć przerażająco wyglądające okno terminala deweloperskiego, takie jak to powyżej.

Następnie wpisz następujące polecenia w terminalu dokładnie tak, jak wyglądają poniżej. Jest tu 9 poleceń i każde należy wprowadzić osobno w kolejności, w jakiej się pojawiają. Po wpisaniu każdego polecenia naciśnij „Enter” na klawiaturze przed przejściem do następnego. Wykonanie niektórych poleceń zajmie kilka sekund, więc bądź cierpliwy, czekając na zakończenie każdego z nich, zanim przejdziesz do następnego.

cd ~/asystent-sdk-python

Mistrz kasy git

Mistrz pochodzenia git pull

cd ~/rozpoznawanie głosu-raspi

Mistrz kasy git

Mistrz pochodzenia git pull

cd ~/rozpoznawanie głosu-raspi

rm -rf env

skrypty/instalacja-deps.sh

Krok 6: Przygotowanie plików konfiguracyjnych

Następnie musimy wykonać kopię zapasową naszych istniejących plików konfiguracyjnych i przenieść najnowsze wersje, które właśnie zostały zaktualizowane. Oto 4 dodatkowe polecenia, które możesz właśnie to zrobić. Można to zrobić w tym samym terminalu deweloperskim, którego właśnie używaliśmy. Po raz kolejny należy je wykonać w tej kolejności i wpisać dokładnie tak, jak pokazano poniżej:

cp ~/.config/status-led.ini ~/.config/status-led.ini~

cp ~/.config/voice-recognizer.ini ~/.config/voice-recognizer.ini~

cp ~/voice-recognizer-raspi/config/status-led.ini.default ~/.config/status-led.ini

cp ~/voice-recognizer-raspi/config/voice-recognizer.ini.default ~/.config/voice-recognizer.ini

Krok 7: Konfigurowanie słowa-klucza

Konfigurowanie słowa-klucza
Konfigurowanie słowa-klucza
Konfigurowanie słowa-klucza
Konfigurowanie słowa-klucza

Jak dotąd świetna robota! Jesteśmy teraz naprawdę blisko, więc trzymaj się tego.

Musimy teraz zmienić wyzwalacz dla naszego zestawu projektu Google AIY, aby reagował na nasz głos, gdy wypowiadamy słowa „OK Google”.

Wpisz następujące polecenie w terminalu deweloperskim:

nano ~/.config/voice-recognizer.ini

Spowoduje to jeszcze bardziej przerażające okno.

W tym nowym oknie poszukaj następującego kodu:

# Wybierz wyzwalacz: gpio (domyślnie), clap, ok-google.

# wyzwalacz = klaś

Musimy zmienić ten kod na:

# Wybierz wyzwalacz: gpio (domyślnie), clap, ok-google.

wyzwalacz = ok-google

Jeśli użyjesz klawiszy strzałek na klawiaturze, zauważysz, że pojawia się kursor. Używając klawiszy strzałek, sprowadź kursor do wiersza tekstu, który próbujemy zmienić. Używając klawisza Backspace na klawiaturze usuń wiersz tekstu, który próbujemy zmienić i wpisz go ponownie, tak jak w powyższym przykładzie.

Zauważ, że usunąłem również symbol #, ważne jest, abyśmy nie umieszczali # w tym nowym wierszu tekstu.

Załączam zrzut ekranu przed i po tym, jak to wszystko powinno wyglądać (okrywając, że cię tam zgubiłem).

Zakładając, że twoje okno wygląda dokładnie tak, jak moje, możemy zamknąć i zapisać zmiany. Przytrzymaj „Ctrl” na klawiaturze i naciśnij „X”, aby zamknąć okno. Następnie zostaniemy poproszeni o zapisanie wprowadzonych zmian, naciśnięcie „Y”, a następnie naciśnięcie „Enter” na klawiaturze. Okno zostanie teraz zamknięte, a zmiany zapisane.

Aby zmiany weszły w życie, musimy ponownie uruchomić usługę. Wpisz następujące polecenie w oknie terminala i naciśnij „Enter”:

sudo systemctl restart voice-recognizer.service

Krok 8: Konfiguracja dźwięku (część 1)

Konfiguracja dźwięku (część 1)
Konfiguracja dźwięku (część 1)

W tej chwili Asystent Google jest mniej więcej żywy i gotowy do służby. Gratulacje!

Jednak zanim się za bardzo podniecicie, nie będziecie się wzajemnie słyszeć. Dzieje się tak, ponieważ obraz projektu Google AIY został skonfigurowany do pracy ze sprzętem dostarczonym z zestawem. Ponieważ używamy standardowego głośnika aux i mikrofonu USB, musimy poprawić niektóre z konfiguracji.

Ponownie użyjemy tego samego okna terminala deweloperskiego, tym razem wpisz:

sudo leafpad /boot/config.txt

Otworzy się okno tekstowe. Przewiń na sam dół dokumentu i usuń # przed wierszem dtparam=audio=on i wstaw # przed dwoma wierszami poniżej.

Po wprowadzeniu tych zmian powinno wyglądać dokładnie tak:

# Włącz dźwięk (ładuje snd_bcm2835)

dtparam=audio=on #dtoverlay=i2s-mmap #dtoverlay=googlevoicehat-soundcard

Załączam również zrzut ekranu, aby pokazać, jak to będzie wyglądać.

Przejdź do „Plik”, a następnie kliknij „Zapisz. Możesz teraz zamknąć dokument.

Krok 9: Konfiguracja dźwięku (część 2)

Konfiguracja dźwięku (część 2)
Konfiguracja dźwięku (część 2)

Z powrotem w terminalu deweloperskim, wpisz:

sudo leafpad /etc/asound.conf

Po naciśnięciu „Enter” otworzy się nowy dokument tekstowy. Tym razem usuń WSZYSTKI tekst w dokumencie i zastąp go następującym:

pcm.!default { type asym capture.pcm "mic" playback.pcm "speaker" } pcm.mic { type plug slave { pcm "hw:1, 0" } } pcm.speaker { type plug slave { pcm "hw: 0, 0" } }

Ponownie załączyłem zrzut ekranu pokazujący, jak to będzie wyglądać.

Jeszcze raz zapisz i zamknij dokument.

Teraz nadszedł czas na ponowne uruchomienie Raspberry Pi. Kliknij logo Raspberry Pi w lewym górnym rogu ekranu i kliknij „Zamknij”, a następnie „Uruchom ponownie”.

Po ponownym uruchomieniu Pi mamy jeszcze tylko jedną poprawkę. Ponownie kliknij dwukrotnie ikonę „Uruchom terminal deweloperski” i wpisz następujące polecenie:

leafpad /home/pi/voice-recognizer-raspi/checkpoints/check_audio.py

W tym końcowym dokumencie musisz zlokalizować wiersz kodu, który brzmi:

VOICEHAT_ID = „czapka googlevoice”

Zmień to na:

VOICEHAT_ID = „bcm2835”

Po wprowadzeniu tych zmian, tak jak poprzednio, zapisz, a następnie zamknij ten dokument.

Krok 10: Testowanie dźwięku

Testowanie dźwięku
Testowanie dźwięku

Na pulpicie znajduje się plik o nazwie „Sprawdź dźwięk”. Kliknij to dwukrotnie i postępuj zgodnie z instrukcjami, aby upewnić się, że zarówno mowa, jak i mikrofon działają.

Jeśli prawidłowo postępowałeś zgodnie z tą instrukcją, nie powinno być żadnych problemów. Jeśli jednak nic nie słyszysz, sprawdź, czy głośność jest zwiększona i czy Twój Raspberry Pi używa „analogowego” do wyjścia dźwięku. Możesz to zrobić, klikając prawym przyciskiem myszy ikonę dźwięku u góry ekranu. „Analogowy” powinien być zaznaczony, tak jak przykład na zrzucie ekranu.

Zakładając, że przeszedłeś test audio, możemy przejść do następnego kroku.

Krok 11: Łączenie się z chmurą

Zanim Asystent Google udzieli nam odpowiedzi na nurtujące nas pytania, musimy połączyć ją z usługami Google Cloud.

Jest to łatwe, ale jeśli wcześniej nie byłeś w chmurze, na początku może się to wydawać nieco zniechęcające.

Oto, co musimy zrobić:

1) Na Raspberry Pi otwórz przeglądarkę internetową Chrome i przejdź do konsoli Cloud:

2) Zaloguj się przy użyciu istniejącego konta Google lub zarejestruj się, jeśli go nie masz.

3) Utwórz nowy projekt i nadaj mu nazwę. Nazwałem swoje „Google Pi”

4) Korzystając z paska wyszukiwania zacznij pisać „Asystent Google” i powinieneś zobaczyć „API Asystenta Google”. Kliknij go, a następnie, gdy załaduje się następna strona, kliknij „Włącz”, aby aktywować API.

5) Przejdź do „Menedżera API”, a następnie „Poświadczenia” i utwórz „klienta OAuth 2.0”.

6) Kliknij „Utwórz dane uwierzytelniające” i wybierz „Identyfikator klienta OAuth”. Jeśli nigdy wcześniej nie byłeś w chmurze, zostaniesz poproszony o skonfigurowanie ekranu zgody. Musisz nazwać swoją aplikację, ja nazwałem swoją „Raspberry Pi”. Wszystkie pozostałe pola można pozostawić puste.

7) Na liście Poświadczenia znajdź nowe poświadczenia i kliknij ikonę pobierania po prawej stronie.

8) Przeglądarka Chrome pobierze teraz mały plik JSON ze wszystkimi Twoimi danymi uwierzytelniającymi przechowywanymi bezpiecznie w środku. Znajdź ten plik i zmień jego nazwę na „assistant.json”, a następnie przenieś go do /home/pi/assistant.json.

9) Na koniec przejdź do strony Kontrola aktywności: https://myaccount.google.com/activitycontrols i włącz następujące usługi: Aktywność w internecie i aplikacjach, Historia lokalizacji, Informacje o urządzeniu, Aktywność głosowa i dźwiękowa. Pamiętaj, aby zalogować się na to samo konto Google, co wcześniej!

Jeśli utknąłeś w dowolnym momencie na tym etapie, nie wariuj, Google wykonało świetną robotę dokumentując ten proces za pomocą zrzutów ekranu dla każdego kroku na stronie Google AIY Kit.

Krok 12: Testy końcowe

Testy końcowe
Testy końcowe

Jeśli wszystko zostało poprawnie skonfigurowane w chmurze, jesteśmy teraz gotowi do rozmowy z Google. Ponownie korzystając z okna poleceń „Uruchom terminal deweloperski”, wpisz następujące polecenie:

src/main.py

To obudzi naszego asystenta, ale ponieważ po raz pierwszy łączymy się z usługami Google, otworzy się przeglądarka internetowa i będziesz musiał zalogować się do Google, aby zezwolić Raspberry Pi na dostęp do interfejsu Google Assistant API. Ponownie upewniając się, że używasz tych samych loginów konta Google, co wcześniej.

Po pomyślnym zalogowaniu i przyznaniu uprawnień zostaniesz poproszony o zamknięcie okna. Okno poleceń będzie teraz wyglądać jak dołączony zrzut ekranu potwierdzający, że wszystko zostało poprawnie skonfigurowane.

Śmiało, zadaj pytanie, ona słucha!

Zanim jednak się za bardzo podekscytujesz, jeszcze nie skończyliśmy. Po zakończeniu gry zamknij okno, w tym celu użyj białego krzyżyka w prawym górnym rogu okna.

Krok 13: Konfiguracja Asystenta Google podczas uruchamiania

Obiecałem, że nasz Asystent Google uruchomi się automatycznie, gdy włączymy Raspberry Pi. Aby to zrobić, otwórz nowe okno poleceń za pomocą ikony „Uruchom terminal deweloperski” na pulpicie. Wpisz następujący wiersz kodu w oknie terminala i naciśnij „Enter” na klawiaturze:

sudo systemctl włącz rozpoznawanie głosu

Właśnie skonfigurowaliśmy automatyczne uruchamianie naszego Asystenta Google za pomocą jednej linijki kodu. Jakie to proste!!

Krok 14: Linia mety

Teraz, gdy wykonałeś wszystkie kroki, uruchom ponownie Raspberry Pi. Jeśli dokładnie wykonałeś wszystkie te instrukcje, Asystent Google powinien działać w tle, gdy Pi się ładuje. Spróbuj, powiedz OK Google, aby ją obudzić, i zapytaj, co chcesz!

Naprawdę mam nadzieję, że podoba Ci się ten Instruktaż. To efekt 2 dni ciężkiej pracy i wielu lektur online. Zdecydowanie nie jestem programistą, więc próbowałem znaleźć najłatwiejszy i najbardziej logiczny sposób na przeniesienie działającego Asystenta Google na Raspberry Pi i wierzę, że to jest to.

Jeśli masz jakieś pytania lub sugestie dotyczące tego Instruktażu, daj mi znać w komentarzach poniżej. Chciałbym też usłyszeć, jak wyszedł Twój.

Czytałem wiele samouczków, postów na blogach i wpisów na forum, ale moje największe przełomy w tym projekcie pochodziły z 2 postów online, które próbowały wykonać podobne zadania: https://eduncan911.com/stem/embedded/aiy-google-assistant -upgrades-may-2017.html i https://www.androidauthority.com/build-google-assistant-raspberry-pi-770296/. Ten Instructable jest wynikiem wymyślenia, jak połączyć te dwa elementy w łatwy i prosty Instruktaż!

Dodatkowe kredyty

- Pakiet SDK Asystenta Google ma już ogromną liczbę wbudowanych funkcji, jednak istnieje wiele „modów”, które można dodać do zestawu AIY, aby nadać mu dodatkową funkcjonalność. Ktinkerer ma aktualną listę najnowszych dostępnych modów, sprawdź to! Dziękuję cyberwilkom za zwrócenie na to uwagi:)

- Co powiesz na obudowę głośnika dla twojej nowej, piskliwej sztucznej inteligencji? Sprawdź ten przez adylinn.

Jeśli możesz wymyślić coś jeszcze, co możesz dodać do tej instrukcji, skontaktuj się z nami:)

Konkurs autorski po raz pierwszy
Konkurs autorski po raz pierwszy
Konkurs autorski po raz pierwszy
Konkurs autorski po raz pierwszy

Drugie miejsce w konkursie autorskim po raz pierwszy

Zalecana: