Wie man ein Amazon Echo mit Raspberry Pi baut

Viele Menschen nutzen heute Assistenzsoftware in ihren Häusern und Büros, um bei alltäglichen Aufgaben zu helfen. Es gibt viele verschiedene Modelle zu kaufen, aber wussten Sie, dass Sie Ihr eigenes bauen können? Amazon Developer ermöglicht es Ihnen, die Alexa-Software zu verwenden, um Ihr eigenes Amazon Echo mit Raspberry Pi zu erstellen.

Materialien

Für dieses Projekt benötigen Sie:

  • Den Raspberry Pi 3 oder Pi 2 Model B und ein Micro-USB-Netzkabel
  • Micro SD-Karte (mindestens 8 GB) – Wenn Sie kein Betriebssystem installiert haben, gibt es ein benutzerfreundliches Betriebssystem namens NOOBS (New Out of the Box Software). Der einfachste Weg, NOOBS zu bekommen, ist, eine SD-Karte mit vorinstalliertem NOOBS zu kaufen.
  • USB 2.0 Mini-Mikrofon
  • Externen Lautsprecher und 3,5-mm-Audiokabel
  • USB-Tastatur und -Maus sowie externen HDMI-Monitor
  • Internetverbindung (Ethernet oder WiFi)
  • Um einen Pi 2 drahtlos mit dem Internet zu verbinden, benötigen Sie einen WiFi-Wireless-Adapter. Der Pi 3 hat integriertes WiFi.

Auch lesen: 5 Wesentliche Tipps & Tricks zur Personalisierung Ihres Amazon Echo

Registrieren Sie sich für ein Amazon Developer-Konto

Wenn Sie ein Amazon Developer-Konto benötigen, erstellen Sie ein kostenloses auf deren Seite. Lesen Sie hier die AVS (Alexa Voice Service) Nutzungsbedingungen.

raspberrypi-echo-amazon-developer-account

Vervollständigen Sie Ihre Profilinformationen.

raspberrypi-echo-register-profile-info

Lesen und akzeptieren Sie die App-Verteilungsvereinbarung.

raspberrypi-echo-register-app-distribution-agree

Wählen Sie aus, ob Sie Ihre Apps monetarisieren möchten.

raspberrypi-echo-register-payments

Erstellen Sie Ihr Gerät auf Amazon Developer

Nachdem Sie Ihr Amazon Developer-Konto registriert haben, erstellen Sie ein Alexa-Gerät und ein Sicherheitsprofil. Notieren Sie sich die folgenden Parameter während der Einrichtung – ProductID, ClientID und ClientSecret, da Sie diese später erneut eingeben müssen.

Wählen Sie im oberen Menü „Alexa Voice Service“ aus.

Der Bildschirm „Willkommen bei Developer“ wird angezeigt.

raspberrypi-echo-developer-welcome

Der erste Bildschirm fragt nach dem Produkt, das Sie erstellen.

  1. Zuerst benennen Sie Ihr Gerät.

raspberrypi-echo-product-name

  1. Geben Sie als Nächstes eine Produkt-ID ohne Leerzeichen oder Sonderzeichen ein.

Hinweis: Sie benötigen dies später. Notieren Sie es sich irgendwo.

  1. Wählen Sie Alexa-fähiges Gerät für den Produkttyp aus.

raspberrypi-echo-product-type

  1. Alexa benötigt eine Begleit-App. Wählen Sie ja für diese Frage.

raspberrypi-echo-companion-app

  1. Wählen Sie drahtlose Lautsprecher aus dem Dropdown-Menü.

  2. Geben Sie „Raspberry Pi Projekt auf Github“ in das Beschreibungsfeld ein. Dies sind Informationen für AVS und sind für andere nicht sichtbar.

  3. Aktivieren Sie sowohl die Optionen „Berührungsinitiierte“ als auch „Freisprech“.

raspberrypi-echo-product-options

  1. Sie können ein Bild für Ihr Gerät hochladen, aber lassen Sie uns diesen Schritt vorerst überspringen.

  2. Wählen Sie „nein“ für die Fragen zur kommerziellen Verbreitung und zu Kinderprodukten.

raspberrypi-echo-product-options-2

  1. Klicken Sie auf „Weiter“.

Erstellen Sie Ihr Sicherheitsprofil

Auf dieser Seite erstellen Sie ein neues LWA (Login with Amazon) Sicherheitsprofil, um die Benutzerdaten und Sicherheitsanmeldeinformationen mit diesem Projekt zu identifizieren.

  1. Klicken Sie auf „Neues Profil erstellen“.

raspberrypi-echo-lwa-security-profile2

  1. Erstellen Sie einen Namen für das Profil. Es könnte etwas wie „Alexa Sicherheitsprofil“ sein.

raspberrypi-echo-security-profile-name

  1. Geben Sie eine Beschreibung für das Profil ein. Sie können „Alexa Sicherheitsprofil Beschreibung“ wählen.

raspberrypi-echo-security-description

  1. Klicken Sie auf „Weiter“.

  2. Amazon generiert eine Client-ID und ein Client-Secret für Sie. Dies sind die anderen beiden Werte, die Sie später benötigen. Halten Sie sie in der Nähe.

raspberrypi-echo-id-and-secret1

  1. Geben Sie Ihre erlaubten Ursprünge und erlaubten Rückgabe-URLs ein. Wir richten http- und https-Routen für dieses Projekt ein, also geben Sie Folgendes in Ihr Feld „Erlaubte Ursprünge“ ein – „http://localhost:3000“.

  2. Klicken Sie auf „Hinzufügen“.

  3. Geben Sie „https://localhost:3000“ in dasselbe Feld ein, in das Sie die erste eingegeben haben.

raspberrypi-echo-allowed-origins-2

  1. Klicken Sie erneut auf „Hinzufügen“.

  2. Machen Sie dasselbe für die erlaubten Rückgabe-URLs, geben Sie jedoch die folgenden beiden URLs ein:

http://localhost:3000/authresponse  
https://localhost:3000/authresponse
  1. Die Seite sollte so aussehen, bevor Sie auf Fertig klicken. Stellen Sie sicher, dass sich keine Ihrer URLs mehr in dem Feld befindet, in das Sie sie eingegeben haben. Sie werden auf einem grauen Hintergrund angezeigt, nachdem Sie sie hinzugefügt haben.

raspberrypi-echo-all-origins

  1. Sobald Sie auf „Fertig“ klicken, erscheint dieser Bildschirm. Ihr Projekt wurde erstellt und ist bereit zur Installation.

raspberrypi-echo-product-screen

Klonen Sie die Alexa-Beispiel-App

  1. Öffnen Sie das Terminal.

raspberrypi-echo-open-terminal2

  1. Geben Sie Folgendes ein:
cd Desktop  
git clone https://github.com/alexa/alexa-avs-sample-app.git

Aktualisieren Sie das Installationsskript, indem Sie Ihre Anmeldeinformationen hinzufügen

Bevor Sie das Installationsskript ausführen, aktualisieren Sie das Skript mit den Anmeldeinformationen, die Sie von Amazon aufgezeichnet haben – ProductID, ClientID, ClientSecret.

  1. Geben Sie Folgendes im Terminal ein:
cd ~/Desktop/alexa-avs-sample-app  
nano automated_install.sh
  1. Wenn es ausgeführt wird, erscheint dieser Bildschirm. Verwenden Sie die Pfeiltasten auf Ihrer Tastatur, um zu navigieren, und ersetzen Sie die Felder für ProductID, ClientID und ClientSecret durch Ihre Werte.

raspberrypi-echo-insert-device-data

Die Änderungen sollten so aussehen:

ProductID="Ihr Geräte Name"  
ClientID="amzn.xxxxx.xxxxxxxxx"  
ClientSecret="4e8cb14xxxxxxxxxxxxxxxxxxxxxxxxxxxxx6b4f9"
  1. Drücken Sie Ctrl + X, um das Skript zu beenden. Drücken Sie Y und dann Enter, um Ihre Änderungen zu speichern.

Führen Sie das Installationsskript aus

Um das Skript auszuführen, öffnen Sie das Terminal und führen Sie die folgenden Befehle aus.

cd ~/Desktop/alexa-avs-sample-app  
. automated_install.sh

Während dieses Skripts werden Sie aufgefordert, einige einfache Fragen zu beantworten. Diese dienen dazu, sicherzustellen, dass Sie alle erforderlichen Einstellungen bei Amazon abgeschlossen haben, bevor Sie das Programm installieren.

raspberrypi-echo-setup-questions

Die Installation dauert etwa dreißig Minuten, also holen Sie sich einen Snack.

Wenn es korrekt installiert ist, sieht Ihr Terminalfenster wie das folgende Bild aus.

raspberrypi-echo-end-install2

Die drei Terminals

Sie müssen drei Schritte ausführen, um die Alexa-App auszuführen. Jeder von ihnen muss in einem separaten Terminalfenster ausgeführt werden, und Sie müssen sie in der richtigen Reihenfolge ausführen.

Es gab einige Programme, die ich benötigte, aber nicht hatte. Ich habe diese Programme während des Prozesses installiert. Falls Sie dasselbe Problem haben, habe ich in jedem Schritt einen Hinweis dazu eingefügt.

Terminal 1

Dieses Fenster führt den Webdienst aus, um Ihre App mit AVS (Alexa Voice Service) zu autorisieren.

Öffnen Sie das Terminal und geben Sie die folgenden Befehle ein:

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

Hinweis: npm ist ein Paketmanager für die Programmiersprache JavaScript. Wenn es nicht verfügbar ist, wenn Sie den Befehl ausführen, können Sie es hier erhalten.

Wenn die Skripte abgeschlossen sind, sieht das Fenster so aus und zeigt an, dass Pi auf Port 3000 lauscht.

raspberrypi-echo-port-3000

Schließen Sie dieses Fenster nicht. Es muss offen bleiben, während Sie die nächsten Schritte abschließen.

Terminal 2

Dieses Fenster kommuniziert mit AVS.

Geben Sie Folgendes in ein anderes Terminalfenster ein.

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

Hinweis: mvn steht für Apache Maven. Wenn Sie es nicht haben, klicken Sie hier, um zu beginnen.

Wenn Sie den Client ausführen, erscheint ein Dialogfeld mit der Aufforderung: „Bitte registrieren Sie Ihr Gerät, indem Sie …“

Klicken Sie auf Ja.

raspberrypi-echo-open-site

Bei einigen Browsern erhalten Sie eine Warnung, dass die Verbindung nicht sicher ist. Schließen Sie dies, indem Sie auf die Schaltfläche „Erweitert“ klicken. Klicken Sie dann auf dem nächsten Bildschirm auf „Fahren Sie mit localhost (unsicher) fort“.

Jetzt melden Sie sich bei Amazon mit Ihren Entwickleranmeldeinformationen an.

Der nächste Bildschirm fragt nach der Erlaubnis, das Sicherheitsprofil zu verwenden, das Sie zuvor für das Gerät erstellt haben, das Sie registrieren. Klicken Sie auf Okay.

raspberrypi-echo-use-security-profile

Sie werden zu einer URL weitergeleitet, die mit „https://localhost:3000/authresponse“ beginnt und wie das folgende Bild aussieht.

Gehen Sie zurück zum offenen Dialogfeld und klicken Sie auf die Schaltfläche OK. Der Client kann jetzt Anfragen von Ihrem Alexa-Gerät annehmen.

Halten Sie das Terminal sowie das Voice Service Dialogfeld offen.

raspberrypi-echo-voice-service-box

Terminal 3

Dieses Fenster installiert die Anwendung, die Alexa mit ihrem Aktivierungswort weckt. Überspringen Sie dies, wenn Sie nicht möchten, dass die Stimme Alexa aktiviert.

Öffnen Sie ein neues Terminalfenster und verwenden Sie einen der folgenden Befehle, um einen Aktivierungswort-Engine mit Sensory oder KITT.AI zu starten.

Um die Sensory-Aktivierungswort-Engine zu verwenden, geben Sie ein:

cd ~/Desktop/alexa-avs-sample-app/samples  
cd wakeWordAgent/src && ./wakeWordAgent -e sensory

Um die KITT.AI-Aktivierungswort-Engine zu verwenden, geben Sie ein:

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

Testen Sie es aus

Sprechen Sie mit Alexa, indem Sie das Aktivierungswort „Alexa“ sagen. Warten Sie auf den Piepton, bevor Sie Ihren Befehl geben. Versuchen Sie es beispielsweise, indem Sie sagen: „Alexa“. Warten Sie auf den Piepton und fragen Sie dann: „Wie spät ist es?“

Wenn sie korrekt antwortet, haben Sie ein funktionierendes Alexa-Gerät!

Schauen Sie sich die Alexa-Webseite von Amazon für weitere Ideen an. Dieses Alexa kann alles tun, was ein Echo tun kann!