Raspberry Pi Audio Player für Blinde: Unterschied zwischen den Versionen
JanT (Diskussion | Beiträge) (→Taster) |
JanT (Diskussion | Beiträge) |
||
Zeile 87: | Zeile 87: | ||
* Nun kann remote auf die Kiste zugegriffen werden | * Nun kann remote auf die Kiste zugegriffen werden | ||
* NTP einrichten, um die Uhrzeit automatisch einzustellen | * NTP einrichten, um die Uhrzeit automatisch einzustellen | ||
/etc/systemd/timesyncd.conf | sudo systemctl enable systemd-timesyncd.service | ||
sudo nano /etc/systemd/timesyncd.conf | |||
# Inhalt beispielsweise | |||
[Time] | |||
NTP=0.de.pool.ntp.org 1.de.pool.ntp.org 2.de.pool.ntp.org 3.de.pool.ntp.org | |||
sudo systemctl start systemd-timesyncd.service | |||
# Alternativ... | |||
sudo apt install ntp | |||
* Update durchführen | * Update durchführen |
Version vom 22. März 2021, 18:06 Uhr
Dieser Audioplayer richtet sich an Blinde, speziell ältere Blinde, die den Umgang mit Technik nicht gewohnt sind. Er kann aber auch für eigene Projekte verwendet werden. Zur Zeit planen wir auch ein kleines Display.
Die Daisy-Player die im Handel erhältlich sind, sind nicht nur extrem teuer sondern auch unbedienbar für meine Zielgruppe.
Die Eckpunkte:
- möglichst einfach und unkompliziert
- eher großes Gehäuse und sehr große Tasten
- ohne viel Aufwand mit Inhalt füttern
- erweiterter Zugang für Wartung
Batteriebetrieb oder Bluetooth sind für mich eher zweitrangig, können aber nachgerüstet werden.
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
- Falls in Kombination mit Tastern und HiFiBerry geplant, bitte eine Version ohne GPIO-Leiste kaufen und später nur die genutzten Pins auflöten.
- 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:
- Der 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.
- Falls der Stecker falschherum aufgesteckt ist, passiert nichts anderes als der Tausch zweier Taster.
- Als GPIO für unsere drei Taster dienen nun also 3,15 und 27.
Software
Mein Player basiert auf Rasberry OS (bisher Raspbian). Die aktuelle Version ist ein Debian Buster (10). Das ganze sollte aber auch auf anderen Systemen lauffähig sein.
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
sudo systemctl enable systemd-timesyncd.service sudo nano /etc/systemd/timesyncd.conf
# Inhalt beispielsweise [Time] NTP=0.de.pool.ntp.org 1.de.pool.ntp.org 2.de.pool.ntp.org 3.de.pool.ntp.org
sudo systemctl start systemd-timesyncd.service # Alternativ... sudo apt install ntp
- 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