Raspberry Pi Audio Player für Blinde
Zur Navigation springen
Zur Suche springen
Hardware
Material
Für den Audioplayer sind als Hardware ein 1B oder Zero völlig ausreichend. Hier ein paar Vorschläge:
- Hauptplatine
- Raspberry Pi Zero W
- keine Klinke
- eingebautes WLAN und BT
- Raspberry Pi 1B
- sehr schlechte Qualität an Klinkeausgang
- Raspberry Pi Zero W
- Audio
- HiFiBerry DAC+ Zero mit 2x Chinch
- passt bei allen Pi mit Standard-GPIO,
- belegt ab Werk ALLE GPIO, das kann aber umgangen werden
- Klinke-Buchse, sofern vorhanden und Qualität ausreichend für die eigenen Bedürfnisse
- Bluetooth, onboard bei Zero W und ab 2B?
- beliebige? USB Soundkarte
- HiFiBerry DAC+ Zero mit 2x Chinch
- Bedienung
- eine Handvoll Taster
- Handy mit beliebiger App, die den MPD steuern kann (Netzwerk notwendig)
- TODO kleines Display
- System
- (Micro-)SD-Karte mindestens 8 GB
- Medienvorrat
- SD remote bestücken (Netzwerk notwendig)
- Online-Quelle (Netzwerk notwendig)
- Auf Auto Mount USB-Stick
- für Raspberry Zero ist ein MicroUSB-Adapter und/oder USB-Hub notwendig
- Wifi und BT
- Kann mittels einfacher USB-Dongles nachgerüstet werden, falls das Modell diese nicht mitbringt
- Stromversorgung
- Original-Netzteil, angeblich "einzig", da geglättete VCC
- Beliebiges 5V USB-Netzteil (Audioqualität vergleichen)
- TODO Lithium Akku
- Waveshare Battery Hat für 14500 Lithium-Akku
- Falls nicht kompatibel mit HiFiBerry kann es auch über USB angeschlossen werden
- Waveshare Battery Hat für 14500 Lithium-Akku
- TODO Gehäuse
Taster
Die GPIO-Pins des Pi sind nicht geschützt. Bei falschem Anschluss ist ruck zuck der Spannungsregler defekt. Dieser kann nicht getauscht werden. Totalschaden. Aus diesem Grund müssen einige Vorsichtsmaßnahmen getroffen werden:
- Wir verwenden grundsätzlich GND als Input für die Buttons
- Wir blockieren alle anderen Anschlüsse durch leere Stecker so, dass nur die gewünschten Anschlüsse verwendet werden können.
- Wir setzen die Pins derart ein, dass der Stecker verkehrtherum aufgesteckt werden kann, ohne Schäden zu verursachen.
Für mich sieht die Lösung so aus:
- HifiBerry verwendet die Pins 12,27,28,35,38 und 40 außerdem benötigt er natürlich Spannungsversorgung.
- Ich habe mühsam die GPIO-Leiste zum Teil abgelötet und die Pins 5 bis 10 sowie 13 und 14 durch eine gewinkelte Leiste ersetzt.
- Darauf kommt ein 2x5 Stecker.
- Wir verwenden nun die beiden äußeren Paare sowie das mittlere Paar für jeweils einen Taster. Auf diese Weise tauschen schlicht zweier Taster ihre Funktion, falls der Stecker falschrum aufgesteckt ist.
- Als GPIO dienen nun also 3,15 und 27
Software
System installieren und einrichten
- Installiere Debian/Raspian auf der SD-Karte.
- Starte mit Monitor, Tastatur und Netzwerk
- Login pi/raspberry
- Ändere das Passwort mit passwd???
- Aktiviere den SSH Server mittels
sudo systemctl enable ssh sudo systemctl start ssh
- Am besten jetzt auch den Wifi-Zugriff einrichten
- Network-Manager installieren
sudo apt install network-manager-gnome
- TODO
- /etc/hostname setzen, anschliessend Reboot?
- Nun kann remote auf die Kiste zugegriffen werden
- NTP einrichten, um die Uhrzeit automatisch einzustellen
/etc/systemd/timesyncd.conf
- Update durchführen
sudo apt update sudo apt upgrade
- Weitere Pakete installieren
- Pakete für MPD
sudo apt install mpd mpc
- Pakete für manuelle Audiosteuerung???
- Pakete für das Pythonscript
sudo apt install git libespeak1 python3-pip
- Weitere Pakete für das Pythonscript, alternativ!! per APT oder per PIP3:
sudo apt install python3-mpd python3-gst-1.0 python3-rpi.gpio pip3 install python3-mpd? python3-gst-1.0? python3-rpi.gpio? ???
- Weitere Pakete mittels PIP3
pip3 install pyttsx3
- Optional Pakete für die Ansteuerung der GPIOs von der Kommandozeile
sudo apt install gpio-utils
MPD einrichten
- Medienverzeichnis
- Audiodevice
Python Skript einrichten
# cd git clone https://github.com/JPT77/RaspberryMediaPlayer.git cd RaspberryMediaPlayer sudo nano playerbuttonmonitor.service # check path to playerbuttonmonitor.py cp playerbuttonmonitor.service /etc/sytemd/system cd /etc/sytemd/system chown root:root playerbuttonmonitor.service ??? sudo systemctl enable playerbuttonmonitor.service sudo systemctl start playerbuttonmonitor.service
Audio einrichten
check your audio volume using alsamixer check your audio device using ... ...
Quellen einrichten
Webradios
- In Playlists "playlist.m3u" anlegen mit den URLs der Webradios.
Lokale Medien
- Dateien in den Musik-Folder legen