Inhaltsverzeichnis:

Pi Home, ein Raspberry-betriebener virtueller Assistent – Gunook
Pi Home, ein Raspberry-betriebener virtueller Assistent – Gunook

Video: Pi Home, ein Raspberry-betriebener virtueller Assistent – Gunook

Video: Pi Home, ein Raspberry-betriebener virtueller Assistent – Gunook
Video: Home Assistant auf Raspberry Pi installieren (2023) 2024, November
Anonim
Pi Home, ein Raspberry-betriebener virtueller Assistent
Pi Home, ein Raspberry-betriebener virtueller Assistent

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

Dinge, die du brauchst
Dinge, die du brauchst

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

Einrichten des USB-Mikrofons
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

Einrichten Ihres Lautsprecherausgangs
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

Testen Sie das Mikrofon und die Lautsprecher
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:

Erforderliche Pakete herunterladen und Python-Umgebung konfigurieren
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

Aktivieren des Google Assistant Cloud-Projekts
Aktivieren des Google Assistant Cloud-Projekts
Aktivieren des Google Assistant Cloud-Projekts
Aktivieren des Google Assistant Cloud-Projekts
Aktivieren des Google Assistant Cloud-Projekts
Aktivieren des Google Assistant Cloud-Projekts
Aktivieren des Google Assistant Cloud-Projekts
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

Authentifizieren des Raspberry Pi
Authentifizieren des Raspberry Pi
Authentifizieren des Raspberry Pi
Authentifizieren des Raspberry Pi
Authentifizieren des Raspberry Pi
Authentifizieren des Raspberry Pi
Authentifizieren des Raspberry Pi
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

Einrichten der LED-Anzeige
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:

Initialisieren nach Abschluss des Bootvorgangs
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

Starten des Google Assistant beim Booten
Starten des Google Assistant beim Booten

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

Abschluss
Abschluss

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: