Skip to content

Der RaspberryPi als ePub -> Kindle Gateway

Aktualisiert am 02.08.2017


Um eBooks auf einen Kindle zu bekommen kann man sie via USB übertragen, die meisten werden aber wohl einfach auf der Amazon Webseite einkaufen und die Bücher direkt an den Kindle schicken lassen. Für eigene Dokumente (txt, pdf, eBooks im mobi-Format, doc) hat jeder Kindle eine eigenen E-Mail Adresse über die man Dokumente an ihn schicken kann.

Bücher im ePub-Format kann man z.B. mit Calibre einfach wandeln, Calibre schlägt dies auch automatisch vor sobald man ein solches Buch an einen Kindle schicken will, egal ob via USB oder E-Mail. Da ist Calibre wirklich einfach. Man kann das sogar so weit automatisiseren, dass Calibre Bücher, die in einem bestimmten Verzeichnis abgelegt werden automatisch zur Bibliothek hinzufügt und über weitere Regeln auch automatisch weiter verarbeitet und z.B. an einen Kindle sendet.

RaspberryPiDamit das funktioniert muss Calibre natürlich laufen. Calibre läuft auch auf dem Raspberry Pi und es war sogar eine meiner ersten Ideen überhaupt, es auf meinem Himbeercomputer laufen zu lassen. Das war auch einer der Hauptgründe, dass ich mich auf dem Pi für Arch Linux entschieden habe. Einerseits verwende ich es auch auf meinem PC, vor allem aber war die Version von Calibre in der Standarddistribution Raspbian schon Jahre alt. Bei einer Software, die jeden Freitag aktualisiert wird ist mir das zu alt indecision

Umgesetzt hatte ich das aber bisher nicht. Calibre ist, was eBooks angeht, fast allmächtig und dementsprechend auch ein Schwergewicht auf so einem Rechnerchen wie mein Pi B erster Generation.
Aber letzte Woche hatte ich dringend Bedarf und die Lösung war ganz einfach — man muss sich nur mal ein paar Minuten Zeit nehmen:

"Der RaspberryPi als ePub -> Kindle Gateway" vollständig lesen

Session(s) fürs Barcamp

Für das Flensburger Barcamp hatte ich keine Sessionidee gefunden, aber aus aktuellem Bedarf hat sich da gerade etwas für das Barcamp Kiel ergeben:


Wenn sich das bewährt (und ich sehe noch nicht, warum nicht) könnte das wirklich eine Session werden. Generalprobe evtl. auf dem Campmontag cool?

Und sobald ich telegram-cli auf meinem Himbeercomputer installiert bekomme, kann ich noch ein paar sessiontaugliche Dinge ausprobieren wink

Idee für den Paspberry Pi: CD-Wechsler Ersatz

In meinem neuen Auto war auch ein Autoradio, ein Becker Traffic Pro. Ein älteres aber doch schickes Gerät und passt gut zu dem Wagen.Becker Traffic Pro Davon abgesehen ist die Navigation ein nettes Feature. Bisher hatte ich ein Autoradio von Sony benutzt mit USB-Anschluss in dem ein Stick(chen) steckte mit Musik und ein Bluetooth-Empfänger um Musik vom Smartphone im Auto zu streamen. Dem Becker fehlt der USB-Anschluss komplett und am AUX Anschluss hängt ein CD-Wechsler.

Da ich das Becker Radio wie gesagt behalten möchte kam mir der Gedanke statt dem CD-Wechsler einen Raspberry PiRaspberry Pi anzuschliessen. Und zwar richtig, unauffällig im Hintergrund.

⇒Das Radio kann mit dem CD-Wechsler eh Ordner und Titel anwählen und der Pi müsste unterscheiden können ob über den Bluetooth-Adapter ein Signal reinkommt.
Sprich für das Radio ist der Raspberry ein CD-Wechsler und der Pi spielt im Normalfall die Ordner (≡CDs) und Titel aus dem Musikverzeichnis ab; wenn über den Bluetooth-Adapter aber ein Signal ankommt gibt er dieses Signal weiter.

Ob ein Signal über Bluetooth ankommt sollte sich über den Pegel recht einfach bestimmen lassen, schwieriger ist die Anbindung an das Radio bzw. dessen Steuerung.
Das Anschliessen selbst wäre über den AUX Eingang kein Problem, dann bräuchte man aber eine extra Steuerung für den Pi und auch wenn es in Farbe, Bunt und Touch wäre mag ich dafür kein eigenes Display ins Cockpit kleben. Das muss irgendwie über das Radio gehen cool.Saab 9-3 Cockpit
Die CD-Wechsler Ansteuerung von Becker ist eine Variante von Sonys Unilink Protokoll für das es eine Linux Bibliothek gibt. Und hier hat sich ein Michael schon deutlich näher damit beschäftigt.
Das Ziel ist klar, der Ansatz ist da. Ich fürchte allerdings die konkrete Implementation wird meine Zeitressourcen übersteigen. Aber ich will nicht anfangen meine Autofahr-Musik auf CDs zu brennen und ein Bediendisplay im Cockpit wäre optisch ein Störfaktor und dürfte auch teurer als der Rest werden. Ich muss da mal weiter drauf rumdenken. Hast DU eine Idee?

Raspberry Pi als Flightradar24 Empfangsstation

Mit meinem RaspberryPi und einem DVB-T Stick empfange ich ja Flugzeuge der Umgebung. Das hat letztlich keinen unmittelbaren Nutzen und war für mich letztlich nur zum ausprobieren ob man mit einem DVB-T Stick zum fernsehen wirklich Flugzeuge tracken kann. Aber einen Vorteil hab ich jetzt doch:


Flightradar24 Feed Statistik

Und zwar kann man die ADS-B Signale die man zu der bekannten und wesentlich umfangreicheren Seite Flightradar24 hinzufügen und so deren Überwachungsnetz dichter machen. Als Gegenleistung gibt es den Premiumaccount kostenlos. Die nötige Software kann man sich einfach herunterladen und gibt es sogar schon fertig für Linux und den RaspberryPi compiliert. Starten, registrieren und fertig. Das dump1090 das ich mittlerweile seit Monaten laufen habe liefert die Daten schon im fertigen Format für fr24feed so dass man dieses wirklich nur noch starten muss.

Ich habe nun also einen Premium Account bei Flightradar24. Nicht dass ich den bisher vermisst hätte aber jetzt habe ich ihn und auch einen praktischen Nutzen für meine Luftraumüberwachung tongue

Mein Raspberry Pi überwacht jetzt den Luftraum

Raspberry Pi mit DVB-T Stick

Es funktioniert!

Das Empfangen der ADS-B Transponder von Verkehrsflugzeugen mittels einem einfachen DVB-T Stick und einem Raspberry Pi die ich vor anderthalb Monaten gebloggt hatte funktioniert wirklich wie hier beschrieben (fast) auf Anhieb und präsentiert die gefundenen Daten über einen integrierten Webserver übersichtlich auf einer Karte:

ADS-B Transponder ausgelesen mit DVB-T Stick auf Landkarte

Da mein Rasperry Pi mit Arch Linux läuft das offenbar /usr/local/ standardmässig nicht im libpath hat musste ich das noch kurz anpassen, aber ansonsten ist es wirklich nur zwei git repositories klonen und compilieren. Ach ja, und das Kernelmodul zum fernsehen muss man vorher entladen, aber das ist ja kein Verlust. laugh

Flugzeuge mit dem RaspberryPi tracken

Raspberry Pi

Oh, da hätte ich ja Lust zu: Mit (bestimmten) DVB-T Empfängern kann man das ADS-B Erkennungssignal von Verkehrsflugzeugen empfangen.
Und teuer ist das auch nicht, den Raspberry habe ich schon und einen passenden DVB-T Empfänger gibt es günstig in China.

Wozu? Die Daten sieht man ja eh schon hübsch aufbereitet auf Flightradar24.
Natürlich um deren Datenbasis zu verbreitern! Und ausserdem: weil es geht tongue

Idee für den Raspberry Pi (I) - umgesetzt: Netzwerkdruck mit Steckdosensteuerung

Raspberry Pi mit 443MHz Sender

Lange ist es her, dass ich hier meine erste Idee für die Nutzung des Raspberry Pi beschrieben hatte.
Mittlerweile hab ich die auch umgesetzt und da ich sie letztes Wochenende erst beim Linux Einsteiger Abend und beim Barcamp Westküste mit ein paar Folien vorgestellt hatte muss ich sie ja auch noch hier beschreiben.

Zur Erinnerung: Mein Ziel war es, den Laserdrucker am Raspberry Pi zu betreiben um ihn im Netzwerk zur Verfügung zu haben und der Drucker sollte nicht ständig eingeschaltet sein und Strom verbrauchen, sondern der Raspberry Pi sollte ihn bei Bedarf einschalten und anschliessend wieder abschalten.

Umgesetzt habe ich es indem der Drucker per USB am Pi hängt und dieser per CUPS angesprochen wird. Das ist trivial, CUPS stellt den Drucker im Netzwerk per ipp zur Verfügung und man kann ihn benutzen.
Interessanter ist die Stromgeschichte. Das geschieht über eine Funksteckdose die der Pi über einen 433MHz Sender den es für knapp 2€ im Internetz gibt ansteuert. Ein kleines Script (quick’n‘dirty) guckt minütlich nach ob etwas zu drucken ist, schaltet den Drucker ggf. ein und eine halbe Stunde nach dem letzten Druckjob wieder aus.
Das Script check_printjob.sh sieht folgendermassen aus:

#! /bin/bash

steckdose=0
printjobs=`lpstat -o | wc -l`

if [ “$printjobs” = 0 ] then if test /tmp/druckjobs then if test `find /tmp/druckjobs -cmin +30` then steckdose=0 rm /tmp/druckjobs else steckdose=1 fi fi else if [ “$printjobs” > 0 ] then steckdose=1 touch /tmp/druckjobs fi
fi

#steckdose schalten mit $steckdose
/usr/local/bin/raspberry-remote/send 11100 4 $steckdose >> /dev/null

(die komische Formatierung durch das CSS bekomme ich auch noch in den Griff :O)

Das Script wird wie gesagt minütlich per cron aufgerufen und tut seinen Dienst. So wie das Script aufgebaut ist, wird der Steckdoese auch jede Minute ein Signal geschickt, das halte ich für verschmerzbar und ich war ehrlich gesagt zu faul es anders umzusetzen. So gleiche ich ausserdem verschluckte Signale aus, es gibt dabei ja keinen Handshake 8).
Das Tool zum verschicken der Schaltsignale stammt von wiringpi.com/, die Ansteuerung habe ich gemäss diesem Tutorial aufgebaut.

Die erwähnte kleine Präsentation die ich letzte Woche verwendet habe, habe ich hier als HTML exportiert (Softmaker Presentations macht da leider Grafiken draus) und alternativ als PDF.