Sonntag, 26. Januar 2014

Raspberry Pi Sprachsteuerung

Update 13.06.2015: Hier wurde das Thema Sprachsteuerung neu in Angriff genommen!


Hey,

als ich meinen ersten Raspberry Pi bekommen habe fragte ich mich: "was machst du jetzt damit?". Und ich muss gestehen, dass das Pi Tage-, wenn nicht sogar Wochenlang ohne Funktion bei mir rumlag.
Ich wollte natürlich klein mit der Pi Programmierung anfangen, es sollte aber trotzdem seinen Nutzen haben.
Dann bin ich auf diesen Artikel gestoßen LINK.
Und ich dachte mir "Das wäre doch super. Den Pi per Sprache Steuern!"
Nun muss ich nur sagen "Mach das Licht an" und die Kaltlichtkathode, die ich vor einigen Jahren mal in meinen Gitarrenverstärker eingebaut habe, leuchtet.


Das Prinzip ist eigentlich ziemlich einfach.

Sobald am Mikrofon ein bestimmter Schwellwert überschritten wird, also wenn ich dort rein spreche, wird eine Audio Aufnahme gestartet. Diese ist bei mir 2 Sekunden lang. Länger sind meine Sprachbefehle auch nicht. Gespeichert wird die Aufnahme als .flac Datei. Diese Datei wird zur Google Speech-to-Text API gesendet. Die Google Speech-to-Text API sendet mir kurz darauf eine Text Datei zurück in der mein gesprochener Befehl steht.
In dieser Datei lasse ich nun die Worte "Licht" und "ein" suchen. Wenn beide Wörter gefunden werden, wird ein GPIO Pin auf 1 gesetzt, welches ein Relais einschaltet, an dem die Kaltlichtkathode angeschlossen ist.


Andere Einsatzmöglichkeiten

Ich habe, neben dem einschalten meiner Kaltlichtkathode noch eingebaut, dass die Kaltlichtkathode ausgeschaltet wird, dass eine VNC Session gestartet oder beendet wird und dass mir die Dateien des jeweiligen Ordners angezeigt wird.


Benötigte Hardware
  • 4er Relais (gibt es auch in einer 2er Version)
  • Jumperkabel (es reichen 3, aber wer weiß was man noch so bauen will?)
  • Ein USB Mikrofon (ich habe das eingebaute Mikrofon einer Webcam verwendet)

Wie ihr seht, kostet die Hardware nicht viel. Und mit dem Relais könnte man auch sein Licht im Wohnzimmer steuern.


Die Verkabelung

Rechts sehr ihr eine Abbildung der GPIO Pins vom Pi (Modell B, Quelle).
Die Zählweise ist oben links Pin 1, oben rechts Pin 2, unten links Pin 25 und unten rechts Pin 26.
Es werden 3 der Jumperkabel benötigt.
Das erste Kabel steckt ihr am Pi auf Pin 2 (5V Power) und am Relais auf VCC (ganz rechts).
Das zweite Kabel kommt auf Pin 6 (Ground) und am Relais auf GND (ganz links).
Somit hat das Relais jetzt eine Betriebsspannung von 5V. Nun zum eigentlichen Schalten des Relais.
Das dritte Kabel kommt auf Pin 8 (GPIO 14 TXD) und am Relais auf IN4.
Das dritte Kabel kann man am Pi auch woanders platzieren, aber so ist es in meinen Scripten eingerichtet. Am Relais kann man sich den Eingang aussuchen, den man möchte.

Als letztes verkabelt ihr euer zu steuerndes Gerät am Relais und schraubt es fest. Hier muss eine Ader in der mittleren der 3 Klemmen sein und die andere Ader links oder rechts daneben. Bei dem einen wäre euer zu steuerndes Gerät an, wenn der GPIO Port auf 1 gesetzt wird, beim anderen wäre das Gerät aus und würde angehen, wenn der GPIO Port auf 0 ist. In meinem Fall möchte ich, dass das Licht aus ist, wenn der GPIO Port auf 0 ist.
Aus Sicherheitsgründen solltet ihr am Relais den Minuspol verschrauben.
Hier ein künstlerisches Meisterwerk wie die Verkabelung aussieht:



Benötigte Software

Ich stelle euch hier meine Scripts zur Verfügung. Vieles davon ist zusammenkopiert von anderen Webseiten und ich habe es nur auf meine Wünsche angepasst.
Dem stt.sh Script muss man noch ausführbare Rechte geben:

chmod +x stt.sh

Damit das Script im Hintergrund ununterbrochen durch läuft, muss der Befehl wie Folgt eingegeben werden:

nohup ./stt.sh &

Hier die Scripte: LINK
(edit: der Link hat nicht funktioniert. Sollte jetzt aber gehen)


Mögliche Probleme

Manchmal reagiert das Pi nicht schnell genug und startet die Aufnahme mitten im Satz. Ich habe mir also angewöhnt zu sagen "ok... mach das licht an"

Und hier mal ein paar Foto wie es bei mir aussieht:

Terminal:



Gitarrenverstärker:






Sonntag, 19. Januar 2014

Raspberry Pi XBMC

Hallo,

viele, die ein Raspberry Pi haben, entscheiden sich dazu XBMC darauf laufen zu lassen um Filme, Serien Musik oder Bilder darüber sehen zu können.
Ich war zuerst skeptisch, ob ich das überhaupt machen soll. "Ich kann doch einfach meinen Laptop am Fernseher anschließen um Filme zu gucken", war mein Gedanke.
Doch als ich sah, wie gut XBMC gemacht ist, musste ich mir ein zweites Pi anschaffen um XBMC darauf zu installieren.


RaspBMC oder Raspbian mit XBMC installation?

Um es mal vorweg zu nehmen: ich habe mich für die zweite Methode entschieden. Aber dazu gleich mehr.
Die RaspBMC Installation ist so einfach wie man es sich kaum vorstellen kann: Image auf die SD Karte, LAN Kabel rein und Strom an. Der Rest geht von alleine.
Leider hatte ich das Problem, dass sich das Pi beim booten im RaspBMC Logo aufhing.
Als es dann doch mal funktionierte, war es zu meiner Enttäuschung sehr sehr langsam und instabil.

Bei Raspbian lief es natürlich nicht automatisiert ab.
Als erstes wird die Datei mene.list geöffnet

sudo nano /etc/apt/sources.list.d/mene.list

Hier wird dann folgende Zeile eingefügt

deb http://archive.mene.za.net/raspbian wheezy contrib

Dann geben wir folgendes ein:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 5243CDED

und mit dem Befehl

sudo apt-get update && sudo apt-get install xbmc

wird XBMC schließlich installiert.

Was mich überrascht hat ist, dass ich sogar meine TV Fernbedienung benutzen konnte um XBMC zu steuern. Doch ich verwende lieber die Android App Yatse. Hier kann man bequem durch deine Datenbank scrollen, welches um einiges schneller geht als mit der TV Fernbedienung.

Als Scraper verwende ich den Universal Movie Scraper. Ein Scraper ist ein Addon, dass anhand des Dateinamens in einer Datenbank nach z.B. Filminformationen sucht. So werden bei der richtigen Konfiguration automatisch Cover Art, Beschreibung und Schauspieler angezeigt. Welche Funktion ich besonders liebe ist, dass man sich die Trailer des Films direkt in XBMC angucken kann.


Meine Einstellungen

Add on: Universal Movie Scraper
Skin Quartz.Reloaded
Android Fernbedienung: Yatse


Tipps

  • Die Dateinamen der Filme sollten die Originaltitel auf Englisch sein. Am besten auch noch das Erscheinungsjahr mit angeben. Somit erhöht sich die Change, dass der Scraper die Filme in der Datenbank findet.
  • Vor dem Import der Filme den Universal Movie Scraper auf deutsch stellen. Der Scraper sucht nach dem englischen Originaltitel und ersetzt ihn dann mit dem deutschen Filmtitel.
  • Mit sudo raspi-config - Advanced Options - Memory Split den GPU Speicher auf 128MB stellen.
  • Eventuell den Pi über sudo raspi-config - Overclock ein wenig übertakten, damit es flüssiger läuft.
  • XBMC automatisch beim booten starten: LINK jedoch mit der kleinen Besonderheit, dass man in der Datei /etc/default/xbmc den User auf root setzt. Dann kann man das Pi nämlich vom XBMC Menü aus auch Runterfahren und Neu starten

Screenshots

Oberfläche


Durch Filme scrollen (mit Beschreibung, Cover Art und Fan Art)



Filminformationen




Musik Datenbank

Dienstag, 14. Januar 2014

RedTube Abmahnwelle berechtigt?

Hallo zusammen,

vielleicht haben einige von euch einen netten Abmahnbrief bekommen, weil man sich Filme über Redtube angeschaut hat. Doch warum das ganze?


Es geht um das Urheberrecht. 

Das ist in meinen Augen im digitalen Zeitalter ein zweischneidiges Schwert:
Wenn Nike einen neuen Schuh raus bringt und die Chinesen diesen unerlaubterweise 1:1 nachmachen, ist es eine Verletzung des Urheberrechts, da die Chinesen von alleine niemals auf die Idee gekommen wären so einen Großartigen Schuh zu machen und so auf kosten von Nike Geld verdienen.


Aber wie ist das bei Filmen?

Hier ist klar, dass man sich den Film, den man auf einer Streaming Seite geguckt hat, nicht gekauft hat.
Doch trotzdem kommt es einem nicht so vor, als wenn man in einen Laden gegangen ist und sich heimlich eine DVD eingesteckt hat.
In meinen Augen ist der Uploader der eigentliche Dieb. Er hat im übertragenen Sinne die DVD im Laden gestohlen und sie mir danach geschenkt.


Doch warum werden die, die den Film gestreamt haben zur Verantwortung gezogen?

Das liegt daran, dass man, wenn man einen Film streamt, ihn temporär auf seinem Computer speichert.
Somit hat man quasi eine Kopie des Films auf seinem Computer und kann deswegen dafür belangt werden. So zumindest die Meinung der "streaming-Gegner".
Aus rein technischer Sicht ist das totaler Blödsinn jemanden dafür zu belangen, da auch Webseiten temporär auf dem Computer gespeichert werden, damit diese beim nächsten Aufruf schneller geladen wird. Gleiches gilt auch für Bilder.
Und trotzdem werde ich nicht von Amazon verklagt, weil ich teile der Amazon Website auf meinem Computer gespeichert habe.

Wenn ihr mich fragt, ist das eine Regelung genau der Politiker, die das Internet als Neuland bezeichnen und noch den Internet Explorer benutzen.
Sie haben von irgendwo gehört, dass der Stream auf dem Computer gespeichert wird und denken sich "Jap. Damit haben wir etwas handfestes gegen sie in der Hand."

Seht ihr das genauso? Oder findet ihr, dass ich da total falsch liege?

Freitag, 10. Januar 2014

Raspberry Pi WLAN einrichten

Hi,

nachdem ich mich ein wenig mit dem Raspberry Pi beschäftigt habe, habe ich mir einen WLAN USB Stick angeschafft.
Ich vielen Foren habe ich gelesen, dass man in der  /etc/wpa.conf ändern soll. Da dies irgendwie nicht so funktionierte, wie ich wollte, habe ich einen anderen Weg gefunden: nämlich über die Grafische Oberfläche.


VNC installieren und starten

Hierfür installieren wir tightvnc auf dem Raspberry Pi:

sudo apt-get install tightvncserver xtightvncviewer tightvnc-java

nach der Installation startet man das Programm mit dem Befehl vncserver

Es wird Folgendes ausgegeben:


New 'X' desktop is raspberrypi:1

Nun öffnet man den VNC Client seiner Wahl und trägt Benutzernamen, Passwort und die IP des Pis ein zusammen mit der Zahl die hinter dem Doppelpunkt steht. Diese Zahl steht dafür, welche Session Verwendet wird, da man hier mehrere Gleichzeitig laufen lassen kann.


WLAN einrichten

Hat man alles richtig gemacht, öffnet sich die Grafische Oberfläche des Pis.
Spätestens jetzt sollte der WLAN Stick eingesteckt werden.



Auf dem Desktop findet man das Programm WiFi Config. Dieses öffnet man und klickt unten rechts auf den Button "Scan"
Es öffnet sich ein weiteres Fenster. Auch hier klickt man auf den Scan Button.
Nun werden alle SSIDs in der Umgebung angezeigt.
Jetzt einfach doppelt auf seine SSID klicken, im neuen Fenster bei PSK sein WLAN Passwort eintragen und auf "Add" klicken.
Als letztes klickt man in dem Fenster, in dem mal als erstes war auf "Connect" und schon hat man WLAN.
Diese Einstellung wird auch nach einem Reboot beibehalten.

Freitag, 3. Januar 2014

Warum Ubuntu? Warum Gnome?

Ich werde oft gefragt warum ich überhaupt Linux auf meinem privaten Laptop laufen habe.
Die Antwort darauf ist: ES HAT MICH EINFACH GENERVT!
Bluescreens, die aus welchen Gründen auch immer erscheinen, überall lauern Viren, das System wird nach 3-4 Monaten erheblich langsamer, wenn man nicht auf Tools wie CCleaner zurückgreift.


Eine Alternative musste her!

Ich habe viele Betriebssysteme ausprobiert (als Schüler hat man ja Zeit ;) ) Ich kann mich nur noch daran erinnern, dass ich Kubuntu ausprobiert habe. Die anderen 7 oder 8 alternativen weiß ich schon gar nicht mehr.
Ich fand Kubuntu ganz nett. Schönes Design. Doch dann habe ich aus versehen eine Leiste gelöscht und konnte sie nicht auf Anhieb wieder hinzufügen, also wurde es durch Ubuntu ersetzt.


First time Ubuntu

Ubuntu sah damals mit Gnome 2 nicht so nett aus wie Kubuntu, aber es war gut und einfach zu bedienen.
Man musste sich natürlich an einige Sachen gewöhnen. Es gab halt kein Nero oder andere Software die man aus der Windows Welt kennt. Doch es gibt für fast jedes Programm eine Alternative.
Manche Sachen wie Chrome, Firefox, Thunderbird oder VLC Player sind bei Ubuntu natürlich auch vertreten.
Was mich Positiv überraschte war das Ubuntu Software Center. Jede Software, die man irgendwie brauchen könnte an einem Ort direkt zum Download bereit.
Natürlich gibt es das bei Windows 8 jetzt auch, doch Ubuntu hatte das bereits 2010, bzw wahrscheinlich schon früher. Ich bin 2010 auf Ubuntu umgestiegen.


Warum Gnome?

Ich war voll und ganz mit Ubuntu zufrieden und war total aus dem Häuschen also Gnome 3 angekündigt wurde. Gnome 3 ist Design-technisch so gut gemacht. Ich konnte es einfach nicht abwarten.
Doch dann kam Ubuntu mit Unity an. Welches ich im Gegensatz zu Gnome 3 Potthässlich fand.
Ich habe es natürlich anfangs ausprobiert, doch die Unübersichtlichkeit welche Programme nun geöffnet sind und im Hintergrund laufen und welche nur als Shortcut in der Leiste sind, war echt nervig.
Bei Gnome 3 wird einfach die Maus in die Obere linke Ecke gefahren (oder man drückt die Windows-Taste) und man sieht in einer Übersicht alle geöffneten Fenster/Programme.
Hier mal ein Screenshot für die, die nicht wissen, wie Gnome 3 aussieht:




Alternativen

Ich habe mich auch nach Ubuntu Alternativen umgesehen, da Gnome 3 nicht fest in Ubuntu integriert ist und man es nur durch die Installation der Shell drauf bekommt. Versteht mich nicht falsch: es läut alles super, doch ich wollte ein Gnome haben, dass fest integriert und nicht nur so drübergepackt ist.
Vor UbuntuGnome habe ich mich immer ein wenig ferngehalten, weil ich im Internet gelesen habe, dass die Entwickler Probleme damit haben genug Tester zu finden und es dadurch zu einer hohen Anzahl von Bugs im OS kommen kann.
Also gab ich Fedora 20 eine Chance.
Leider war dies auch nichts für mich, da ich mich so sehr mit den Debian Befehlen abgefunden habe, dass ich nicht mit dem Fedora oder RedHat Befehlen klar kam.
Also habe ich schweren Herzens UbuntuGnome ausprobiert und habe es bis heute als Hauptbetriebssystem.
Bugs sucht man hier vergeblich, auch wenn ich erst davon ausgegangen bin.


Fazit

UbuntuGnome ist ein einfach zu bedienendes Betriebssystem, wenn man sich nicht auf die Windows Schiene festgebissen hat. Bestes Beispiel hierfür ist, dass meine Mutter (!!!) sogar UbuntuGnome auf ihrem Laptop installiert hat.
Probiert es einfach mal aus! Einfach die ISO auf eine CD brennen und davon booten. So kommt man in den Genuss von Linux, ohne sein bereits installiertes Windows zu verändern.


Update Juni 2014

Aktuell verwende ich Elementary OS und bin soweit zufrieden. Hier kommt ihr zu dem Beitrag.

Donnerstag, 2. Januar 2014

Android 4.4 mit OmniRom (Update 11.1.2014)

So hier mal mein erster richtiger Post.

Es gibt ja viel Wirbel um das neue Android 4.4.
Ich als Technik Freak konnte mir das natürlich nicht entgehen lassen, und habe mich kurzerhand dazu entschlossen (nach dem mir Paranoid Android mega aufn' Nerv gegangen ist) mir OmniRom aufs Handy zu machen.

Leider mit einigen Hürden:


CWM Updaten


Nachdem ich mehrmals erfolglos versucht habe die Rom zu flashen, habe ich mich ein wenig auf die Suche nach dem Problem gemacht und es hat sich rausgestellt, dass meine CWM veraltet war.
Um diese zu aktualisieren:

- lädt man sich aus dem Play Store den Rom Manager runter
- geht auf "Recovery Setup"
- unter "install or update recovery" auf "ClockworkMod Recovery"
- dann wählt man sein Gerät aus
- bestätigt die Meldungen mit OK und JA und wählt dann die Version 3.x aus.

Rebootet man nun in den Recovery Modus erstrahlt der Modus im neuen Glanz (welchen ich total unübersichtlich finde).
Aber Hauptsache ist: Man kann OmniRom installieren!


Über die Rom

Die Rom läuft bei mir sehr sehr Stabil!

Wer in der Android Welt zu hause ist, wird sich schnell zurecht finden.
Die durchsichtige Benachrichtigungszeile sieht nett aus und mit einem Wisch nach rechts erscheint Google Now. Was will man mehr?


Was ich vermisse

Was ich bei der Rom noch vermisse ist, dass die "Quick Settings", also dass Menü in dem man WLAN, Helligkeit und GPS ein- und ausschalten kann, nicht editierbar ist und man diese nicht direkt angezeigt bekommt, wenn man weiter  rechts die Benachrichtigungszeile runterzieht. Update: das funktioniert, wenn man die Benachrichtigungszeile mit 2 Fingern runterzieht. Außerdem können die Quick Settings inzwischen editiert werden.


Zum Thema GPS

Zum Thema GPS bin ich ein wenig verwirrt. Früher konnte man den ungefähren Standort (über WLAN und Mobilfunkzelle) eingeschaltet haben, GPS aber ausgeschaltet lassen und Apps wie Google Now wussten wo man ist.
Nun muss man dies umständlich im Standort Menü einstellen. GPS ist nicht "mal eben" ein- und ausschaltbar. Wenn GPS eingeschaltet ist, habe ich in einem kurzen Test bisher keine genaue GPS Position bekommen, welches ich aber nochmal ausgiebig testen muss. GPS funktioniert ohne Probleme!

Habt ihr schon OmniRom oder Android 4.4 auf eurem Smartphone? Habt ihr auch GPS Probleme? Was haltet ihr von den neuen Funktionen?

Mittwoch, 1. Januar 2014

Raspberry Pi Ersteinrichtung

Hi und frohes Neues!

Da ich im Gebiet Raspberry Pi ein ziemlicher Neuling bin, hatte auch ich anfangs so meine Probleme.
Als erstes lädt man sich sein Raspberry Pi Betriebssystem runter. Für mich kam Raspbian in frage, da ich mich mit dem Debian Befehlen ein wenig durch den Gebrauch von Ubuntu auskenne.
Nach dem Download die .zip Datei entpacken und (unter Ubuntu) im Terminal:

dd bs=1M if=~/Downloads/2012-08-16-wheezy-raspbian.img of=/dev/sdx

eingeben.
Das dauert nun eine Weile.
Wenn es fertig ist schiebt man die SD Karte ins Pi, LAN Kabel anschließen und gibt Power ;)

Wer keine USB Tastatur zur Hand hat (wie es bei mir der Fall war) kann sich bequem per SSH in das Pi einwählen.


ssh 192.168.xx.xx -l pi


Die xx müssen durch die IP des Pis ersetzt werden. (welche IP das Pi bekommen hat sieht man, indem man sich im Route einloggt)

Das Passwort zum einloggen ist "raspberry" (ohne Anführungszeichen)
Das einzig wichtige ist noch das Passwort zu ändern. Dafür gibt man "sudo raspi-config" ein und man erhält eine Oberfläche in der man das Passwort ändern und das Pi übertakten kann und vieles mehr.