- Hardware-Anforderungen
- Einrichten der Google API für Raspberry Pi Google Assistant
- Einrichten von Google Assistant für Raspberry Pi Google Home
- Autorisierung von Raspberry Pi für den Google-Assistenten
- Verwenden von Google Assistant auf Raspberry Pi
Haben Sie jemals an einen Lautsprecher gedacht, der von Ihrer Stimme gesteuert werden kann !!! Ja, Amazon Echo ist einer der beliebtesten sprachgesteuerten Lautsprecher, aber im Wettbewerb damit wird auch Google Home immer beliebter. Sprachassistenten werden immer beliebter, wenn wir uns einer Ära von KI-basierten Systemen nähern. Sie haben von Google Assistant, Apple Siri und Amazon Alexa gehört. Dies sind alles sprachbasierte KI-Systeme. Was diese voneinander unterscheidet, sind ihre Ökosysteme. Hier sticht Google Assistant am meisten hervor. Google, Apple und Amazon, all diese Unternehmen haben bereits ihre intelligenten Lautsprecher auf den Markt gebracht. Google Smart Speaker sind ebenfalls auf dem Markt erhältlich. Wir haben bereits Amazon Echo auf Raspberry Pi-Basis behandelt. Dieses Mal werden wir Raspberry Pi in einen Google Home Speaker verwandeln.
Google stellt die API für die Nutzung seines Sprachdienstes bereit, der Open Source ist und auf Github verfügbar ist. Mit dem Google-Sprachdienst können wir Musik abspielen, Informationen über das Wetter abrufen, Tickets buchen und vieles mehr. Alles was Sie tun müssen, ist zu fragen. In diesem Tutorial erfahren Sie, wie Sie mit Google Assistant und Raspberry Pi einen sprachgesteuerten Smart Speaker erstellen.
Hardware-Anforderungen
- Raspberry Pi 3 oder Raspberry Pi 2 Modell B und SD-Karte (8 GB oder mehr)
- Externer Lautsprecher mit 3,5 mm AUX-Kabel
- Beliebige Webcam oder USB 2.0-Mikrofone
Wir gehen auch davon aus, dass Ihr Raspberry Pi bereits mit einem Raspbian-Betriebssystem eingerichtet und mit dem Internet verbunden ist. Wenn diese vorhanden sind, fahren wir mit dem Tutorial fort. Wenn Sie Raspberry Pi noch nicht kennen, lesen Sie zuerst Erste Schritte mit Raspberry Pi.
Hinweis: Die Webcam verfügt über ein eingebautes Mikrofon. Daher verwenden wir dieses anstelle des USB 2.0-Mikrofons.
Sie benötigen außerdem eine Tastatur, eine Maus und einen Monitor, um den Himbeer-Pi über ein HDMI-Kabel anzuschließen.
Überprüfen des Webcam-Mikrofons mit Raspberry Pi:
1. Öffnen Sie das Raspberry Pi-Terminal und geben Sie den Befehl arecord -l ein. Dadurch werden die Hardwaregeräte angezeigt, die wie unten gezeigt an Raspberry Pi angeschlossen sind:
Karte 1 ist das Mikrofon Ihrer Webcam, das wir verwenden werden. Wenn es nicht angezeigt wird, ist Ihre Webcam möglicherweise defekt.
2. Überprüfen Sie nun, ob das Mikrofon funktioniert, indem Sie den Befehl Audio aufnehmen wie folgt ausführen:
arecord /home/pi/Desktop/test.wav -D sysdefault: CARD = 1
3. Geben Sie den folgenden Befehl ein, um das aufgenommene Audio abzuspielen:
omxplayer -p -o local /home/pi/Desktop/test.wav
Wenn Sie Raspberry Pi über ein HDMI-Kabel mit dem Monitor verbunden haben, erfolgt die Audioausgabe standardmäßig über den Lautsprecher Ihres Monitors (sofern ein eingebauter Lautsprecher vorhanden ist). Um es auf 3,5 mm zu ändern, müssen Sie den folgenden Befehl eingeben:
sudo raspi-config und gehe zur Option Erweitert .
Wählen Sie Audio aus der Liste -> wählen Sie Force 3.5mm -> wählen Sie Ok und starten Sie Ihren Raspberry Pi neu.
Jetzt sollten Sie den Ton von der 3,5-mm-Buchse hören.
HINWEIS: Wenn Sie die Lautstärke der Eingangsstimme für das Mikrofon erhöhen oder verringern möchten, geben Sie alsamixer im Terminal ein. Wählen Sie die Soundkarte vom Terminal aus, indem Sie F6 drücken.
Drücken Sie F4, um die Mikrofon-dB-Verstärkung zu ändern und nach Ihren Wünschen einzustellen.
Wenn Sie ein USB 2.0-Mikrofon haben, gehen Sie wie folgt vor, um das Mikrofon zu überprüfen. Hier haben wir Webcam für USB-Mikrofon verwendet.
Einrichten der Google API für Raspberry Pi Google Assistant
1. Zuerst müssen wir uns registrieren und ein Projekt im Google Console Actions-Dashboard einrichten.
2. Nachdem Sie sich in Ihrem Google-Konto angemeldet haben, wird das folgende Fenster angezeigt.
Klicken Sie auf Projekt hinzufügen / importieren .
3. Im nächsten Bildschirm müssen Sie den Projektnamen eingeben und auf Projekt erstellen klicken .
4. Wechseln Sie jetzt in der neuen Registerkarte zur Google-Entwicklerkonsole und suchen Sie nach der Google Assistant-API. Bevor Sie fortfahren und auf die Schaltfläche Aktivieren klicken, stellen Sie sicher, dass Sie Ihr Projekt ausgewählt haben. Klicken Sie dann auf Aktivieren.
5. Öffnen Sie nun die vorherige Registerkarte der Google-Konsole und scrollen Sie zum unteren Bildschirmrand.
Sie finden eine Option Geräteregistrierung , klicken Sie darauf.
6. Klicken Sie im nächsten Bildschirm auf Modell registrieren. Danach müssen Sie einen Produktnamen, einen Herstellernamen und einen Gerätetyp festlegen. Diese Namen können beliebig sein.
Notieren Sie sich die Gerätemodell-ID, da diese später im Prozess benötigt wird.
Klicken Sie nun auf Modell registrieren .
7. Im nächsten Bildschirm werden die Anmeldeinformationen heruntergeladen. Um diese Anmeldeinformationsdatei abzurufen, klicken Sie auf OAuth 2.0-Anmeldeinformationen herunterladen . Diese Datei ist sehr wichtig. Bewahren Sie sie an einem sicheren Ort auf.
Klicken Sie nun auf Weiter.
8. Sie können alle Eigenschaften auswählen, die Sie benötigen. In unserem Fall benötigen wir jedoch keine, sodass wir wie unten gezeigt einfach auf die Schaltfläche Überspringen geklickt haben .
9. Sobald alles erledigt ist, wird der folgende Bildschirm angezeigt.
10. Wechseln Sie nun zur Seite Aktivitätssteuerung. Hier müssen Sie die folgenden Aktivitätssteuerelemente aktivieren, um sicherzustellen, dass die Google Assistant-API ordnungsgemäß funktioniert.
Web- und App-Aktivität, Standortverlauf, Geräteinformationen, Sprach- und Audioaktivität
11. Wechseln Sie erneut zur Google-Entwicklerkonsole. Klicken Sie links im Dashboard auf Anmeldeinformationen. Klicken Sie auf den OAuth-Zustimmungsbildschirm.
12. Geben Sie Ihre Google Mail-ID und einen beliebigen Namen in den Produktnamen ein und speichern Sie ihn.
Jetzt haben wir das Google API-Setup abgeschlossen.
Einrichten von Google Assistant für Raspberry Pi Google Home
Bitte beachten Sie, dass Sie ab diesem Teil das Lernprogramm direkt auf dem Raspbian-Desktop und nicht über SSH abschließen müssen, da Sie den integrierten Webbrowser verwenden müssen.
1. Aktualisieren Sie zunächst die Paketliste des Raspberry Pi mit dem folgenden Befehl
sudo apt-get update
2. Jetzt erstellen wir eine Datei, in der wir die zuvor heruntergeladenen Anmeldeinformationen speichern können. Führen Sie dazu die folgenden beiden Befehle aus
mkdir ~/googleassistant
nano ~/googleassistant/credentials.json
3. In dieser Datei müssen Sie den Inhalt der von uns heruntergeladenen Anmeldeinformationsdatei kopieren. Öffnen Sie die JSON-Datei in Ihrem bevorzugten Texteditor und drücken Sie Strg + A und dann Strg + C, um den Inhalt zu kopieren.
Speichern Sie die Datei nach dem Kopieren des Inhalts, indem Sie Strg + X und dann Y und schließlich die Eingabetaste drücken .
4. Nach dem Speichern der Anmeldeinformationsdatei werden einige der Abhängigkeiten installiert, die zum Ausführen des Google-Assistenten erforderlich sind.
Führen Sie den folgenden Befehl aus, um Python3 und die virtuelle Python 3-Umgebung auf unserem RPi zu installieren.
sudo apt-get install python3-dev python3-venv
5. Aktivieren Sie nun Python3 als unsere virtuelle Umgebung mit dem folgenden Befehl
python3 -m venv env
6. Installieren Sie die neuesten Versionen von pip und den setuptools. Führen Sie den folgenden Befehl aus, um das Update abzurufen
env/bin/python -m pip install --upgrade pip setuptools --upgrade
7. Um in die Python-Umgebung zu gelangen, müssen wir diesen Befehl ausführen
source env/bin/activate
8. Jetzt installieren wir die Google Assistant Library. Führen Sie die folgenden Befehle nacheinander aus, um die aktualisierte Bibliothek abzurufen
python -m pip install --upgrade google-assistant-library
python -m pip install --upgrade google-assistant-sdk
Jetzt haben wir alle erforderlichen Abhängigkeiten und Bibliotheken installiert.
Autorisierung von Raspberry Pi für den Google-Assistenten
1. Wir installieren zuerst das Google-Autorisierungstool auf unserem Raspberry pi, indem wir den folgenden Befehl ausführen
python -m pip install --upgrade google-auth-oauthlib
2. Jetzt müssen wir die Google Authentication-Bibliothek ausführen. Führen Sie diesen Befehl aus, um die Bibliothek auszuführen.
google-oauthlib-tool --client-secret ~ / googleassistant / credentials.json \ --scope https://www.googleapis.com/auth/assistant-sdk-prototype \ --scope https: //www.googleapis. com / auth / gcm \ --save –headless
Dieser Befehl generiert eine URL, kopiert diese URL und fügt sie in Ihren Webbrowser ein.
3. Melden Sie sich im Browser bei Ihrem Google-Konto an. Wenn Sie mehrere Konten haben, wählen Sie nur das Konto aus, mit dem Sie Ihren API-Schlüssel eingerichtet haben.
Nach der Anmeldung wird ein langer Authentifizierungscode angezeigt. Kopieren Sie diesen Code, fügen Sie ihn in Ihr Terminalfenster ein und drücken Sie die Eingabetaste. Wenn die Authentifizierung überprüft wurde, sollte die folgende Zeile in der Befehlszeile angezeigt werden (siehe Abbildung oben):
Gespeicherte Anmeldeinformationen: /home/pi/.config/google-oauthlib-tool/credentials.json
4. Unsere Authentifizierungsdaten werden jetzt überprüft, Google möchte sie jedoch weiterhin über eine Popup-Anzeige überprüfen. Unser Popup wird jedoch durch CORS (Cross-Origin Resource Sharing) blockiert. Deaktivieren Sie dieses Element zunächst mit dem folgenden Befehl.
Um diesen Befehl zu verwenden, stellen Sie sicher, dass Ihr Chrom-Browser geschlossen ist, öffnen Sie jetzt ein neues Terminalfenster und geben Sie den Befehl ein. Dieser Befehl startet den Chrom-Browser mit deaktivierter CORS-Sicherheit. Surfen Sie nicht mit deaktivierter Funktion im Internet.
chromium-browser --disable-web-security --user-data-dir "/home/pi/
Wechseln Sie nach dem Öffnen des Browsers zum vorherigen Terminalfenster, in dem Sie das Google Assistant-Beispiel eingerichtet haben.
5. Führen Sie nun den folgenden Befehl aus, um den Google-Assistenten zum ersten Mal zu starten. In diesem Befehl ersetzen
Wenn Sie die Projekt-ID vergessen haben, gehen Sie zu Actions Console bei Google, klicken Sie auf das von Ihnen erstellte Projekt und dann auf das Zahnradsymbol in der oberen linken Ecke und dann auf Projekteinstellungen.
Auch ersetzen
googlesamples-Assistant-Pushtotalk - Projekt-ID
Dieser Befehl startet eine neue Registerkarte im Chromium-Browser.
6. Drücken Sie nun im Terminalfenster die Eingabetaste, um es auszulösen und Fragen zu stellen.
Wenn Sie die erste Frage gestellt haben, wird möglicherweise der folgende Bildschirm im Browser angezeigt. Klicken Sie auf Weiter -> Ich verstehe -> Zulassen.
Wenn dieser Bildschirm " Weiter" nicht angezeigt wird, ist dies kein Problem.
7. Jetzt können wir Push verwenden, um über das Google Assistant-Beispiel zu sprechen und eine Ausgabeantwort zu erhalten.
Wenn Sie im Terminal die Eingabetaste drücken und eine Aktion sprechen, sollten Sie eine mündliche Antwort hören. Eine weitere Registerkarte mit der gerade aufgerufenen Aktion wird ebenfalls geöffnet.
Sie können das Öffnen der Registerkarte deaktivieren, indem Sie das Argument –display aus dem Befehl entfernen. Wir brauchten dies, um den Autorisierungsbildschirm zu erhalten.
Verwenden von Google Assistant auf Raspberry Pi
Wir haben unseren Raspberry Pi autorisiert. Wenn Sie den Google-Assistenten starten möchten, rufen Sie einfach die Umgebung auf und führen Sie die folgenden Schritte aus.
1. Führen Sie den folgenden Befehl aus, um in die Umgebung zu gelangen
Quelle env / bin / aktivieren
Sie sehen (env) am Anfang jeder Zeile.
2. Führen Sie den folgenden Befehl aus, um das Push-to-Talk-Beispiel zu starten
googlesamples-assistant-pushtotalk
Diesmal benötigen wir keine Produkt- und Geräte-ID.
3. Zusätzlich zur Push-to-Talk-Funktion können Sie den Google-Assistenten auch auslösen, indem Sie OK Google sagen. Dazu müssen Sie eine ungültige Geräte-ID eingeben, damit es funktioniert. Eine falsche Geräte-ID kann etwa aaaa, abcd sein.
Führen Sie nun den folgenden Befehl aus.
googlesamples-assistant-hotword --device-model-id
Jetzt können Sie mit dem eigenen Google-Assistenten alles fragen, sagen Sie einfach Ok Google.
Auf diese Weise können wir Google Assistant auf Raspberry Pi installieren und es in ein Google Home verwandeln, indem wir einen Lautsprecher und ein Mikrofon daran anschließen.