Spisu treści:
- Krok 1: Rzeczy, których potrzebujesz
- Krok 2: Konfiguracja mikrofonu USB
- Krok 3: Konfiguracja wyjścia głośnikowego
- Krok 4: Przetestuj mikrofon i głośniki
- Krok 5: Pobierz wymagane pakiety i skonfiguruj środowisko Python:
- Krok 6: Włączanie Google Assistant Cloud Project
- Krok 7: Uwierzytelnianie Raspberry Pi
- Krok 8: Konfiguracja wskaźnika LED
- Krok 9: Inicjalizacja przy rozruchu zakończona:
- Krok 10: Uruchamianie Asystenta Google podczas uruchamiania
- Krok 11: Wniosek
Wideo: Pi Home, wirtualny asystent Raspberry Powered: 11 kroków (ze zdjęciami)
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:31
Google Home przydaje się w domu. Jest to piękne urządzenie z wbudowanym Asystentem Google - najnowocześniejszym cyfrowym osobistym asystentem Google. Może odtwarzać multimedia, zapisywać przypomnienia i notatki, informować o długości dojazdu do pracy, wykonywać automatykę domową. Można go umieścić w dowolnym miejscu w domu i zrobi dla ciebie niesamowite rzeczy, ale jest to droga propozycja, jeśli nie jesteś pewien, czy go użyjesz. Dobra wiadomość: możesz stworzyć w pełni funkcjonalny za pomocą Raspberry Pi.
Pod koniec tego przewodnika będziesz mieć w pełni działający Google Home, który reaguje na Twoje polecenia głosowe. W przeciwnym razie jest to Asystent ze wszystkimi funkcjami Google Home. Co oznacza, że może dokonywać konwersji jednostek, odtwarzać multimedia, sprawdzać wyniki, czytać książki audio, sprawdzać pogodę i wiele więcej. Będzie również współpracować z różnymi urządzeniami automatyki domowej, takimi jak inteligentne żarówki, dzięki czemu możesz sterować nimi za pomocą głosu. Podobnie jak prawdziwy Asystent Google, Twój DIY Google Home można połączyć, aby dodać więcej funkcji, takich jak dodawanie zadań do wykonania do Evernote lub otrzymywanie powiadomienia na telefonie, gdy minutnik się wyłączy.
Krok 1: Rzeczy, których potrzebujesz
Potrzebujesz:
- Raspberry Pi 3 lub 2 z zainstalowanym Raspbian i konfiguracją Wi-Fi.
- Zasilacz i kabel zasilający MicroUSB. (minimum 5V, 2A)
- Karta micro sd. (minimum 8 GB)
- Mikrofon USB. (Dowiedz się, jak skonfigurować przez Internet, również tutaj…)
- Głośniki
- Klawiatura i mysz do konfiguracji
- Dioda LED i kilka przewodów do podłączenia
Wszystkie rzeczy zebrane, połączone i podłączone, zacznijmy.
Krok 2: Konfiguracja mikrofonu USB
- Pi nie ma wbudowanych mikrofonów. Musisz podłączyć mikrofon USB, jeśli chcesz nagrywać dźwięk.
- Podłącz mikrofon USB do dowolnego gniazda USB w swoim Pi.
- Wpisz następujące polecenie w terminalu.
arecord -l
To polecenie wyświetli listę wszystkich dostępnych urządzeń do nagrywania dźwięku. Będzie pusty, jeśli podłączony zostanie mikrofon USB. Powinieneś otrzymać następujące dane wyjściowe
pi@raspberrypi:~ $ arecord -l
**** Lista urządzeń sprzętowych CAPTURE **** karta 1: Urządzenie [USB PnP Sound Device], urządzenie 0: USB Audio [USB Audio] Podurządzenia: Podurządzenie #0: podurządzenie #0
Możesz zobaczyć, że twoje urządzenie USB jest podłączone do karty 1, a identyfikator urządzenia to 0. Raspberry Pi rozpoznaje kartę 0 jako wewnętrzną kartę dźwiękową, czyli bcm2835, a inne zewnętrzne karty dźwiękowe jako zewnętrzne karty dźwiękowe o nazwach card 1, card 2 i Następny…
Teraz musimy zmienić konfiguracje audio. Aby edytować plik asound.conf, wpisz następujące polecenie
sudo nano /etc/asound.conf
Dodaj poniższe wiersze w pliku. Następnie naciśnij Ctrl + X, a następnie Y, aby zapisać plik
szt.! domyślnie {
type asym capture.pcm "mic" playback.pcm "speaker" } pcm.mic { type plug slave { pcm "hw:1, 0" } } pcm.speaker { type hw card 0 } ctl.!default { type hw card 0}
Spowoduje to ustawienie zewnętrznego mikrofonu (pcm.mic) jako urządzenia do przechwytywania dźwięku (pcm!.default), a wbudowanej karty dźwiękowej (karta 0) jako głośnika.
Utwórz nowy plik o nazwie.asoundrc w katalogu domowym (/home/pi) wydając poniższe polecenie i wklej powyższe konfiguracje (które zostały dodane w pliku /etc/asound.conf.) do tego pliku
sudo nano.asoundrc.
Krok 3: Konfiguracja wyjścia głośnikowego
- Podłącz głośnik do gniazda słuchawkowego 3,5 mm Raspberry Pi.
- Uruchom poniższe polecenie, aby otworzyć ekran konfiguracji pi.
sudo raspi-config
Przejdź do Opcje zaawansowane > Audio i wybierz urządzenie wyjściowe. (gniazdo 3,5 mm lub HDMI)
Krok 4: Przetestuj mikrofon i głośniki
Aby przetestować głośnik, uruchom w terminalu następujące polecenie. Odtworzy się dźwięk testowy. Naciśnij Ctrl+C, aby wyjść. Jeśli nie słyszysz dźwięku testowego, sprawdź podłączenie i zasilanie głośników. Test brzmi jak-
Przedni lewy, przedni prawy
głośnik-test -t wav
Aby przetestować mikrofon, uruchom następujące polecenie. Spowoduje to nagranie krótkiego, 5-sekundowego klipu audio. Jeśli pojawi się jakiś błąd, sprawdź ponownie poprzednie kroki
arecord --format=S16_LE --duration=5 --rate=16k --file-type=raw out.raw
Odtwórz nagrany dźwięk i potwierdź, że wszystko działa poprawnie, wpisując następujące polecenie
aplay --format=S16_LE --rate=16k out.raw
Nasz sprzęt jest gotowy
Krok 5: Pobierz wymagane pakiety i skonfiguruj środowisko Python:
Najpierw zaktualizuj system operacyjny, uruchamiając polecenia jeden po drugim w terminalu
aktualizacja sudo apt-get
sudo apt-get upgrade
Uruchamianie poleceń jeden po drugim w terminalu spowoduje utworzenie środowiska Python 3 (biblioteka Google Assistant działa tylko w Pythonie 3) w twoim Pi i zainstalujesz wymagane elementy
sudo apt-get zainstaluj python3-dev python3-venv
$ python3 -m venv env $ env/bin/python -m pip install --upgrade pip setuptools
Aktywuj środowisko Pythona. Spowoduje to wyświetlenie tekstu „(env)” przed terminalem poleceń twojego Pi
źródło env/bin/aktywuj
Zainstaluj pakiet Google Assistant SDK, który zawiera cały kod wymagany do uruchomienia Asystenta Google na Pi. Należy pobrać bibliotekę Google Assistant i znaczenie
python -m pip install --upgrade google-assistant-library
Krok 6: Włączanie Google Assistant Cloud Project
- Otwórz Google Cloud Console i utwórz nowy projekt. (Nazwij to cokolwiek.) Konto, za pomocą którego się zalogujesz, będzie używane do wysyłania zapytań do Asystenta Google i otrzymywania spersonalizowanej odpowiedzi.
- Przejdź do menedżera API i włącz interfejs Google Assistant API.
- Upewnij się, że włączyłeś Aktywność w internecie i aplikacjach, Informacje o urządzeniu oraz Aktywność związaną z głosem i dźwiękiem w Kontroli aktywności na koncie.
- Przejdź do „Poświadczeń” i skonfiguruj ekran treści OAuth.
- Przejdź do zakładki „Credentials” i utwórz nowy identyfikator klienta OAuth
- Wybierz typ aplikacji jako „Inne” i podaj nazwę klucza.
- Pobierz plik JSON, który przechowuje informacje o kluczu OAuth, i zachowaj go.
Krok 7: Uwierzytelnianie Raspberry Pi
Zainstaluj narzędzie autoryzacyjne, uruchamiając poniższe polecenie
(env) python -m pip install --upgrade google-auth-oauthlib[narzędzie]
Uruchom narzędzie, uruchamiając następujące polecenie. Upewnij się, że podajesz poprawną ścieżkę do pliku JSON pobranego w kroku 6
(env) google-oauthlib-tool --client-secrets "JSON_FILE_PATH" --scope https://www.googleapis.com/auth/assistant-sdk-prototype --save --headless
Powinien wyświetlić się tak, jak pokazano poniżej. Skopiuj adres URL i wklej go do przeglądarki. Jeśli zamiast tego wyświetla:
Nieprawidłowy błąd przyznania
następnie wprowadzono nieprawidłowy kod. Spróbuj ponownie.
Przejdź do tego adresu URL:
Wprowadź kod autoryzacyjny:
Krok 8: Konfiguracja wskaźnika LED
- Podłącz diodę LED między pin 25 GPIO a uziemieniem.
- Ustawimy pin 25 GPIO jako pin wyjściowy.
- Pakiet SDK Asystenta Google udostępnia wywołanie zwrotne EventType. ON_CONVERSATION_TURN_STARTED, gdy rozpocznie się konwersja z Asystentem Google. W tym momencie ustawimy GPIO 25, aby świeciło diodą LED.
- Za każdym razem, gdy konwersacja zostanie zakończona, zostanie odebrane wywołanie zwrotne typu EventType. ON_CONVERSATION_TURN_FINISHED. W tym momencie zresetujemy GPIO 25, aby wyłączyć diodę LED.
Krok 9: Inicjalizacja przy rozruchu zakończona:
- Za każdym razem, gdy Twoje Pi zakończy uruchamianie, uruchomimy skrypt Pythona, który zweryfikuje i wprowadzi Asystenta Google podczas rozruchu.
- Najpierw dodaj pakiet RPi. GPIO, aby dodać obsługę GPIO za pomocą następującego polecenia.
pip zainstaluj RPi. GPIO
Uruchom kroki jeden po drugim. Przejdź do katalogu użytkownika. Utwórz nowy plik Pythona main.py
cd /home/pi
sudo nano main.py
Napisz połączony skrypt i zapisz plik
Teraz utwórz jeden skrypt powłoki, który zainicjuje i uruchomi Asystenta Google
sudo nano google-asystent-init.sh
Wklej poniżej wierszy do pliku i zapisz plik
#!/kosz/sz
/home/pi/env/bin/python3 -u /home/pi/main.py
Udziel uprawnienia do wykonywania
sudo chmod +x google-assistant-init.sh
Możesz uruchomić google-assistant-init.sh, aby zainicjować Asystenta Google w dowolnym momencie.
Krok 10: Uruchamianie Asystenta Google podczas uruchamiania
Aby włączyć Asystenta Google przy rozruchu, istnieją dwa sposoby. Zobaczmy każdy z nich
1. Autostart z Pixel Desktop przy rozruchu:
- Spowoduje to uruchomienie Asystenta Google, gdy tylko uruchomi się Pixel Desktop. Upewnij się, że masz wybrany rozruch „Desktop” w konfiguracjach Raspberry Pi.
- Wpisz poniżej polecenie.
sudo nano /home/pi/.config/lxsession/LXDE-pi/autostart
Dodaj następujące po @xscreensaver -no-splash
@lxterminal -e "/home/pi/google-assistant-init.sh"
Zapisz i wyjdź, naciskając „Ctrl + X”, a następnie „Y
2. Autostart z CLI przy rozruchu: (osobiście tego używałem, chociaż autostart działa dobrze.)
- Spowoduje to uruchomienie Asystenta Google, jeśli ustawiłeś rozruch CLI. Upewnij się, że w konfiguracjach Raspberry Pi wybrano rozruch „CLI”.
- Wpisz poniżej polecenie.
sudo nano /etc/profil
Dodaj poniższy wiersz na końcu pliku
sudo /home/pi/google-assistant-init.sh
Zapisz i wyjdź, naciskając „Ctrl + X”, a następnie „Y”
Krok 11: Wniosek
Czym dokładnie jest ten Home Pi? Nic, z wyjątkiem wydatków. Wynik końcowy jest w zasadzie taki sam, możesz aktywować swój DIY Google Home, wypowiadając słowo „Ok Google / Hej Google”, a urządzenie działa jak prawdziwy asystent. Możesz wykonywać wiele codziennych czynności z Google Home. Jeśli chcesz wykonywać niestandardowe zadania, takie jak wyłączanie światła, sprawdzanie drzwi, możesz to zrobić dzięki integracji Google Actions z Asystentem Google. Jeśli masz problemy z uruchomieniem Asystenta Google, zostaw komentarz poniżej. Postaram się je rozwiązać tak bardzo, jak tylko będę mógł.
Zalecana:
Asystent parkowania Arduino - parkowanie samochodu za każdym razem we właściwym miejscu: 5 kroków (ze zdjęciami)
Arduino Parking Assistant - Parkuj samochód w odpowiednim miejscu za każdym razem: W tym projekcie pokażę Ci, jak zbudować własnego asystenta parkowania przy użyciu Arudino. Ten asystent parkowania mierzy odległość do Twojego samochodu i pomaga zaparkować go we właściwym miejscu za pomocą wyświetlacza LCD i diody LED, która progresyw
Wirtualny wizjer: 4 kroki (ze zdjęciami)
Wirtualny wizjer: Szacuje się, że na całym świecie jest 770 milionów kamer monitorujących. Niektóre z nich nadal mają domyślne hasło, dzięki czemu są łatwo dostępne dla każdego, kto ma połączenie z internetem.Ten wirtualny wizjer to urządzenie do oglądania niektórych z nich
Zaplanuj zegar: Twój wirtualny asystent produktywności.: 6 kroków (ze zdjęciami)
Zegar harmonogramu: Twój wirtualny asystent ds. produktywności.: Jestem zawodowym prokrastynatorem! Ta blokada wprowadziła mnie w pętlę czasową, w której codziennie po prostu leci bez żadnej produktywnej pracy. Aby pokonać prokrastynację, stworzyłem prosty i szybki zegar, który ustala harmonogram mojej pracy. Teraz mogę po prostu trzymać się
Urządzenie stacjonarne - konfigurowalny asystent pulpitu: 7 kroków (ze zdjęciami)
Urządzenie stacjonarne - konfigurowalny asystent pulpitu: Urządzenie stacjonarne to mały osobisty asystent pulpitu, który może wyświetlać różne informacje pobrane z Internetu. To urządzenie zostało zaprojektowane i zbudowane przeze mnie na zajęcia CRT 420 - Special Topics w Berry College prowadzone przez Instruktora
EKitty: Twój wirtualny kot: 11 kroków (ze zdjęciami)
EKitty: Your Virtual Cat: eKitty to poduszka dla kota z ramką na zdjęcia LCD wbudowaną w głowę. Ekran LCD wyświetla sześć różnych twarzy w 15-sekundowych odstępach. Pierwotnie stworzyliśmy eKitty, aby zobaczyć reakcję ludzi, gdy pokazano prostą uroczą zabawkę ze zmieniającymi się emocjami