Inhaltsverzeichnis:
- Schritt 1: Dinge, die Sie brauchen
- Schritt 2: Einrichten des USB-Mikrofons
- Schritt 3: Einrichten Ihres Lautsprecherausgangs
- Schritt 4: Testen Sie das Mikrofon und die Lautsprecher
- Schritt 5: Erforderliche Pakete herunterladen und Python-Umgebung konfigurieren:
- Schritt 6: Aktivieren des Google Assistant Cloud-Projekts
- Schritt 7: Authentifizieren des Raspberry Pi
- Schritt 8: Einrichten der LED-Anzeige
- Schritt 9: Initialisieren nach Abschluss des Bootvorgangs:
- Schritt 10: Starten des Google Assistant während des Bootens
- Schritt 11: Fazit
Video: Pi Home, ein Raspberry-betriebener virtueller Assistent – Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:19
Das Google Home ist nützlich, um es zu Hause zu haben. Es ist ein schönes Gerät mit integriertem Google Assistant - einem hochmodernen digitalen persönlichen Assistenten von Google. Es kann Medien abspielen, Erinnerungen und Notizen speichern, Ihnen die Länge Ihres Arbeitswegs mitteilen, Hausautomation durchführen. Es kann überall bei Ihnen zu Hause platziert werden und wird einige erstaunliche Dinge für Sie tun, aber es ist ein teures Unterfangen, wenn Sie Ich bin mir nicht sicher, ob Sie es verwenden werden. Eine gute Nachricht ist jedoch, dass Sie mit einem Raspberry Pi eine voll funktionsfähige Version erstellen können.
Am Ende dieser Anleitung haben Sie ein voll funktionsfähiges Google Home, das auf Ihre Sprachbefehle reagiert. Ansonsten ist es ein Assistent mit allen Funktionen von Google Home. Das heißt, es kann Einheitenumrechnungen durchführen, Medien abspielen, Spielstände überprüfen, Hörbücher vorlesen, das Wetter überprüfen und vieles mehr. Es funktioniert auch mit einer Vielzahl von Heimautomatisierungsgeräten wie intelligenten Glühbirnen, sodass Sie sie mit Ihrer Stimme steuern können. Wie der echte Google Assistant kann Ihr DIY Google Home verbunden werden, um weitere Funktionen hinzuzufügen, wie das Hinzufügen von Aufgaben zu Evernote oder um eine Benachrichtigung auf Ihrem Telefon zu erhalten, wenn der Timer abläuft.
Schritt 1: Dinge, die Sie brauchen
Sie benötigen:
- Raspberry Pi 3 oder 2 mit installiertem Raspbian und Wi-Fi-Setup.
- Netzteil und MicroUSB-Stromkabel. (Minimum 5V, 2A)
- Micro SD Karte. (Mindestens 8 GB)
- Ein USB-Mikrofon. (Sie werden viel über das Internet erfahren, wie Sie es einrichten können, auch hier…)
- Lautsprecher
- Eine Tastatur und eine Maus für die Einrichtung
- Eine LED und ein paar Drähte zum Anschließen
All die Dinge gesammelt, verbunden und angeschlossen, lasst uns loslegen.
Schritt 2: Einrichten des USB-Mikrofons
- Der Pi hat keine eingebauten Mikrofone. Sie müssen ein USB-Mikrofon anschließen, wenn Sie Audio aufnehmen möchten.
- Stecken Sie Ihr USB-Mikrofon in einen der USB-Steckplätze Ihres Pi.
- Geben Sie den folgenden Befehl in das Terminal ein.
arecord -l
Dieser Befehl listet alle verfügbaren Audioaufnahmegeräte auf. Es ist leer, wenn Ihr USB-Mikrofon angeschlossen ist. Sie sollten folgende Ausgabe erhalten
pi@raspberrypi:~ $ arecord -l
**** Liste der CAPTURE-Hardwaregeräte **** Karte 1: Gerät [USB PnP Sound Device], Gerät 0: USB Audio [USB Audio] Subdevices: Subdevice #0: Subdevice #0
Sie können sehen, dass Ihr USB-Gerät an Karte 1 angeschlossen ist und die Geräte-ID 0 ist. Raspberry Pi erkennt Karte 0 als interne Soundkarte, dh bcm2835 und andere externe Soundkarten als externe Soundkarten namens Karte 1, Karte 2 und folgende…
Jetzt müssen wir die Audiokonfigurationen ändern. Geben Sie den folgenden Befehl ein, um die Datei asound.conf zu bearbeiten
sudo nano /etc/asound.conf
Fügen Sie die folgenden Zeilen in die Datei ein. Drücken Sie dann Strg+X und danach Y, um die Datei zu speichern
pcm.!Standard {
type asym capture.pcm "mic" play.pcm "speaker" } pcm.mic { type plug slave { pcm "hw:1, 0" } } pcm.speaker { type hw card 0 } ctl.!default { type hw card 0}
Dadurch wird Ihr externes Mikrofon (pcm.mic) als Audioaufnahmegerät (pcm!.default) und Ihre eingebaute Soundkarte (Karte 0) als Lautsprechergerät eingestellt.
Erstellen Sie eine neue Datei namens.asoundrc im Home-Verzeichnis (/home/pi), indem Sie den folgenden Befehl ausführen und die obigen Konfigurationen (die in der Datei /etc/asound.conf hinzugefügt wurden) in diese Datei einfügen
sudo nano.asoundrc.
Schritt 3: Einrichten Ihres Lautsprecherausgangs
- Verbinden Sie Ihren Lautsprecher mit der 3,5-mm-Kopfhörerbuchse des Raspberry Pi.
- Führen Sie den folgenden Befehl aus, um den Konfigurationsbildschirm des Pi zu öffnen.
sudo raspi-config
Gehen Sie zu Erweiterte Optionen > Audio und wählen Sie das Ausgabegerät aus. (3,5-mm-Klinke oder HDMI)
Schritt 4: Testen Sie das Mikrofon und die Lautsprecher
Um Ihren Lautsprecher zu testen, führen Sie den folgenden Befehl im Terminal aus. Dadurch wird ein Testton abgespielt. Drücken Sie zum Beenden Strg+C. Wenn Sie den Testton nicht hören können, überprüfen Sie Ihren Lautsprecheranschluss und die Stromversorgung. Der Test klingt wie-
Vorne links, Vorne rechts
Lautsprechertest -t wav
Führen Sie den folgenden Befehl aus, um Ihr Mikrofon zu testen. Dadurch wird ein kurzer Audioclip von 5 Sekunden aufgezeichnet. Wenn Sie einen Fehler erhalten, überprüfen Sie die vorherigen Schritte erneut
arecord --format=S16_LE --duration=5 --rate=16k --file-type=raw out.raw
Spielen Sie das aufgenommene Audio ab und bestätigen Sie, dass alles ordnungsgemäß funktioniert, indem Sie den folgenden Befehl eingeben
aplay --format=S16_LE --rate=16k out.raw
Unsere Hardware ist eingestellt
Schritt 5: Erforderliche Pakete herunterladen und Python-Umgebung konfigurieren:
Aktualisieren Sie zunächst Ihr Betriebssystem, indem Sie die Befehle nacheinander im Terminal ausführen
sudo apt-get update
sudo apt-get upgrade
Wenn Sie die Befehle nacheinander im Terminal ausführen, wird eine Python 3-Umgebung (die Google Assistant-Bibliothek läuft nur auf Python 3) in Ihrem Pi erstellt und die erforderlichen Elemente installiert
sudo apt-get install python3-dev python3-venv
$ python3 -m venv env $ env/bin/python -m pip install --upgrade pip setuptools
Aktivieren Sie die Python-Umgebung. Dies bringt einen " (env)" -Text vor das Befehlsterminal Ihres Pi
source env/bin/activate
Installieren Sie das Google Assistant SDK-Paket, das den gesamten Code enthält, der zum Ausführen von Google Assistant auf dem Pi erforderlich ist. Es sollte die Google Assistant Library und die Bedeutung herunterladen
python -m pip install --upgrade google-assistant-library
Schritt 6: Aktivieren des Google Assistant Cloud-Projekts
- Öffnen Sie die Google Cloud Console und erstellen Sie ein neues Projekt. (Nennen Sie es beliebig.) Das Konto, mit dem Sie sich anmelden, wird verwendet, um Anfragen an Google Assistant zu senden und Ihre personalisierte Antwort zu erhalten.
- Gehen Sie zum API-Manager und aktivieren Sie die Google Assistant API.
- Stellen Sie sicher, dass Sie Web- und App-Aktivitäten, Geräteinformationen und Sprach- und Audioaktivitäten in den Aktivitätssteuerungen für das Konto aktivieren.
- Gehen Sie zu "Anmeldeinformationen" und richten Sie den OAuth-Inhaltsbildschirm ein.
- Gehen Sie zum Tab "Anmeldeinformationen" und erstellen Sie eine neue OAuth-Client-ID
- Wählen Sie als Anwendungstyp „Andere“und geben Sie den Namen des Schlüssels ein.
- Laden Sie die JSON-Datei herunter, in der die OAuth-Schlüsselinformationen gespeichert sind, und bewahren Sie sie auf.
Schritt 7: Authentifizieren des Raspberry Pi
Installieren Sie das Autorisierungstool, indem Sie den folgenden Befehl ausführen
(env) python -m pip install --upgrade google-auth-oauthlib[tool]
Führen Sie das Tool aus, indem Sie den folgenden Befehl ausführen. Stellen Sie sicher, dass Sie den richtigen Pfad für die JSON-Datei angeben, die Sie in Schritt 6 heruntergeladen haben
(env) google-oauthlib-tool --client-secrets "JSON_FILE_PATH" --scope https://www.googleapis.com/auth/assistant-sdk-prototype --save --headless
Es sollte wie unten gezeigt angezeigt werden. Kopieren Sie die URL und fügen Sie sie in einen Browser ein. Wenn stattdessen Folgendes angezeigt wird:
InvalidGrantError
dann wurde ein ungültiger Code eingegeben. Versuchen Sie es nochmal.
Bitte gehen Sie zu dieser URL:
Geben Sie den Autorisierungscode ein:
Schritt 8: Einrichten der LED-Anzeige
- Verbinden Sie Ihre LED zwischen GPIO-Pin 25 und Masse.
- Wir werden den GPIO-Pin 25 als Ausgangspin festlegen.
- Das Google Assistant SDK bietet einen Rückruf EventType. ON_CONVERSATION_TURN_STARTED, wenn die Konvertierung mit Google Assistant beginnt. An diesem Punkt werden wir den GPIO 25 so einstellen, dass die LED leuchtet.
- Immer wenn die Konversation beendet wird, wird EventType. ON_CONVERSATION_TURN_FINISHED Rückruf empfangen. An diesem Punkt werden wir den GPIO 25 zurücksetzen, um die LED auszuschalten.
Schritt 9: Initialisieren nach Abschluss des Bootvorgangs:
- Immer wenn Ihr Pi den Bootvorgang abgeschlossen hat, führen wir ein Python-Skript aus, das den Google Assistant beim Booten überprüft und einführt.
- Fügen Sie zuerst das RPi. GPIO-Paket hinzu, um die GPIO-Unterstützung mit dem folgenden Befehl hinzuzufügen.
pip installiere RPi. GPIO
Führen Sie die Schritte nacheinander aus. Wechseln Sie in das Benutzerverzeichnis. Erstellen Sie eine neue Python-Datei main.py
cd /home/pi
sudo nano main.py
Schreiben Sie das verlinkte Skript und speichern Sie die Datei
Erstellen Sie nun ein Shell-Skript, das den Google Assistant initialisiert und ausführt
sudo nano google-assistant-init.sh
Fügen Sie die folgenden Zeilen in die Datei ein und speichern Sie die Datei
#!/bin/sh
/home/pi/env/bin/python3 -u /home/pi/main.py
Erteilen Sie die Ausführungsberechtigung
sudo chmod +x google-assistant-init.sh
Sie können google-assistant-init.sh ausführen, um den Google Assistant jederzeit zu starten.
Schritt 10: Starten des Google Assistant während des Bootens
Um Google Assistant beim Booten zu aktivieren, gibt es zwei Möglichkeiten. Sehen wir uns jeden von ihnen an
1. Autostart mit Pixel Desktop beim Booten:
- Dadurch wird der Google Assistant gestartet, sobald der Pixel-Desktop hochfährt. Stellen Sie sicher, dass in den Raspberry Pi-Konfigurationen "Desktop" -Boot ausgewählt ist.
- Geben Sie den folgenden Befehl ein.
sudo nano /home/pi/.config/lxsession/LXDE-pi/autostart
Fügen Sie nach @xscreensaver -no-splash. Folgendes hinzu
@lxterminal -e "/home/pi/google-assistant-init.sh"
Speichern und beenden Sie, indem Sie „Strg+X“und dann „Y“drücken
2. Autostart mit CLI beim Booten: (Ich persönlich habe dies verwendet, obwohl Autostart funktioniert.)
- Dies startet den Google Assistant, wenn Sie CLI-Boot eingestellt haben. Stellen Sie sicher, dass in den Raspberry Pi-Konfigurationen „CLI“-Boot ausgewählt ist.
- Geben Sie den folgenden Befehl ein.
sudo nano /etc/profile
Fügen Sie die untere Zeile am Ende der Datei hinzu
sudo /home/pi/google-assistant-init.sh
Speichern und beenden Sie mit „Strg+X“und dann „Y“
Schritt 11: Fazit
Was genau ist an diesem Home Pi anders? Nichts, außer Spesen. Das Endergebnis ist im Grunde das gleiche, Sie können Ihr DIY Google Home aktivieren, indem Sie das Weckwort „Ok Google/ Hey Google“sagen, und das Gerät funktioniert wie ein echter Assistent. Sie können mit Ihrem Google Home viele tägliche Aktivitäten ausführen. Wenn Sie Ihre benutzerdefinierten Aufgaben wie das Ausschalten des Lichts oder das Überprüfen der Tür ausführen möchten, können Sie dies durch die Integration von Google Actions in Ihren Google Assistant tun. Wenn Sie Probleme beim Starten von Google Assistant haben, hinterlassen Sie unten einen Kommentar. Ich werde versuchen, sie so gut es geht zu lösen.
Empfohlen:
Virtueller Makey Makey mit Kratzer - Gunook
Virtual Makey Makey With Scratch: Willkommen bei der Scratch-Edition von Virtual Makey Makey v1.0
Zeitplanuhr: Ihr virtueller Produktivitätsassistent. - Gunook
Schedule Clock: Ihr virtueller Produktivitätsassistent.: Ich bin ein professioneller Zauder! Diese Sperre brachte mich in eine Zeitschleife, in der der Alltag ohne produktive Arbeit einfach verfliegt. Um meinen Aufschub zu überwinden, habe ich diese einfache und schnelle Uhr gemacht, die meine Arbeit plant. Jetzt kann ich mich einfach daran halten
Virtueller Türknopf mit Mongoose OS und XinaBox - Gunook
Virtueller Türknopf mit Mongoose OS und XinaBox: Mit Mongoose und einigen xChips haben wir einen virtuellen Türknopf erstellt. Anstelle eines physischen Knopfes, um die Mitarbeiter anzurufen, können sie dies jetzt selbst tun
Virtueller Organizer-Code: Kulminierende Aufgabe (Vanessa) - Gunook
Virtual Organizer Code: Culminating Task (Vanessa): In meinem Code habe ich einen virtuellen Organizer erstellt, der Noten berechnet und es einem Benutzer ermöglicht, Ereignisse für jeden Tag der Woche einzutragen. Der Code dient nur zu Demonstrationszwecken
Virtueller ISU-Desktop - Gunook
ISU Virtual Desktop: Diese Anweisungen sind für Studenten der Illinois State University gedacht, die es vermeiden möchten, für teure Software zu bezahlen und/oder Zugang zu Systemen zu erhalten, die ihnen ansonsten nicht zur Verfügung stehen. Die Verwendung von VMWare ist eine wertvolle Ressource für Studenten aller