Den txtr Beagle eReader hatte ich hier schon einmal vorgestellt.

Viele Worte will ich über den kleinen, günstigen (aber leider nicht mehr erhältlichen) Reader nicht mehr verlieren. Er hat seine Höhen und Schwächen – zu letzteren gehört, dass man ihn eigentlich nur über ein Android-Handy/Tablet mit neuen Büchern befüllen kann, welches das Buch aus dem txtr-Store lädt. Habe ich ein eBook, das ich nicht bei txtr gekauft habe, muss ich es erst dort in mein Kundenkonto hochladen, um es dann auf meinem Handy wieder runterzuladen.

Das ist nicht nur sau umständlich, sondern kann einem auch zu Denken geben, wieviel der Reader später mal noch wert ist, sollte es den txtr Store nicht mehr geben oder sich die Betreiber entschließen, dass man keine fremden ePub-Dateien mehr hochladen können soll.

Zum Glück gibt es aber findige Entwickler...

Auf dieser github-Seite befindet sich ein Java-Projekt, um Bücher direkt vom Computer auf den Reader zu übertragen.
Der Komplettheit halber sei noch dieser Fork zu erwähnen, bei dem der Funktionsumfang etwas aufgebohrt wurde.

Auf meiner 10.6er-Maschine lässt sich der Quellcode leider nicht kompilieren. Ich vermute, dass es an Java 1.6 liegt, welches sich bei MacOS X 10.6 nicht mehr updaten lässt...auch wenn laut github-Seite alles für Java 1.5 optimiert sein sollte.

Auf einem neueren System mit Java 8 jdk funktionierte das Kompilieren dagegen reibungsfrei und das resultierende .jar-Applet lief dann sogar auf einem MacOS X 10.6-System.

Hier befinden sich noch fertig kompilierte jar-Applets, mit denen ich allerdings auch wenig Glück hatte.

Java-Applet selbst erstellen

Wir brauchen ein installiertes XCode, ein installiertes Java Development Kit in der Version 7 oder 8, dazu den Quellcode von hier (Button "Download ZIP" rechts auf der Seite).

Die heruntergeladene ZIP-Datei entpacken und die Datei src > de > schierla > jbeagle > BeagleConnector.java im Text-/Code-Editor der Wahl öffnen. Das Applet hatte, so wie heruntergeladen wurde, nämlich nicht korrekt funktioniert und musste noch laut diesem Kommentar geändert werden:

Funktion uploadPage() um das markierte Kommando write("PING"); erweitern:

public void uploadPage(int nr, byte[] compressedImage) throws IOException {
                if (uploadingBook) {
                        String line;
                        write("PAGE " + nr);
                        write(compressedImage);
                        write("PING"); // <---- Hinzufügen
                        if (!"PAGEOK".equals(line = read()))
                                throw new IOException("Invalid response " + line);
                }
        }

Funktionen write() ändern. Neuer Inhalt:

private void write(byte[] binaryData) throws IOException {
        int bs = 8192;
        int tot = binaryData.length;
        int ind = 0;
        while (ind < tot) {
            if (tot-ind >= bs) {
                outputStream.write(binaryData,ind,bs);}
            else
                outputStream.write(binaryData,ind,tot-ind);
            ind +=bs;
            outputStream.flush();
            try {
                Thread.sleep(150);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
        }

private void write(String string) throws IOException {
        output.write(string + "\n");
        output.flush();
        try {
            Thread.sleep(150);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }  

Nun zum Terminal wechseln und kompilieren:

cd jbeagle-master
mvn package

Wenn dieser Vorgang hoffentlich erfolgreich abgeschlossen wurde, sollte sich innerhalb des jbeagle-master-Verzeichnisses ein neuer Ordner target befinden, der das Applet jbeagle-0.1.1-SNAPSHOT-jar-with-dependencies.jar beinhaltet.

Dies ist unser gewünschtes Applet, mit welchem wir den txtr Beagle direkt vom Mac aus verwalten können.

txtr Beagle mit dem Mac koppeln

Damit wir loslegen können, müssen wir den Beagle erstmal mit dem Mac koppeln. Grundvoraussetzung ist, ihn zuerst zurücksetzen – ansonsten akzeptiert er keine Verbindung mit einem neuen Bluetooth-Gerät.

Beagle zurücksetzen

  • Beagle einschalten
  • Beagle in Empfangs-Modus versetzen (Einschalttaste für ein paar Sekunden drücken, bis die LED auf der Vorderseite blau blinkt)
  • Vor- und Zurück-Tasten gleichzeitig drücken und festhalten, bis die Nachfrage erscheint, ob man den Beagle zurücksetzen möchte. Dies bestätigen.

Der Beagle sollte nun für einige Zeit nach neuen Bluetooth-Geräten suchen.

Mit dem Mac verbinden
  • Auf dem Mac in dieser Zeit die Bluetooth-Systemeinstellungen öffnen
  • Mit dem + -Button den Bluetooth-Assistenten öffnen, um nach neuen Geräten zu suchen
  • Beagle sollte in der Liste erscheinen. Auswählen und fortfahren
  • Die Verbindung wird nicht auf Anhieb funktionieren. Als Option auswählen, dass der Standard-Code "0000" mitgegeben werden soll
  • Mac und Beagle sollten nun gekoppelt werden. Öffnet man nun das Java-Applet, sollte links oben im Fenster ein "Done" erscheinen, was so viel bedeutet, dass der Beagle verbunden ist.

Das jBeagle Applet

Das Applet ist recht einfach gehalten. Man sollte es öffnen, sobald der Beagle im Bluetooth-Modus ist (eingeschaltet und Einschalttaste für ein paar Sekunden gedrückt, bis die LED blau blinkt).

Durch Klick auf den Upload-Button kann von der Festplatte ein PDF ausgewählt werden, welches dann auf den Reader übertragen wird.

Im Fenster aufgelistete (auf dem Beagle vorhandene) Bücher können mit dem "Delete"-Button gelöscht werden.

Buch in Form bringen

Nun hat man selten ein Buch als PDF parat. Standard für eBooks ist das .epub-Format, welches ohne Kopierschutz vorliegen sollte.
Zur Verwaltung und Konvertierung empfehle ich die Freeware calibre, welche ebenfalls Java benötigt. Hat man nur Java 1.6 installiert, sollte man zu einer 1.x-Version von calibre greifen.

Über die Konvertieren-Funktion lässt sich das ePub in ein PDF konvertieren.
Die rechts gezeigten PDF-Einstellungen könnten hierbei für den Beagle ganz interessant sein.
 
Ist der Kopiervorgang abgeschlossen, lässt sich die PDF-Datei durch einen Rechts-Klick unter "Formate (des Buches)" auf der Festplatte speichern und danach im jBeagle-Applet zum Reader hochladen.