Spisu treści:

Pi Home, wirtualny asystent Raspberry Powered: 11 kroków (ze zdjęciami)
Pi Home, wirtualny asystent Raspberry Powered: 11 kroków (ze zdjęciami)

Wideo: Pi Home, wirtualny asystent Raspberry Powered: 11 kroków (ze zdjęciami)

Wideo: Pi Home, wirtualny asystent Raspberry Powered: 11 kroków (ze zdjęciami)
Wideo: Instalacja systemu Home Assistant na Raspberry Pi 4 dysk SSD obudowa x825 + x735 2024, Czerwiec
Anonim
Pi Home, wirtualny asystent zasilany malinami
Pi Home, wirtualny asystent zasilany malinami

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

Rzeczy, których potrzebujesz
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

Konfiguracja mikrofonu USB
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

Konfiguracja wyjścia głośnikowego
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

Przetestuj mikrofon i głośniki
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:

Pobierz wymagane pakiety i skonfiguruj środowisko Pythona
Pobierz wymagane pakiety i skonfiguruj środowisko Pythona

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

Włączam projekt Google Assistant Cloud
Włączam projekt Google Assistant Cloud
Włączam projekt Google Assistant Cloud
Włączam projekt Google Assistant Cloud
Włączam projekt Google Assistant Cloud
Włączam projekt Google Assistant Cloud
Włączam projekt Google Assistant Cloud
Włączam projekt Google Assistant Cloud
  • 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

Uwierzytelnianie Raspberry Pi
Uwierzytelnianie Raspberry Pi
Uwierzytelnianie Raspberry Pi
Uwierzytelnianie Raspberry Pi
Uwierzytelnianie Raspberry Pi
Uwierzytelnianie Raspberry Pi
Uwierzytelnianie Raspberry Pi
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

Konfiguracja wskaźnika LED
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:

Inicjalizacja przy rozruchu zakończona
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

Uruchamianie Asystenta Google podczas uruchamiania
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

Wniosek
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: