We wcześniejszym wpisie z dnia 13 maja 2017 opisałem jak zainstalować i skonfigurować oficjalny obraz systemu Raspbian do Voice Hat, który był dołączany do 57 magazynu MagPi, tak aby działał z dowolnym mikrofonem lub kamerką USB -> Link
Postanowiłem zbudować podobne "gadające" pudełko z przyciskiem, widoczne niżej.
Do budowy wykorzystałem:
1. Raspberry Pi z kartą micro SD 8GB 2. Zasilacz 5V 2A z przewodem micro USB 3. Przycisk z podświetleniem, który kupiłem na Aliexpress -> Link Cena przycisku z darmową wysyłką do Polski to około 5,35 zł. 4. Kartę audio na USB -> Link Cena z darmową wysyłką do Polski, to około 6,10 zł 5. Mikrofon z wtykiem mały jack -> Link Cena około 4,50 zł z darmową wysyłką do Polski. 6. Moduł audio 5V do Arduino, koszt około 5 zł na Allegro.
Koszt zakupu materiałów wyniósł mnie około 21 zł.
Resztę materiałów jak: mały głośnik, wtyk mały jack, karton i folię do obklejenia miałem w domu.
Łączymy wszystko jak na schemacie.
Wycinamy pudełko i montujemy elementy.
Instalujemy wszystko tak jak opisałem w linku na samym początku.
Po instalacji mamy prawie identyczne magiczne "gadające" pudełko jak te z 57 numeru magazynu MagPi.
Dzisiaj opiszę jak zmienić konfigurację systemu do Voice Kit, który był dostępny z 57 numerem magazynu MagPi.
Oficjalny opis Voice Kit znajdziemy pod tym linkiem -> Link
Jeżeli go nie posiadamy możemy zmodyfikować system, którego obraz jest dostępny tu -> Link
Po wgraniu obrazu mamy do dyspozycji zmodyfikowanego Raspbiana od Google, widocznego niżej.
Voice Kit posiada płytkę na której znajduje się mikrofon i układ audio z głośnikiem, możemy jednak wykorzystać dowolny mikrofon USB lub kamerkę internetową z mikrofonem i głośnik z wtykiem mały jack.
Będzie jeszcze potrzebny jakiś przycisk chwilowy i dioda led.
Po pobraniu rozpakowujemy go i będziemy mieć obraz systemu aiyprojects-2017-05-03.img
Wgrywamy go na kartę programem Win32 Disk Imager, który jest dostępny pod tym linkiem -> Link
Pobieramy go, instalujemy i uruchamiamy.
Po uruchomieniu wybieramy pobrany obraz aiyprojects-2017-05-03.img w Plik obrazu.
Klikamy Zapisz.
Wybieramy Yes i rozpocznie się zapis obrazu na kartę SD.
Po zakończeniu zapisu powinien wyświetlić się Zapis pomyślny, klikamy OK i wkładamy kartę SD do Raspberry Pi.
Podłączamy Raspberry Pi do telewizora lub monitora przewodem HDMI, podłączamy myszkę i klawiaturę na USB, kamerkę lub mikrofon USB i na końcu zasilanie.
Uruchomi się nam zmodyfikowany obraz Raspbiana.
Pierwszą rzeczą jaką zrobimy, to połączmy się po Wifi z domową siecią, jeżeli ktoś chce, to może używać połączenia lan.
U góry po prawej stronie znajduje się ikonka połączeń sieciowych, klikamy Turn On Wi-Fi, aby włączyć Wifi w Raspberry Pi.
Powinno wykryć naszą domową sieć Wifi, wpisujemy hasło i powinniśmy mieć połączenie z Wifi
Po kliknięciu prawym przyciskiem myszy na ikonkę sieci wybieramy Wireless & Wired Network Settings i proponuję ustawić Ip na stałe.
Wybieramy interface wlan0 i wpisujemy IP i adresy DNS, Ip sprawdzimy po najechaniu myszką na ikonkę sieci, adres DNS sprawdziwmy wpisując w Terminalu:
cat /etc/resolv.conf
Klikamy więc w ikonkę Terminalu w górnym menu po lewej stronie.
Wpisujemy polecenie jak wyżej i wyświetlą się nam adresy DNS.
Wpisujemy je w konfiguracji wlan0
Ja mam akurat adres routera 192.168.3.1 i przydziela mi adresy Ip z zakresu: 192.168.3.2 do 192.168.3.255, ale adres routera, to zazwyczaj 192.168.1.1
Teraz jeszcze zmieniamy sobie ustawienia systemu na polskie, robimy to w Preferencje -> Raspberry Pi Configuration
Najlepiej zmienić sobie hasło w Change Password.
Domyślne hasło to: Raspberry
W Current password wpisujemy więc: Raspberry i 2 razy wpisujemy nowe hasło.
W Interfaces włączamy sobie SSH.
W Locialisation zmieniamy sobie wszystkie ustawienia na polskie i restartujemy Raspberry Pi.
Teraz przystępujemy do zmian w systemie aby dostosować do ustawień z wykorzystaniem kamerki lub mikrofonu USB i głośników.
Teraz możemy przeprowadzić test działania klikając na pulpicie 2 razy ikonkę Check audio.
Teraz otwieramy stronę: https://console.cloud.google.com/cloud-resource-manager w przekladarce internetowej i tworzymy projekt jak to opisałem w wcześniejszym wpisie na blogu -> Link
Jeżeli już wcześniej utworzyliśmy projekt Google Assistant pobieramy plik JSON.
Wybieramy nasz projekt, po lewej u góry Narzędzia usługi -> Menadżer Api -> Dane logowania i na dole po prawej mamy -> Pobierz JSON.
Plik zostanie pobrany do /home/pi/Downloads otwieramy więc Menadżer plików i zmieniamy nazwę pliku na: assistant.json
Plik kopiujemy do /home/pi/assistant.json
Teraz uruchamiamy Start dev terminal z pulpitu i wpisujemy: src/main.py
Otworzy się automatycznie strona internetowa do naszego konta Google.
Wybieramy nasze konto i klikamy Zezwól.
Znowu w wcześniej otwartym terminalu wpisujemy:
src/main.py
U mnie pojawił się błąd z PySocks jak niżej
Wpisujemy więc w Terminalu:
pip install PySocks
Teraz możemy kliknąć ikonkę Check audio na pulpicie, jeżeli dalej będzie problem z mikrofonem, a co zdarzyło się u mnie, to jeszcze tworzymy plik .asoundrc w katalogu/home/pi/ wpisujemy więc w terminalu:
sudo nano /home/pi/.asoundrc
i kopiujemy tam tą samą zawartość, co do pliku asound.conf jak pokazano niżej.
Zapisujemy plik i zamykamy i jeszcze raz przeprowadzamy test klikając w ikonkę Check audio na pulpicie.
Jeżeli wszystko przebiegnie ok to mamy już skonfigurowane audio poprawnie, wygląda to tak.
Teraz przeprowadzamy test działania, czyli klikamy ikonkę Start dev terminal na pulpicie i wpisujemy:
src/main.py
jeżeli wszystko działa, to dodajemy jeszcze wpis w Terminalu, aby uruchamiało się przy starcie:
sudo systemctl enable voice-recognizer
Po restarcie wszystko powinno uruchamiać się automatycznie.
Nie posiadam przycisku arkadowego jak w zestawie z Voce Hat i wykorzystałem zwykła diodę i przycisk.
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.
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: