MP3 Player für Blinde: BReaBox
Durch einen im Alter erblindeten Verwandten ohne Computerkenntnisse kam mir die Idee für ein anderes sinnvolles Bastelprojekt: die „Book Reading Box“. Diese ist gedacht um Hörbücher im MP3 Format zu hören ohne dass dafür auf irgendeine visuelle Rückmeldung geachtet werden muss. Statt dessen werden die Titel der Bücher und die Kapitelnummern angesagt.Zum Einsatz kommt ein Raspberry Pi und eine Soundkarte der Firma Cirrus Logic (ehemals Wolfson) – von der ich aus eigener Erfahrung an dieser Stelle nur dringend abraten kann*.
Da die Soundkarte alle Pins bis auf die SPI Schnittstelle des Raspberry belegt und der Rechner keine analogen Eingänge für den von mir verwendeten Lautstärke Regler besitzt musste ich eine Alternative entwickeln. Ich entschied ich mich für einen Attiny84 der die Taster, den Schalter und den Poti einliest und zyklisch eine serielle Botschaft mit Checksumme an den Raspberry schickt.

Bei einer Änderung des Buchkapitels wird ein Lesezeichen im jeweiligen Buchordner gesetzt. Zudem wird nach einem Neustart das zuletzt gespielte Buch und Kapitel erneut gestartet.
Auf einen 64 GB Stick passen rein rechnerisch bei 1 Stunde Spielzeit pro Tag rund 3 Jahre Hörbücher.Durch leimen der Halterungen in Kombination mit Kabelbindern haben nun sowohl die Zugentlastung für die Stromkabel und Kopfhörerverlängerung als auch die Attiny und Raspberry Platine eine sehr gute Fixierung.Der Schaltplan ist recht übersichtlich, jedoch benötigt das Löten und Anbringen aller Elemente doch relativ viel Zeit.
Die Bedeutung der Bedienelemente ist sehr einfach gehalten:
Nächstes
Buch
Vorheriges
Kapitel
Play
Pause
Shutdown
Nächstes
Kapitel
Vorheriges
Buch
Lautstärke
Regler
Schalter:
Kopfhörer
Lautsprecher
Quellcode
Die Zip Datei Final.zip besteht aus den folgenden für das Projekt wichtigen Dateien:

asoundrc_modified - Diese Datei muß nach dem Starten von Raspbian automatisiert die original Datei überschreiben (Workaround)

BReaBox_main.py - Das Hauptprogramm, was permanent auf dem Raspberry läuft

BReaBox_prepare.py - Dieses Programm wird benötigt, um auf dem Raspberry oder dem Mac die Sounddateien u.a. für die Hörbuchtitel oder die angesagten Kapitelnummern zu generieren (Das klingt dann so: Buchtitel, Kapitelnummer, Shutdown)

BReaBox_starter.sh - Dieses Shellskript startet das Python ..._main.py und eine Shell, die die aktuelle Laufzeit anzeigt

shellwithlogging.sh - Dieses Skript zeigt das freie RAM und die uptime

BReaBox.ino - Dieses Arduino Programm läuft auf dem ATtiny84

Bestellliste
Aus Neugierde heraus habe ich eine Aufstellung der Unkosten ohne Versandkosten und nicht verwendete Teile erstellt.
MengeBest. Nr.BezeichnungPreisSumme
194-701697Raspberry Pi Modell B, 512MB29,9529,95
1RASP WOLF AUDIOAUDIO CARD für Raspberry Pi32,5032,50
194-712 251USB3.0 Stick, 64GB, KINGSTON23,9023,90
194-722928SDHC Speicherkarte, 8GB, Class 104,404,40
194-640 382Deckenlautsprecher, Halogen-Design4,254,25
1 Holz-Koffer mit Metallgriff, Naturholz, 25 x 16 cm, Höhe 9 cm7,987,98
1Mini-Rechteckleiste Buche 1,481,48
1Holzleim original2,402,40
194-351 451Stecker-Schaltnetzteil, 5V-/3A3,953,95
Stereo Verlängerung 3,5mm Klinke1,501,50
594-420 438Kipptaster MTS-212, 2-polig,0,653,25
194-420 178Kippschalter MTS-101, 1-polig,0,600,60
194-240 481Potentiometer, 2,2kΩ, lin, RM5, M70,950,95
194-722 935USB-Stromkabel, Micro-USB/offenes0,950,95
194-450 209Hohlstecker, 5,5/2,1, Schaft 14mm0,240,24
194-451492Buchsenleiste, 1x4, RM2,54, H 8,5mm0,090,09
1GS 14PIC-Sockel, 14-polig, superflach, gedreht, vergold.0,280,28
1Attiny84A-PUAttiny84A-PU1,001,00
Kabel
Lötzinn
Streifenrasterleiterplatte
Schrumpfschäuche
Stiftleiste
Kabelbinder
Schnurschalter
Potiaufsatz
Summe119,67
* = Von den rund 100 Stunden, die dieses Projekt in Anspruch nahm, entfiel rund die Hälfte auf die Suche nach einem obligatorischen, speziell für diese Soundkarte kompiliertem Kernel. Dieser kann nun gute 24 Stunden Hörbuch spielen bevor es zu einem Absturz kommt. Dem entgehen kann man durch einen rechtzeitigen Reboot des Raspbian Betriebssystems.