środa, 10 maja 2017

Google AIY Projects - czyli sztuczna inteligencja na Raspberry Pi

Dzisiaj opiszę jak zainstalować Google Assistant, czyli pierwszy projekt od Google na Raspberry Pi 3.

Google Assistant to pierwszy projekt od Google z serii Google AIY Projects.

Projekt Google Assistant powstał we współpracy z fundacją Raspberry Pi i ma on na celu wykorzystanie głosowej komunikacji z Raspberry Pi.

Dzięki temu projektowi Raspberry Pi zamienia się w głosowego asystenta, dzięki któremu będziemy mogli sterować różnymi urządzeniami wydając polecenia głosowe.

Asystentowi możemy zadawać różne pytania, a on dosyć szybko udzieli nam odpowiedzi, komunikacja głosowa odbywa się w języku angielskim, możemy zapytać np. jaka jest pogoda w naszej miejscowości, ponadto po napisaniu programu w Pythonie lub modyfikacji gotowego programu wydając polecenie głosowe np. "Turn On Light" będziemy mogli włączyć domowe oświetlenie lub inne urządzenia w domu np. express do kawy.

Możemy również zbudować różne urządzenia wykorzystując np. serwo do sterowania ramieniem robota lub np. silnik elektryczny ze sterownikiem, aby wprawić robota w ruch, można podłączać różne czujniki jak temperatury lub wilgotności, co stworzymy zależy tylko od naszej fantazji.

Google razem z fundacją Raspberry Pi wypuściło do sprzedaży gotowy Voice Kit wraz z 57 numerem magazynu MagPi, niestety magazyn został dosyć szybko wyprzedany online i był dostępny w sklepach stacjonarnych w Wielkiej Brytanii, Irlandii i Stanach Zjednoczonych.

Voice Kit jest opisany tu -> Link i jest to jeden z pierwszych projektów Google AIY Projects.

Nie musimy jednak koniecznie posiadać Voice Kit, aby zainstalować Google Assistant na Raspberry Pi.

Oficjalna instrukcja instalacji od Google znajduje się tu -> Link

Będą nam potrzebne:

1. Raspberry Pi 3 i zasilacz
2. Karta Micro SD.
3. Dowolny mikrofon na USB lub kamerka internetowa z wbudowanym mikrofonem USB.
4. Głośniki z wtykiem mały jack.

Pierwszą rzeczą jaką należy zrobić, to zainstalować system Raspbian na karcie SD.

Jak to zrobić opisałem w tym wpisie na blogu -> Link

Aby zainstalować Google Assistant musimy posiadać konto na Google, jeżeli go nie mamy to zakładamy.

Powinna działać dowolna kamerka USB, ja użyłem kamerki Logitech C920.


Jeżeli mamy już zainstalowanego Raspbiana i skonfigurowane połączenie z siecią lan, co opisałem w linku podanym wyżej, podłączamy kamerkę lub mikrofon USB i głośniki (ja użyłem domowego sprzętu HiFi) włączamy zasilanie Raspberry Pi.

Po uruchomieniu kamerka powinna być widoczna po kliknięciu prawym klawiszem myszy na ikonkę głośnika w menu u góry po prawej stronie.

Zaznaczamy Analog jak pokazano niżej.

Teraz wybieramy -> External Device Settings

Widoczna jest domyślna karta dźwiękowa bcm2835 ALSA, rozwijamy to menu i wybieramy nasza kamerkę, klikamy Select Controls i zaznaczamy Microphone.

Zamykamy klikając Close.

Teraz widzimy że mikrofon jest aktywny i możemy regulować głośność.

Klikamy OK i powinniśmy mieć wszystko ustawione.

Teraz uruchamiamy przeglądarkę internetową koniecznie na Raspberry Pi -> menu u góry po lewej stronie.


Wpisujemy adres:

https://console.cloud.google.com/cloud-resource-manager

Wyświetli się okienko logowania do konta Google, na dole proponuję wybrać język polski.


Wpisujemy adres email i hasło do konta Google.

Klikamy Utwórz Projekt.


Wpisujemy dowolną nazwę, ja wpisałem sobie: googlevoice i klikamy Utwórz.

W powiadomieniach powinniśmy mieć wiadomość o o utworzeniu nowego projektu.


Po wybraniu powinniśmy widzieć nazwę naszego projektu, wybieramy Menadżer API -> Panel informacyjny.


Klikamy Włącz API.


W wyszukiwarce wpisujemy: google assistant i wybieramy Google Assitant API.


Teraz klikamy Włącz.


Teraz klikamy Dane logowania i wybieramy Ekran zgody OAuth, wpisujemy nazwę i klikamy na dole Zapisz.


Zaznaczamy Inne, wpisujemy nazwę i klikamy Utwórz.


Teraz klikamy OK.


Klikamy w nazwę.


Do góry wybieramy Pobierz JSON.


Zostanie pobrany plik JSON do home/pi/Downloads

Teraz możemy zamknąć przeglądarkę internetową.

Logujemy się do terminala w BitVise i instalujemy python virtual environment poleceniem:

sudo apt-get install python3-dev python3-venv

wpisujemy y


Następnie w konsoli:

sudo apt-get install portaudio19-dev libffi-dev libssl-dev

i znowu zatwierdzamy y


Teraz:

python3 -m venv env



Następnie:

env/bin/pip install pip setuptools --upgrade



Teraz:

source env/bin/activate



Instalujemy Google Assistant SDK poleceniem:

python -m pip install google-assistant-sdk[samples]



Instalacja trochę potrwa

Teraz:

python -m googlesamples.assistant.auth_helpers --client-secrets /home/pi/Downloads/xxx

Teraz uwaga w miejsce xxx wpisujemy całą nazwę pliku JSON, który wcześniej pobraliśmy do katalogu /home/pi/Downloads

Wchodzimy więc w menadżer plików BitVise i kopiujemy pełną nazwę pliku w miejsce xxx i wciskamy Enter



Teraz kopiujemy adres pokazany w terminalu do przeglądarki internetowej (można w komputerze), który jest po słowach Please visit this URL to authorize this application:

Wybieramy nasz konto Google i klikamy Zezwól.

Wyświetli się kod, który kopiujemy w w miejsce po słowach Enter the authorization code:

Teraz w przeglądarce internetowej wpisujemy adres:

https://myaccount.google.com/activitycontrols?pli=1

Włączamy sobie opcję: Aktywność w internecie i aplikacjach, pozostałe również możemy włączyć.


Teraz uruchamiamy Google Assistant poleceniem:

python -m googlesamples.assistant



Wciskając Enter możemy już zacząć rozmawiać z asystentem Google.

Jak to wygląda widać na poniższym filmie.


Jeżeli chcemy po restarcie lub ponownym włączeniu Raspberry Pi uruchmić Google Assistant wpisujemy w konsoli:

source env/bin/activate

oraz:

python -m googlesamples.assistant













5 komentarzy:

  1. Czyli, jeżeli dobrze rozumiem, w przeciwieństwie do Alexa na Pi, można go uruchomić bez trybu graficznego?

    OdpowiedzUsuń
    Odpowiedzi
    1. Tryb graficzny nie jest wymagany, na ekranie jest wyświetlane tylko rozpoznane słowo.

      Usuń
    2. Eh. Źle doczytałem. Myślałem, że reaguje na słowo kluczowe a nie na klawisz. Odpada w takim razie

      Usuń
    3. Działa także na klaśnięcie lub pstryknięcie palcem.
      https://www.youtube.com/embed/klNZ2nW9_pQ

      Usuń
  2. Witam. Panie Romanie wszystko pięknie. Super Tutorial, niemniej doszedłem do :

    "Aby nie używać przycisku, to zmieniamy konfigurację w pliku voice-recognizer.ini

    Wpisujemy wiec w terminalu:

    sudo nano /home/pi/.config/voice-recognizer.ini"

    Nie mam tego pliku ini w w/w miejscu. Poszukałem i no nie mam.
    Proszę o pomoc.
    Wcześniej wszystko szło GIT.
    Pozdrawiam

    OdpowiedzUsuń