Mittwoch, 24. Mai 2017

Projekt - Installation von Alexa auf dem Raspberry PI

Projekt - Installation von Alexa auf dem Raspberry PI

Tja, ich habe mir vorgenommen Alexa zu testen. Da ich einen ausgeprägten Spieltrieb habe und mir nach - sagen wir durchwachsenen - Erfahrungen mit dem Google Assistent eine eventuelle unnötige Investition in den Amazon Echo ersparen will, wollte ich mir die Alexa erst einmal als Low Budget anschauen.

Da ich an sich alle Teile hier habe und vor allem ganz gute Anleitungen im Netz existieren, habe ich mich derer angenommen und versuche nun das ganze einmal nachzubauen und hier zu dokumentieren.

Allerdings möchte ich das ganze in hübsch bauen und möglist ohne viel kabelage. Also will ich eigentlich meinen Lieblings Lautsprecher von Xiaomi benutzen, den hier: NDZ-03-GA
Klang ist super, Laufzeit ist toll und Microphone - naja, es ist zumindest da. 😅

Naja und weil ich eben Faul Bequem Effizient bin, richte ich mir vorher noch Synergy Project ein um nicht meine Tastatur und Maus Kombi zwischen Laptop und Raspi umstecken zu müssen. (Ja die Alternativen mittels SSH sind mir auch klar, aber den externen Monitor hab ich normalerweise gar nicht am Laptop und daher klemm ich den raspi lieber direkt an den Monitor)

Also zusammengefasst, ich plane folgende Schritte:
  1. Einen Raspberry Pi zero W (Inklusive der üblichen Bestandteile wie Stromversorgung, Monitor, SD Karte bla bla bla... ) mit einem aktuellen Raspbian aufsetzen und das ganze mit dem Internet per Wlan verbinden - hier
  2. Synergy Project Kompilieren und Konfigurieren - hier
  3. Einen Bluetooth Speaker mit Microphone installieren - hier
  4. Alexa auf dem System installieren -ToDo-

Einen Bluetooth Speaker mit Mikrophone installieren


Einen Bluetooth Speaker mit Mikrophone installieren

Tja, nun der anscheinend heftigste Teil. Ich will jetzt meinen Xiaomi NDZ-03-GA an den Raspi koppeln. Das geht grundsätzlich auch ganz einfach, aber nutzt mir leider nix, weil eben das Bluetooth HFP Protokoll nicht von Blue-Z unterstützt wird. (Ich begebe mich jetzt auf das Terrain des Gefährlichen Halbwissens, da ich tatsächlich noch kein Bluetooth Projekt umgesetzt habe… ) Die Meisten Infos zu dem Thema Bluetooth auf dem Raspi habe ich mir hier hergeholt. Genaugenommen war dieser Beitrag überhaupt mein Anlass um diesen Artikel zu schreiben.

Vorbereiten der Preconditions

cd /home/pi/Downloads
sudo apt-get purge pulseaudio
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install intltool libtool libcap-dev libjson0-dev libsndfile1-dev libudev-dev libsbc-dev libbluetooth-dev libx11-xcb-dev libasound2-dev libsystemd-dev libsamplerate0-dev
# Download von Pulseaudio (Ich nehme hier die aktuellste *.tar.gz )
wget https://freedesktop.org/software/pulseaudio/releases/pulseaudio-10.0.tar.gz
tar xvf pulseaudio-10.0.tar.gz
cd pulseaudio-10.0
./bootstrap
sudo make
sudo make install
sudo ldconfig

(Das ist ein Tipp von der Ser Yourness Seite, ich habe nicht probiert ob das wirklich notwendig ist)
pulseaudio --start

Anmerkung:
Hier hat leider der Teil mit dem Daemon von der Yourness Seite nicht geklappt. Ich bekomme bei dem Aufruf von “pulseaudio -D” immer den Fehler
E: [pulseaudio] main.c: Start des Hintergrunddienstes fehlgeschlagen.
Ich habe das noch nicht untersucht, vermute aber das hier noch irgendwelche berechtigungen nicht korrekt gesetzt sind.

Kompilieren von Pulseaudio

Vorab, das hat mit Pulseaudio 10 hervorragend geklappt. Ich muss nur noch den Teil hier ergänzen. Daher
leider noch: -ToDo- 

Einrichten des Microphones und Speakers unter Raspbian

Tja, an dem Punkt scheitere ich aktuell noch. Der Speaker selbst klappt hervorragend, aber das Micro hab ich nicht zum laufen gebracht. Aktuell bin ich noch auf der Suche nach einem Alternativen Gerät um mal andere Bluetooth Protokolle auszutesten....
-ToDo-

Synergy Projekt auf Raspbian installieren


Synergy Projekt auf Raspbian installieren


Nunja, es gibt zwar eine ARM Version im Raspian Archiv, allerdings ist die schon recht betagt und kann zB.auch keine gesicherte Verbindung. Außerdem bin ich ein Update Fanatiker und versuche immer das aktuellste Zeuch zu haben.

Also ran an den Speck und herunterladen von Synergy, installieren der Preconditions und kompilieren.

Preconditions für Synergy herstellen

sudo apt-get install cmake make php5-curl libcurl4-openssl-dev libx11-dev libxtst-dev qt4-dev-tools libssl-dev libavahi-compat-libdnssd-dev libx11-dev xorg-dev

Synergy runterladen

im Browser: https://symless.com/synergy/downloads/




In meinem Fall habe ich dann synergy-v1.8.8-stable-25a8cb2-Source.tar.gz auf der Festplatte SD Karte.

Entpacken von Synergy

  • cd /home/pi/Downloads/ 
  • tar -xfv synergy-v1.8.8-stable-25a8cb2-Source.tar.gz 
  • cd synergy-v1.8.8-stable-25a8cb2-Source 

Synergy bauen

  • ./configure 
  • nach einer weile make 
  • nach einer langen-Weile cd bin 
  • Den Clienten starten mit ./synergyc -d info -n 
So nu lief das Ding erstmal bei mir. Ich habe noch versucht das alles als Autostart nach dieser Anleitung zu bauen, allerdings ohne Erfolg. Mal schauen ob ich das irgendwann später nochmal hinbiegen kann.

Raspbian auf dem Raspberry PI Installieren

Raspbian auf dem Raspberry PI Installieren


Raspbian Image von http://www.raspberrypi.org/downloads laden
Mittels http://sourceforge.net/projects/win32diskimager/ auf eine SD Karte bringen

Anmerkung: ggf. hier noch vorher die SD Karte partitionieren, falls nämlich vorher schon eine Linux Partitionierung stattgefunden hat, kann Windows nur auf die boot Partition zugreifen und die ist höchstens groß genug für ein QNX micro Unix... Bei Bedarf ergänze ich mal dazu ein Howto. 

Booten des Raspi

Ich muss zugeben, ich hatte das bereits vorbereitet und weiß an der Stelle nicht ob noch irgendwas als Abfrage kam… Falls ja zur Erinnerung, der “Root” User hat folgende Zugangsdaen:
Username: pi
Passwort: raspberry

Netzwerkverbindung zum WLan-Internet herstellen. Ich mache das ganz pragmatisch über die GUI (Symbol oben rechts in der Leiste) von Raspbian.
Fazit: Jeah, läuft! :-)

Anmerkung:
Ich hatte Probleme die Lokalisierungs Einstellungen dauerhaft zu speichern. Meine Deutsche Tastaturbelegung wurde immer wieder “vergessen”. Nach etwas Recherche fand ich endlich einen Hinweis, dass es wohl ein Fehler in Raspbian ist. geholfen hat hier das Eintragen der Zeile
export LC_ALL_C
in die Datei
/home/pi/.bashrc
Wobei “pi” der aktuelle User ist.