Google Home auf dem Raspberry Pi installieren

Okay Google, hier spricht die Himbeere

Martin Mohr

© Shutterstock / 3ffi

Sprachassistenten sind heutzutage in aller Munde und werden immer beliebter. Die stylischen kleinen Geräte sind mittlerweile ein ständiger Begleiter im Alltag geworden. Leider sind sie nicht gerade billig. Daher sehen wir uns in diesem Artikel an, wie wir mit einem Raspberry Pi und einigen zusätzlichen Teilen einen eigenen Google Home aufbauen können. Damit es nicht zu theoretisch wird, verwenden wir den Raspberry Google Home, um einen Lüfter zu aktivieren, der uns an heißen Sommertagen ein wenig Abkühlung bringt.

Google Home ist ein sprachgesteuerter Lautsprecher in schönem Design. Er versteht natürlich Sprachkommandos, kann aber auch durch Berührung der Geräteoberfläche bedient werden. Die Einrichtung ist sehr einfach. Allerdings sollte man sich nicht zu viele Gedanken darüber machen, wie das WLAN-Passwort aus dem Smartphone in Google Home gekommen ist. Den Google Home Mini kann man schon für 59 € im Google Store [1] kaufen.

Hinter der schicken Fassade von Google Home arbeitet der Google Assistant. Er wird mit den Schlüsselworten „Okay Google“ oder „Hey Google“ aktiviert. Ein wirklich nicht zu vernachlässigendes Manko des Google Home Assistant ist, dass er nur schlecht hessisch versteht. Bemerkenswert ist allerdings, dass er mit dem Begriff „Äbbelwoi“ tatsächlich etwas anfangen kann. Die Antworten des Assistenten wirken lebendiger als bei ähnlichen Geräten anderer Hersteller. Es ist allerdings etwas gewöhnungsbedürftig, zwischen der Musikwiedergabe Werbeeinspielungen zu bekommen.

Varianten des Google Assistant

Es gibt zwei Möglichkeiten, den Sprachassistenten von Google zu verwenden: die Google Assistant Library und den Google Assistant Service. Wir verwenden hier die Google Assistant Library. Diese Anleitung geht davon aus, dass sie schon Accounts bei den entsprechenden Google-Diensten haben und diese vollständig aktiviert sind, was auf einen Entwickler vermutlich zutrifft. Falls Ihnen die Zugänge zu einigen Diensten fehlen, werden Sie üblicherweise direkt darauf aufmerksam gemacht. Sie müssen dann in den sauren Apfel beißen und sich erst einmal registrieren. Das klappt normalerweise recht problemlos, kann aber unter Umständen etwas Zeit in Anspruch nehmen. Sie sollten allerdings Ihren Posteingang im Auge haben, da hier einige E-Mails eintrudeln, die Sie bestätigen müssen. Dem Autor drängte sich allerdings die Frage auf, ob wirklich so viele unterschiedliche Cloud-Dienste nötig sind, um einen Sprachassistenten im Internet zu erreichen.

Raspberry Pi vorbereiten

Damit die Google Assistant Library auf dem Raspberry Pi (Typ 3) läuft, sind einige Vorarbeiten nötig. Der allererste Schritt ist die Installation des Betriebssystems auf der microSD-Karte. In diesem Beispiel verwenden wir das Image „Raspbian Stretch with desktop and recommended software“ (2019-04-08-raspbian-stretch-full.img); Sie können es auf der Homepage des Raspberry-Projekts [2] finden. Bitte schreiben Sie das Image mit einem Tool Ihrer Wahl auf eine microSD-Karte mit mindestens 8 Gigabyte Speicherplatz. Für die Ein- und Ausgabe von Sprache benötigen wir zusätzlich eine USB-Soundkarte. Sie kann bei Amazon [3] bezogen werden. An die Soundkarte können Sie ein beliebiges Mikrofon und einen Lautsprecher anschließen. Wenn Sie neben der Soundkarte auch noch Maus und Tastatur an den Raspberry Pi anschließen wollen, wird der Platz bei den USB-Ports etwas knapp. Eine von vielen Lösungen ist, einfach das Gehäuse der Soundkarte zu entfernen (Abb. 1).

Abb. 1: Ohne Gehäuse nimmt die Soundkarte sehr viel weniger Platz weg

Abb. 1: Ohne Gehäuse nimmt die Soundkarte sehr viel weniger Platz weg

Die Soundkarte wird von Raspbian üblicherweise ohne Probleme erkannt. Mit den folgenden zwei Kommandos können wir herausbekommen, welche Karten- und Gerätenummer unsere Soundkarte hat. Das Kommando aplay -l listet alle Soundausgabegeräte auf. Das Kommando arecord -l hingegen alle für die Soundeingabe (Listing 1).

pi@raspberrypi:~ $ aplay -l
**** Liste der Hardwaregeräte (PLAYBACK) ****
Karte 0: ALSA [bcm2835 ALSA], Gerät 0: bcm2835 ALSA [bcm2835 ALSA]
  Sub-Geräte: 7/7
  Sub-Gerät #0: subdevice #0
  Sub-Gerät #1: subdevice #1
  Sub-Gerät #2: subdevice #2
  Sub-Gerät #3: subdevice #3
  Sub-Gerät #4: subdevice #4
  Sub-Gerät #5: subdevice #5
  Sub-Gerät #6: subdevice #6
Karte 0: ALSA [bcm2835 ALSA], Gerät 1: bcm2835 IEC958/HDMI [bcm2835 IEC958/HDMI]
  Sub-Geräte: 1/1
  Sub-Gerät #0: subdevice #0
Karte 1: Set [C-Media USB Headphone Set], Gerät 0: USB Audio [USB Audio]
  Sub-Geräte: 1/1
  Sub-Gerät #0: subdevice #0
 
pi@raspberrypi:~ $ arecord -l
**** Liste der Hardwaregeräte (CAPTURE) ****
Karte 1: Set [C-Media USB Headphone Set], Gerät 0: USB Audio [USB Audio]
  Sub-Geräte: 1/1
  Sub-Gerät #0: subdevice #0
pi@raspberrypi:~ $

Wenn wir die Werte für Karten- und Gerätenummer ermittelt haben, erzeugen wir im Home Directory des Users pi eine Datei mit dem Namen .asoundrc. In diese tragen wir unter pcm die entsprechenden Werte ein. In Listing 2 sehen Sie die Beispielkonfiguration für die eingangs genannte USB-Soundkarte. Produkte anderer Hersteller können andere Werte haben.

pcm.!default {
  type asym
  capture.pcm "mic"
  playback.pcm "speaker"
}
pcm.mic {
  type plug
  slave {
    pcm "hw:1,0"
  }
}
pcm.speaker {
  type plug
  slave {
    pcm "hw:1,0"
  }
}

Um zu überprüfen, ob unsere Einstellungen auch funktionieren, können Sie mit dem folgenden Kommando einen Sound abspielen:

speaker-test -t wav

Zum Testen des Mikrofons können Sie einfach mit folgendem Kommando einen Sound aufnehmen:

arecord --format=S16_LE --duration=5 --rate=16000 --file-type=raw out.raw

Um den aufgenommenen Sound abzuspielen, können Sie den folgenden Befehl verwenden:

aplay --format=S16_LE --rate=16000 out.raw

Es kann vorkommen, dass die Standardeinstellungen des Soundsystems nicht optimal sind. Dann können Sie diese mit dem Programm alsamixer einfach nachjustieren.

Lüfter ansteuern

Die GPIOs des Raspberry Pi können bis zu 16 Milliampere Strom liefern. Das ist aber bei weitem nicht genug für einen Lüfter. Auch die Ausgangsspannung von 3,3 Volt wird wahrscheinlich einen Lüftermotor nicht einmal in Bewegung setzen. Ein weiterer Punkt, der erschwerend hinzukommt, ist, dass Elektromotoren Überspannungen erzeugen können. Diese Überspannungen können einen Raspberry Pi komplett zerstören. Lange Rede, kurzer Sinn: Wir können einen Lüfter nicht direkt an einen GPIO-Port des Raspberry Pi anschließen. Im Internet finden sich viele Anleitungen, bei denen eine einfache Relaiskarte dafür verwendet wird. Das funktioniert zwar, ist aber nicht besonders einfallsreich. Wir verwenden hier einen MOSFET-Transistor, um die Ausgangsleistung der GPIOs zu erhöhen. Mit dem IRLZ44N MOSFET kann man ohne Probleme einen 12-Volt-Lüfter schalten. In Abbildung 2 sehen Sie, wie die Schaltung aufgebaut werden muss. Schauen wir uns nun die Schaltung etwas genauer an. Die Diode D1 ist eine sogenannte Freilaufdiode. Sie verhindert Überspannungen, die beim Abschalten von induktiven Lasten auftreten. In unserem Fall ist der Lüfter die induktive Last. Um ehrlich zu sein, ist eine 1N4007-Diode für diese Aufgabe reichlich überdimensioniert, aber sie war gerade in der Bastelkiste vorhanden.

Abb. 2: Der Schaltplan unseres Projekts

Abb. 2: Der Schaltplan unseres Projekts

Der Widerstand R1 zwischen Gate und Source des MOSFET ist dazu gedacht, überschüssige Ladungen abzuführen. Bei einem Feldeffekttransistor kann es vorkommen, dass er nach dem Abschalten nicht mehr sperrt, weil sich die Ladungen am Gate nicht abbauen können. Leider ist die Pinbelegung des Transistors nicht leicht im Datenblatt zu finden. Daher ist sie in Abbildung 3 noch einmal zu sehen. Weil wir gerade beim Thema Datenblatt sind: Es ist auf der Herstellerseite [4] zu finden.

An dieser Stelle möchte ich noch einen kleinen Tipp einflechten. Wir sind es gewohnt, unsere Prototypen immer auf einem Breadboard aufzubauen. Das ist für fast alle Projekte vollkommen in Ordnung. Sie sollten allerdings im Hinterkopf behalten, dass diese Boards nicht für hohe Ströme gedacht sind. Sie können schon ab wenigen 100 Milliampere anfangen zu schmoren. Daher sollten Sie, wenn Sie Leistung schalten, immer zwei Mal darüber nachdenken, ob es nicht besser ist, zum Lötkolben zu greifen und eine kleine Platine zu löten. Der Lüfter in diesem Beispielaufbau braucht so wenig Strom, dass es nicht nötig ist, zu löten (Abb. 4). Auf dem Schaltplan sehen Sie noch die Leuchtdiode D2, die über einen Vorwiderstand direkt an einen GPIO-Port angeschlossen ist. Diese können Sie zum Testen verwenden.

Abb. 3: Die Pinbelegung des IRLZ44N

Abb. 3: Die Pinbelegung des IRLZ44N

Abb. 4: Alle Bauteile können leicht auf einem Breadboard untergebracht werden

Abb. 4: Alle Bauteile können leicht auf einem Breadboard untergebracht werden

Installation der Google Assistant Library

Die Google Assistant Library stellt ein einfaches API für Python bereit. Sie kann in wenigen Schritten auf einem Raspberry Pi 3 installiert werden. Bevor wir damit allerdings beginnen können, sind noch einige Vorbereitungen zu erledigen. Damit die Google Assistant Library Informationen austauschen kann, müssen in Ihrem Google Account einige Funktionen aktiviert sein. Bitte überprüfen Sie, ob in den Aktivitätseinstellungen [5] für Ihren Account folgende Funktionen aktiv sind: Web- & App-Aktivitäten, Geräteinformationen und Sprach- & Audioaktivitäten.

Als Nächstes legen wir in der Google Action Console [6] ein neues Projekt an (Add/import project). Sie müssen hier dem Projekt einen Namen geben sowie die Sprache und das Land auswählen. Nachdem das Projekt erstellt wurde, kommen Sie auf eine Übersichtsseite. Scrollen Sie bitte bis ganz nach unten und klicken auf Device registration. Nun öffnen Sie parallel die Google API Console [7] und wählen dort Ihr Projekt aus. Das Projekt kann ganz oben auf der Seite ausgewählt werden. Falls Sie schon mehrere Projekte haben, müssen Sie in der Suchmaske zuerst auf alle klicken. Nachdem Sie das Projekt geöffnet haben, können Sie die Anmeldedaten dafür erstellen lassen. An dieser Stelle müssen Sie nur die Support-E-Mail-Adresse angeben. Alle weiteren Angaben sind nicht zwingend notwendig. Wenn Sie nun auf speichern klicken, werden automatisch verschiedenen Schlüssel und Client-IDs erstellt.

Wechseln Sie nun bitte zurück zu unserer am Anfang geöffneten Action Console. Hier klicken Sie auf den Register Model-Button. Für Produktnamen und Hersteller können Sie Raspberry eingeben. Beim Gerätetyp wählen Sie bitte Light. Nach der Eingabe klicken Sie den Register Model-Button. Hier können Sie nun die Oauth Credentials für ihr Projekt herunterladen. Diese müssen Sie in das Homeverzeichnis (/home/pi) des pi-Users auf Ihren Raspberry kopieren.

Aber zurück zu unserer Modellregistrierung: Klicken Sie auf next und danach auf skip. Nun kommen wir zur eigentlichen Installation auf dem Raspberry Pi. Bitte führen Sie die in Listing 3 zu sehenden Kommandos auf der Konsole aus.

sudo apt update
sudo apt upgrade
sudo apt install python3-dev python3-venv
  python3 -m venv env
  env/bin/python -m pip install --upgrade pip setuptools wheel
  source env/bin/activate
sudo apt install portaudio19-dev libffi-dev libssl-dev libmpg123-dev
python -m pip install --upgrade google-assistant-library==1.0.1
python -m pip install --upgrade google-assistant-sdk[samples]==0.5.1
python -m pip install --upgrade google-auth-oauthlib[tool]
 
  git clone https://github.com/googlesamples/assistant-sdk-python
 
google-oauthlib-tool \
  --scope https://www.googleapis.com/auth/assistant-sdk-prototype \
  --scope https://www.googleapis.com/auth/gcm \
  --save --headless --client-secrets /home/pi/client_secret_*.json

Das letzte Kommando liefert Ihnen einen Link zurück, den Sie in Ihrem Browser eingeben müssen, um Ihren Clientautorisierungscode zu bekommen. Diesen müssen Sie dann auf der Kommandozeile wieder eingeben. Wenn alles geklappt hat, ist Ihr Raspberry Pi nun bereit, als Google Assistant zu fungieren. Ich möchte Ihnen nicht vorenthalten, dass es hier zu beliebig vielen Fehlern kommen kann. Wenn zum Beispiel Ihre Kontoverbindung nicht bestätigt ist, wird das Programm abstürzen. Es kann auch sein, dass Teile des Frameworks noch nicht aktiviert sind. Weiterhin kann es vorkommen, dass noch etwas zu bestätigen oder autorisieren ist. Falls an dieser Stelle ein Fehler auftritt, ist er üblicherweise so sprechend, dass man die Ursache schnell beseitigen kann. Wenn Sie sich neu auf dem Raspberry Pi anmelden, müssen Sie immer das Kommando source env/bin/activate eingeben, um das Environment für die Google Assistant Library wiederherzustellen.

Gehen wir davon aus, dass soweit alles geklappt hat. Nun können Sie den Google Assistant auf Ihrem Raspberry Pi starten. Hierbei ist zu beachten, dass Sie die korrekte project-id und device-model-id verwenden müssen. Sie sind unter den Project Settings und in der Device Registration in der Action Console zu finden. Wenn Sie die korrekten Werte haben, können Sie mit folgendem Kommando Ihren eigenen Google Home starten:

googlesamples-assistant-hotword --project-id <YOUR-PROJECT-ID> --device-model-id <YOUR-DEVICE-MODEL-ID>

Auf der Konsole sind nun alle Aktionen zu sehen, die der Assistant durchführt. Experimentieren Sie ruhig etwas mit dem Sprachassistenten und sehen Sie sich dabei die Ausgaben an. Die Informationen sind alle in JSON verpackt. Beim ersten Starten kann es noch zu einem Fehler kommen, wenn das Google Assistant API noch nicht aktiviert ist. Folgen sie dann bitte den Anweisungen auf dem Schirm.

Falls Sie mit dieser Kurzanleitung auf Probleme stoßen, werfen Sie einen Blick in die Originalanleitung von Google [8], die leider nur auf Englisch verfügbar ist.

Es werde Licht

Nun sind wir bereit, die LED auf unserem Testaufbau per Sprache anzuschalten. Damit der Google Assistant ein erkanntes Sprachkommando einer Aktion auf einem bestimmten Gerät zuordnen kann, muss dazu eine Verbindung erstellt werden. Diese Verknüpfungen werden Traits genannt. Man kann sie erstellen, indem man in der Action Console auf der linken Seite auf Device Registration klickt. Sie sollten nun Ihren bereits registrieren Raspberry Pi sehen. Klicken Sie ihn bitte an und fügen Sie im Kasten Supported Traits die OnOff-Funktion hinzu. Bitte das Speichern an dieser Stelle nicht vergessen. Wenn Sie den Google Home Assistant erneut starten, werden Sie sehen, dass die Sprachkommandos „Okay Google, turn on“ und „Okay Google, turn off“ nun verstanden werden. Es geht aber noch kein Licht an. Das liegt daran, dass wir noch gar keinen Code zur Ansteuerung der LED geschrieben haben. In den installierten Beispielen findet sich bereits ein dafür vorbereitetes Python-Programm. Es liegt im Verzeichnis assistant-sdk-python/google-assistant-sdk/googlesamples/assistant/library und kann mit python hotword.py –device-model-id <YOUR-DEVICE-MODEL-ID> gestartet werden. Zusätzlich brauchen wir noch die Python-Bibliothek, um auf die GPIO zuzugreifen. Wir können diese mit dem Kommando pip install RPi.GPIO auf unserem Raspberry Pi installieren.

Nun können Sie das hotword.py so erweitern, dass die LED angesteuert wird. Als erstes müssen Sie die Bibliothek importieren. Dazu fügen Sie bitte folgende Zeile bei den Importen ein: import RPi.GPIO as GPIO.

Um dem Raspberry Pi zu sagen, dass er einen bestimmten Anschluss als Eingang oder als Ausgang verwenden soll, benötigen wir am Anfang des Programms, direkt nach main(: ), die folgenden Zeilen:

GPIO.setmode(GPIO.BCM)
GPIO.setup(25, GPIO.OUT, initial=GPIO.LOW)

Wir sprechen die GPIO hier über die BCM-Nummerierung an. Das ist ein wichtiges Detail, weil es leider drei verschiedene Möglichkeiten gibt, die GPIOs des Raspberry anzusteuern. Da ist zum einen die BCM-Notation, sie verwendet die Postnummern des IC selbst. Weiterhin kann man sich natürlich auch direkt auf die physischen Anschlussnummern des J8-Headers beziehen. Und last but not least gibt es die wiringPi-Notation, die sehr verbreitet ist, aber nichts mit den beiden anderen gemein hat. Der einfachste Weg, in diesen Wirrwarr den Überblick zu behalten, ist es, das Kommando gpio readall auf der Kommandozeile des Raspberrys auszuführen (Listing 4). Hier bekommt man eine Übersicht aller GPIO Ports in allen Notationen mit aktuellem Betriebsmodus und Status. Diese Übersicht ist immer eine große Hilfe, wenn man mit der GPIO und unterschiedlichen Bibliotheken arbeitet.

pi@raspberrypi:~ $ gpio readall
 +------+------+----------+------+---+--Pi 3B---+---+------+---------+-----+-----+
 | BCM  | wPi  |   Name   | Mode | V | Physical | V | Mode | Name    | wPi | BCM |
 +------+------+----------+------+---+----++----+---+------+---------+-----+-----+
 |      |      |    3.3v  |      |   |  1 ||  2 |   |      | 5v      |     |     |
 |   2  |   8  |   SDA.1  |  IN  | 1 |  3 ||  4 |   |      | 5v      |     |     |
 |   3  |   9  |   SCL.1  |  IN  | 1 |  5 ||  6 |   |      | 0v      |     |     |
 |   4  |   7  | GPIO. 7  |  IN  | 1 |  7 ||  8 | 0 |  IN  | TxD     | 15  |  14 |
 |      |      |      0v  |      |   |  9 || 10 | 1 |  IN  | RxD     | 16  |  15 |
 |  17  |   0  | GPIO. 0  |  IN  | 0 | 11 || 12 | 0 |  IN  | GPIO. 1 |  1  |  18 |
 |  27  |   2  | GPIO. 2  |  IN  | 0 | 13 || 14 |   |      | 0v      |     |     |
 |  22  |   3  | GPIO. 3  |  IN  | 0 | 15 || 16 | 0 |  IN  | GPIO. 4 |  4  |  23 |
 |      |      |    3.3v  |      |   | 17 || 18 | 0 |  IN  | GPIO. 5 |  5  |  24 |
 |  10  |  12  |   MOSI   |  IN  | 0 | 19 || 20 |   |      | 0v      |     |     |
 |   9  |  13  |   MISO   |  IN  | 0 | 21 || 22 | 0 |  IN  | GPIO. 6 |  6  |  25 |
 |  11  |  14  |    SCLK  |  IN  | 0 | 23 || 24 | 1 |  IN  | CE0     | 10  |   8 |
 |      |      |      0v  |      |   | 25 || 26 | 1 |  IN  | CE1     | 11  |   7 |
 |   0  |  30  |  SDA.0   |  IN  | 1 | 27 || 28 | 1 |  IN  | SCL.0   | 31  |   1 |
 |   5  |  21  | GPIO.21  |  IN  | 1 | 29 || 30 |   |      | 0v      |     |     |
 |   6  |  22  | GPIO.22  |  IN  | 1 | 31 || 32 | 0 |  IN  |GPIO.26  | 26  |  12 |
 |  13  |  23  | GPIO.23  |  IN  | 0 | 33 || 34 |   |      | 0v      |     |     |
 |  19  |  24  | GPIO.24  |  IN  | 0 | 35 || 36 | 0 |  IN  | GPIO.27 | 27  |  16 |
 |  26  |  25  | GPIO.25  |  IN  | 0 | 37 || 38 | 0 |  IN  | GPIO.28 | 28  |  20 |
 |      |      |    0v    |      |   | 39 || 40 | 0 |  IN  | GPIO.29 | 29  |  21 |
 +------+------+----------+------+---+--Pi 3B---+---+------+---------+-----+-----+
 | BCM  | wPi  |   Name   | Mode | V | Physical | V | Mode | Name    | wPi | BCM |
 +------+------+----------+------+---+--Pi 3B---+---+------+---------+-----+-----+
pi@raspberrypi:~ $

Kommen wir aber nun zu unserem Programm zurück. Das Kommando GPIO.setup() versetzt den BCM-Port 25 in den Ausgabemodus und initialisiert ihn mit low.

Für die nächste Änderung am Sourcecode müssen Sie etwas suchen. Es gibt in der Funktion process_event(event) die Zeile print(‚Do command‘, command, ‚with params‘, str(params)). Hinter Ihr müssen Sie einige Anweisungen einfügen, so dass sich der Code aus Listing 5 für diesen Bereich ergibt.

print('Do command', command, 'with params', str(params))
if command == "action.devices.commands.OnOff":
  if params['on']:
    print('Turning the LED on.')
    GPIO.output(25, 1)
  else:
    print('Turning the LED off.')
    GPIO.output(25, 0)

Bitte beachten Sie, dass bei Python Blöcke mit Hilfe von Einrückungen implementiert sind. Wenn Sie falsch einrücken, wird das Programm nicht so arbeiten, wie Sie es erwarten.

Nun können Sie das Beispielprogramm mit python hotword.py –device-model-id <YOUR-DEVICE-MODEL-ID> starten. Die LED lässt sich nun mit „Okay Google, turn on“ und „Okay Google, turn off“ an- und ausschalten. Sie können sich sicherlich schon denken, wie Sie nun den Lüfter zum Laufen bringen. Ändern Sie einfach den GPIO-Pin von 25 auf 8, und anstelle der LED wird Ihr Lüfter an- und ausgeschaltet. Bitte achten Sie darauf, den Wert an allen Stellen im Programm zu ändern.

Falls Sie auf unerwartete Fehler stoßen oder sich einfach die Kommandos kopieren wollen, werfen Sie bitte einen Blick in die Google-Dokumentation [8].

Das war jetzt nur ein schneller Einstieg in die Funktionsweise der Google Assistant Library. Die Library ist natürlich erheblich mächtiger. Man kann auch mit ausgefeilteren Sprachkommandos arbeiten. Es ist auch ohne weiteres möglich, über Python MQTT-Aufrufe abzusetzen und damit andere Geräte anzusteuern. Ihnen werden sicherlich noch viele eigene Ideen kommen, was man alles mit der Google Assistant Library machen kann.

Fazit

Es ist tatsächlich etwas kompliziert, sich ein funktionierendes Projekt für den Google Home aufzubauen. Scheinbar sind die Gründe dafür eher wirtschaftlicher Natur und weniger technisch bedingt. Hat man aber erst einmal alle Anmeldeprozeduren hinter sich gebracht, kann man richtig loslegen. Mit der Google Assistant Library ist es super leicht, eigene kleine Projekte aufzubauen. Durch den Einsatz von Python kommt man auch sehr schnell zu guten Ergebnissen. Man muss allerdings beim Ausprobieren auch die Kosten der Plattform im Auge behalten. Das freie Kontingent kann unter Umständen recht schnell aufgebraucht sein. Nichtsdestotrotz mach es richtig Spaß, mit der Google Assistant Library kleine sprachgesteuerte Projekte aufzubauen.

Verwandte Themen:

Geschrieben von
Martin Mohr
Martin Mohr erblickte im Zeitalter der Magnet-Ringkernspeicher und Hebdrehwähler das Licht der Welt und hat somit die komplette Entwicklung der modernen Computertechnik live miterleben dürfen. Die Vorliebe für alles, was blinkt, hat sich schon in seiner frühen Jugend entwickelt und wurde durch eine Ausbildung zum Elektroniker noch verstärkt. Nach dem Informatikstudium lag sein Beschäftigungsfeld überwiegend in der Entwicklung von Java-Applikationen. Mit dem Raspberry Pi ist die alte Liebe zur Elektronik wieder erwacht.
Kommentare

1
Hinterlasse einen Kommentar

avatar
4000
1 Kommentar Themen
0 Themen Antworten
0 Follower
 
Kommentar, auf das am meisten reagiert wurde
Beliebtestes Kommentar Thema
1 Kommentatoren
Markus Unger Letzte Kommentartoren
  Subscribe  
Benachrichtige mich zu:
Markus Unger
Gast

Netter Artikel, ABER… der erste Satz in der Headline ist doch nicht richtig. Das Sprachassistenten nicht billig sind, kann ich nicht bestätigen. Man bekommt die für 30€ mit Amazon Echo hinterher geschmissen, was daran liegt das die zum Selbstkosten Preis an den Markt gebracht werden um Marktanteile zu ergattern. Abgesehen davon das ich (derzeit) noch keinen Sprachassistent in meiner Wohnung haben will, finde ich z.B. den Preis des großen Amazon Echo als mobile Musikstation recht attraktiv.