Amazon Alexa, oder auch einfach nur Alexa, ist der von Amazon ent­wi­ckel­te Sprach­as­sis­tent, der z. B. in Smart Speakern wie dem Amazon Echo oder dem Echo Dot zum Einsatz kommt. In diesen Geräten dient Alexa als zentrale Steue­rungs­ein­heit, die auf Sprach­be­feh­le des Nutzers reagiert. So lassen sich bei­spiels­wei­se Songs von Amazon Music oder Spotify streamen, Hörspiele von Audible abspielen oder Nach­rich­ten und Wet­ter­aus­künf­te abrufen. Auch bei der Or­ga­ni­sa­ti­on des Ta­ges­ab­laufs un­ter­stützt die Software bei Bedarf: Einkaufs- und To-do-Listen sind ebenso schnell diktiert wie abgefragt und Termine im ge­wünsch­ten Kalender (u. a. Apple, Google und Outlook) verbucht.

Da die Sprach­soft­ware von Amazon außerdem mit tausenden Smart-Home-Geräten wie Lampen, Steck­do­sen, Ther­mo­sta­ten u. v. m. kom­pa­ti­bel ist, er­mög­licht sie auch die Au­to­ma­ti­sie­rung des Haushalts.

Hinweis

Alexa wird au­to­ma­tisch über die Cloud ak­tua­li­siert. Zudem versorgt Amazon die Sprach­soft­ware re­gel­mä­ßig mit neuen Funk­tio­nen, die auch als Amazon Skills be­zeich­net werden und sich über den Alexa Skills Store hin­zu­fü­gen lassen.

Dank Alexa Voice Service können Sie die Mög­lich­kei­ten von Alexa auch ohne Amazon-Gerät genießen und den Sprach­as­sis­ten­ten in Ihr eigenes Gerät in­te­grie­ren. Als besonders geeignet hat sich der beliebte Raspberry Pi erwiesen, der im Vergleich zu Amazon Echo und Co. nicht nur preis­li­che Vorteile bietet, sondern sich auch nach eigenem Belieben anpassen und in­di­vi­dua­li­sie­ren lässt.

Alexa auf dem Raspberry Pi ein­rich­ten: Das sind die Vor­aus­set­zun­gen für den AlexaPi

Seit 2012 ist der Raspberry Pi auf dem Markt. Seitdem haben sich die Her­stel­ler kon­ti­nu­ier­lich um die Wei­ter­ent­wick­lung des Mi­ni­com­pu­ters bemüht und ver­schie­de­ne Nach­fol­ge­ver­sio­nen wie den Raspberry Pi 2 und 3 oder den Rasperry Pi Zero ver­öf­fent­licht. Al­ler­dings erfüllen nicht alle Varianten des Ein­pla­ti­nen­com­pu­ters die er­for­der­li­chen Vor­aus­set­zun­gen für die Ein­bin­dung von Alexa: Um den Sprach­as­sis­ten­ten später optimal einsetzen zu können, ist es emp­feh­lens­wert, min­des­tens einen Raspberry Pi 2 (Model B) zu verwenden. Da Alexa eine be­stehen­de In­ter­net­ver­bin­dung vor­aus­setzt, benötigen Sie in diesem Fall aber auch einen WLAN-Adapter, falls Sie den Mi­ni­com­pu­ter nicht dauerhaft über ein Netz­werk­ka­bel mit dem Internet verbinden wollen.

Sie können sich aber auch gleich für einen Raspberry Pi 3 ent­schei­den, da dieser stan­dard­mä­ßig über einen in­te­grier­ten WLAN-Adapter verfügt.

Ferner benötigen Sie in jedem Fall folgendes Zubehör, um Alexa auf Ihrem Raspberry Pi nutzen zu können:

  • MicroSD-Karte mit min­des­tens 8 GB (optimal: 16 GB oder mehr)
  • USB-Netzteil mit min­des­tens 2.000 mAh
  • USB-Mikrofon
  • USB- oder Bluetooth-Laut­spre­cher (falls Raspberry Pi 3)

Für ein besseres Klang­er­leb­nis können Sie optional eine USB-Sound­kar­te an den Raspberry an­schlie­ßen. Falls Sie die In­stal­la­ti­on und Ein­rich­tung von Be­triebs­sys­tem und Alexa nicht gänzlich per Remote-Ver­bin­dung vom PC aus durch­füh­ren wollen (sog. Headless-Modus), gilt es außerdem, Bild­schirm, Tastatur und Maus an den Mi­ni­com­pu­ter an­zu­schlie­ßen.

AlexaPi-Tutorial: So wird der Raspberry Pi zum Alexa-Sprach­rohr

Bevor Sie den Sprach­as­sis­ten­ten ein­rich­ten können, müssen Sie zunächst ein Be­triebs­sys­tem auf dem Raspberry bzw. auf der gewählten SD-Karte in­stal­lie­ren. Zu empfehlen ist das offiziell von der Raspberry Pi Foun­da­ti­on un­ter­stütz­te Raspbian, das Sie – als Image-Datei – direkt von der Website der Foun­da­ti­on her­un­ter­la­den können. Entpacken Sie die Datei im Anschluss auf die SD-Karte und nutzen Sie diese, um Ihren Raspberry Pi zu booten und das Be­triebs­sys­tem zu in­stal­lie­ren. Eine aus­führ­li­che Anleitung liefert Ihnen folgendes Video:

Falls Sie sich die In­stal­la­ti­on eines Be­triebs­sys­tems sparen wollen, können Sie – bei­spiels­wei­se im On­line­shop „The Pi Hut“ – auch eine ein­satz­fer­ti­ge SD-Karte kaufen, auf der Raspbian bereits vor­in­stal­liert ist.

Wie Sie Alexa im Anschluss an die In­stal­la­ti­on von Raspbian zum Laufen bringen, erfahren Sie in der folgenden Schritt-für-Schritt-Anleitung.

Schritt 1: Amazon-Developer-Account anlegen

Um auf Amazon Voice Service zugreifen zu können, benötigen Sie einen Amazon-Developer-Account. Im ersten Schritt erstellen Sie daher einen solchen, indem Sie die Amazon-Developer-Seite aufrufen, dort auf „Anmelden“ und an­schlie­ßend auf „Erstellen Sie Ihr Konto“ klicken. Sie können sich auch – sofern vorhanden – über Ihr reguläres Amazon-Konto anmelden.

Geben Sie die ge­wünsch­ten An­mel­de­da­ten (Name, E-Mail-Adresse und Passwort) ein und klicken Sie erneut auf „Erstellen Sie Ihr Konto“.

An­schlie­ßend werden Sie au­to­ma­tisch im Developer-Bereich an­ge­mel­det. Bevor Sie die Tools wie Alexa Voice Server al­ler­dings nutzen können, sind einige weitere Angaben zu Ihrer Person er­for­der­lich, die Sie nach einem Klick auf „Re­gis­trie­rung ab­schlie­ßen“ in der oberen Me­nü­leis­te machen können.

Schritt 2: Raspberry Pi für Alexa Voice Service re­gis­trie­ren

Nachdem Sie die er­for­der­li­chen In­for­ma­tio­nen gegeben und den Nut­zungs­be­stim­mun­gen und Richt­li­ni­en zu­ge­stimmt haben, erhalten Sie Zugriff auf das Developer-Dashboard, über das Sie Ihre ver­schie­de­nen Amazon-Projekte über­bli­cken und verwalten können. Unter der Rubrik „amazon alexa“ finden Sie die Schalt­flä­che „Alexa Voice Service“, über die Sie die Frei­schal­tung Ihres Raspber­rys für den Sprach­as­sis­ten­ten starten:

Im nächsten Menü klicken Sie auf die Schalt­flä­che „GET STARTED“, woraufhin Amazon Ihnen einige Fragen zum geplanten Projekt stellt.

Unter „Product name“ und „Product ID“ können Sie bei­spiels­wei­se „AlexaPi“ oder „Raspber­ry­Pi­Ale­xa“ eintragen.

Als „Product type“ wählen Sie die Option „Device with Alexa built-in“ (dt. Gerät mit in­te­grier­ter Alexa-Software). Die Frage nach der Nutzung einer Companion-App verneinen Sie.

In der Zeile „Product category“ fällt Ihre Wahl auf „Wireless Speakers“. Bei der Pro­dukt­be­schrei­bung müssen Sie keine großen Worte schwingen, ein Eintrag wie „Raspberry Pi Alexa Speaker“ ist aus­rei­chend.

Da Sie Ihren Raspberry Pi wie klas­si­sche Alexa-Speaker aus­schließ­lich per Sprach­be­fehl steuern wollen, markieren Sie „Hands-free“ (Sprach­steue­rung aus naher Distanz) und „Far-field“ (Sprach­steue­rung aus der Ferne) als geplante In­ter­ak­ti­ons­ar­ten.

Die ab­schlie­ßen­den Fragen nach der kom­mer­zi­el­len Nutzung oder der Ver­wen­dung des Raspber­rys für Alexa for Business und Alexa Mobile Accessory Protocol verneinen Sie ebenso wie die Frage, ob ihr Projekt gezielt auf Kinder zu­ge­schnit­ten ist.

Schritt 3: LWA-Si­cher­heits­pro­fil anlegen

Im nächsten Schritt müssen Sie ein LWA-Si­cher­heits­pro­fil (Login with Amazon) für den Raspberry Pi anlegen, damit dieser sich bei Amazon ve­ri­fi­zie­ren kann. Da Sie ein solches noch nicht besitzen, klicken Sie auf „CREATE NEW PROFILE“ und tragen an­schlie­ßend einen passenden Namen sowie eine kurze Be­schrei­bung des Profils ein:

Nach einem Klick auf „NEXT“ erscheint ein weiteres Menü, in dem Sie die URLs für die LWS-Au­then­ti­fi­zie­rung angeben. Tragen Sie hier folgende Adressen ein (und speichern diese mit „ADD“):

  • Allowed origins: "https://localhost:3000"
  • Allowed return URLs: "https://localhost:3000/au­th­re­spon­se"

An­schlie­ßend setzen Sie ein Häkchen, um Ihre Zu­stim­mung zu den Amazon- und Alexa-Voice-Service-Richt­li­ni­en zu geben und beenden den Pro­fi­ler­stel­lungs­pro­zess über den „FINISH“-Button:

War die Ein­rich­tung er­folg­reich, sendet Amazon Ihnen eine ent­spre­chen­de Pop-up-Be­nach­rich­ti­gung.

Schritt 4: Produkt- und Cli­ent­in­for­ma­tio­nen notieren

Das Profil, das Sie für Ihren AlexaPi angelegt haben, steht nun jederzeit unter „Products“ zur Auswahl. Bevor Sie sich nun al­ler­dings der In­stal­la­ti­on von Alexa zuwenden, sollten Sie an dieser Stelle schon einmal die für die Kon­fi­gu­ra­ti­on des Sprach­as­sis­ten­ten be­nö­tig­ten Produkt- und Cli­ent­in­for­ma­tio­nen aufrufen und notieren. Klicken Sie zu diesem Zweck das Profil des Raspber­rys in der Pro­dukt­über­sicht an und notieren Sie sich die Einträge unter „Client ID“ und „Client secret“. Die ent­schei­den­de Pro­dukt­in­for­ma­ti­on ist die „Product ID“, die mit dem ver­ge­be­nen Pro­dukt­na­men (in diesem Tutorial „AlexaPi“) gleich­zu­set­zen ist.

Schritt 5: Alexa auf dem Raspberry Pi in­stal­lie­ren

Die ein­fachs­te Mög­lich­keit, Alexa auf Ihrem Raspberry Pi zu in­stal­lie­ren, führt über die Ent­wick­ler­platt­form GitHub. Dort finden Sie u. a. die Alexa AVS Sample App, mit deren Hilfe Sie die Sprach­soft­ware auf Ihren Mi­ni­com­pu­ter bringen. Vor­aus­set­zung ist ein Git-Client, den Sie sofort nach einem schnellen System-Update her­un­ter­la­den können, falls dieser nicht stan­dard­mä­ßig in­stal­liert ist. Geben Sie also zunächst folgende Befehle in das Raspbian-Terminal ein, um die Sys­tem­soft­ware zu ak­tua­li­sie­ren:

sudo apt-get update
sudo apt-get upgrade -y

Es folgt der Git-Client-Check:

sudo apt-get install git

Mithilfe des Clients laden Sie nun die AVS Sample App herunter bzw. klonen das GitHub-Re­po­si­to­ry:

sudo git clone https://github.com/alexa/alexa-avs-sample-app.git
Hinweis

Die AVS Samle App befindet sich aktuell im Main­ten­an­ce Mode, weshalb sie die neuesten Alexa-Features nicht enthält. Mit dem AVS-Device-SDK steht jedoch eine al­ter­na­ti­ve Lösung zur Verfügung, die auch neuere Funk­tio­nen des Sprach­as­sis­ten­ten bietet.

Nachdem Sie das GitHub-Re­po­si­to­ry auf Ihren Raspberry Pi über­tra­gen haben, über­tra­gen Sie die in Schritt 4 ge­spei­cher­ten In­for­ma­tio­nen in die In­stal­la­ti­ons­da­tei automated_install.sh. Diese können Sie mit dem Text-Editor Ihrer Wahl – z. B. mit nano – öffnen.

Speichern Sie die Än­de­run­gen und starten die In­stal­la­ti­on von Alexa auf Ihrem Raspberry Pi mit folgendem Befehl:

. automated_install.sh

Schritt 6: Erste Ein­rich­tungs­schrit­te während der In­stal­la­ti­on

Noch während der In­stal­la­ti­on der Sprach­soft­ware müssen Sie die ersten Ein­stel­lun­gen vornehmen und Fragen be­ant­wor­ten. So gilt es gleich zu Beginn, in die Ge­schäfts­be­din­gun­gen ein­zu­wil­li­gen und der Nutzung aus­ge­wie­se­ner Dritt­an­wen­dun­gen (falls benötigt) zu­zu­stim­men. Mit der nächsten Frage be­stä­ti­gen Sie, dass Sie bereits einen Amazon-Developer-Account besitzen, bevor Sie in der dritten Frage die Angaben zu „Product ID“, „Client ID“ und „Client secret“ be­stä­ti­gen. In allen drei Fällen tippen Sie „y“ ein und drücken an­schlie­ßend die [Enter]-Taste.

Es folgt eine der ele­men­ta­ren Ein­stel­lungs­mög­lich­kei­ten – die Wahl der ge­wünsch­ten Sprach­aus­ga­be. Mit Option 3 (de-DE) ent­schei­den Sie sich hier für Deutsch, um später mit Alexa in deutscher Sprache kom­mu­ni­zie­ren zu können. Außerdem legen Sie noch während der In­stal­la­ti­on fest, ob die Ton­aus­ga­be Ihres Raspberry-Pi-Alexa-Speakers über den Klin­ken­an­schluss (3.5 mm) oder über den HDMI-Ausgang erfolgen soll. Zuletzt geben Sie an, ob Sie das stan­dard­mä­ßi­ge Ak­ti­vie­rungs­wort „Alexa“ bei­be­hal­ten oder einen anderen Sprach­be­fehl für den Start des Sprach­as­sis­ten­ten verwenden wollen.

Schritt 7: Au­then­ti­fi­zie­rung des Raspberry-Pi-Alexa-Speakers

Für die Au­then­ti­fi­zie­rung des Raspber­rys benötigen Sie nun den Alexa Companion Service, der eine Art Interface oder Gateway für die Ver­bin­dung zwischen dem Mi­ni­com­pu­ter und den AVS-Servern darstellt. Um den Service zu nutzen, wechseln Sie über das Terminal in das ent­spre­chen­de Ver­zeich­nis und starten die Anwendung an­schlie­ßend mithilfe des Pa­ket­diens­tes npm. Hierfür geben Sie nach­ein­an­der folgende Kommandos ein:

cd ~/alexa-avs-sample-app/samples/companionService
npm start

War der Start er­folg­reich, prä­sen­tiert Ihr Terminal die Nachricht „Listening on Port 3000“. Mi­ni­mie­ren Sie das Terminal-Fenster und öffnen Sie eine neue Instanz der Ein­ga­be­auf­for­de­rung.

Hinweis

Es ist wichtig, dass Sie das Terminal-Fenster, in dem Sie den Alexa Companion Service gestartet haben, nur mi­ni­mie­ren und nicht schließen. Der Dienst muss im Hin­ter­grund laufen, damit Ihr Raspberry Pi mit den Alexa-Voice-Servern kom­mu­ni­zie­ren kann.

Im nächsten Schritt wechseln Sie in das Ver­zeich­nis des Companion-Clients und rufen diesen auf. Da er in Java pro­gram­miert ist, greifen Sie hierfür auf den Java-Build-Manager Maven (mvn) zurück:

cd ~/alexa-avs-sample-app/samples/javaclient
mvn exec:exec

Einige Momente nach Eingabe des Befehls öffnet sich ein Pop-up-Dialog, der Sie auf­for­dert, eine bestimmte URL im Browser auf­zu­ru­fen, um den Raspberry zu re­gis­trie­ren. Kommen Sie der Auf­for­de­rung durch einen Klick auf „OK“ nach. Der Link wird in der Folge au­to­ma­tisch in Ihrem Stan­dard­brow­ser geöffnet.

Hinweis

Nach dem Klick auf „OK“ öffnet sich ein weiteres Dia­log­fens­ter im Java-Client, das Sie zunächst nicht zu beachten brauchen.

Im Browser sehen Sie nun entweder die Amazon-An­mel­de­sei­te oder in einigen Fällen die Meldung, dass die Website nicht er­reich­bar sei. Letzteres stellt al­ler­dings kein großes Problem dar: Klicken Sie einfach unten links auf „Advanced“ bzw. „Erweitert“ und dann auf „Proceed to localhost“ bzw. „Weiter zu localhost“, um ebenfalls zum Log-in-Fenster zu gelangen. Melden Sie sich mit Ihrem Amazon-Developer-Account an und be­stä­ti­gen Sie, dass Ihr Raspberry-Pi-Alexa-Speaker auf das Amazon-Konto zugreifen darf.

Bei er­folg­rei­cher Au­then­ti­fi­zie­rung sendet der Browser die Meldung „device tokens ready“. Nun können Sie im bis dato un­be­ach­tet ge­blie­be­nen Fenster im Java-Client auf „OK“ drücken, um die Au­then­ti­fi­zie­rung endgültig ab­zu­schlie­ßen.

Schritt 8: Ak­ti­vie­rungs­wort-Erkennung an­schal­ten

Alexa steht nun zum Einsatz bereit, sodass Sie über den AVS-Client jederzeit mit der Sprach­soft­ware in­ter­agie­ren können, indem Sie auf das Mi­kro­fon­sym­bol klicken und die ge­wünsch­te Frage stellen. Damit Alexa aber auch aktiv wird, wenn Sie das gewählte Ak­ti­vie­rungs­wort wie z. B. „Alexa“ sagen, müssen Sie nun noch den so­ge­nann­ten Wake-Word-Agenten starten. In einem neuen Terminal-Fenster rufen Sie zu diesem Zweck das Ver­zeich­nis des Agenten (KITT AI) auf, um diesen an­schlie­ßend zu starten:

cd ~/alexa-avs-sample-app/samples/wakeWordAgent/src
./wakeWordAgent -e kitt_ai

Zeigt das Terminal die Meldung „Connected to AVS client“, können Sie Alexa in gewohnter Weise per Sprach­steue­rung bedienen.

Schritt 9: Autostart-Skript für den Raspberry-Pi-Alexa-Sprach­as­sis­ten­ten erstellen

Damit Sie Alexa nicht bei jedem Start Ihres Raspberry Pis manuell starten müssen, erstellen Sie zum Abschluss noch ein Start-Skript, das au­to­ma­tisch beim Hoch­fah­ren des Mi­ni­com­pu­ters aus­ge­führt wird. Hierfür erzeugen Sie zunächst die Skript­da­tei mit folgendem Terminal-Befehl:

sudo nano alexa.sh

In das Skript fügen Sie im Anschluss folgende Code­zei­len ein:

#!/bin/bash
lxterminal -l -e "cd ~/alexa-avs-sample-app/samples/companionService && npm start;" &
sleep 10s
lxterminal -l -e "cd ~/alexa-avs-sample-app/samples/javaclient && mvn exec:exec;" &
sleep 30s
lxterminal -l -e "cd ~/alexa-avs-sample-app/samples/wakeWordAgent/src && ./wakeWordAgent -e kitt_ai;" &

Das Skript au­to­ma­ti­siert den in Schritt 7 be­schrie­be­nen Au­then­ti­fi­zie­rungs­pro­zess, indem es zunächst den Alexa Companion Service und an­schlie­ßend den Java-Client startet. An­schlie­ßend folgt zeit­ver­setzt der in Schritt 8 er­läu­ter­te Start des Wake-Word-Agenten.

Speichern Sie das Skript und erteilen Sie dem System via chmod die er­for­der­li­chen Zu­griffs­rech­te:

sudo chmod +x alexa.sh

Für das Skript erstellen Sie nun noch eine Autostart-Datei:

sudo nano /home/pi/.config/autostart

Diese Datei füllen Sie mit folgendem Inhalt, damit das erzeugte Skript ab sofort bei jedem Start Ihres Raspberry-Pi-Alexa-Speakers au­to­ma­tisch aus­ge­führt wird:

[Desktop Entry]
Comment=Comment
Exec=/home/pi/alexa.sh
Name=alexa.sh
Path=/home/pi/alexa.sh
Type=Shell
Zum Hauptmenü