Raspi wird zum Internetradio – moodeaudio

Vor ein paar Jahren (2009) hab ich ja darüber berichtet, wie man auf ein Noxon eine werbefreie Firmware bekommt. Und ja, das Radio lief damit wirklich lange und macht es in Teilen immer noch. Leider verliert es seit einiger Zeit gerne mal die Verbindung. Dabei spielt es keine Rolle, ob man über WLAN oder LAN am Netz hängt. Es wird also mal Zeit, über eine Alternative nachzudenken.
Alte Raspis liegen durch die ganzen Konsolidierungen als Docker Container ungenutzt im Regal. Aktuell ist man ja schon bei Version 4 und man will dadurch auch kaum noch V1 der kleinen Minicomputer einsetzen. Alles dauer so fürchterlich lange.
Getestet habe ich aber auf einem V3 und alles damit durchgespielt. Volumio sollte es als erstes sein, hat aber dann recht schnell gegen Moode Audio verloren. Die Funktionen der beiden Platzhirsche im Audio Bereich sind sehr ähnlich. Sogar ein winziges OLED habe ich hinbekommen.

Ich gehe in dieser Anleitung von einer frischen Installation aus: https://moodeaudio.org/

Angeschlossen wird ein OLED . 0.96″ OLED Display I2C IIC TWI 128×64 Punkte Displaytyp: OLED GM009605 Datenblatt .Verwendet wird ein SSD1306 Treiber. Dieses geht nur über ein paar Hacks im System.

ssh pi@moode.local
Passort: moodeaudio

Um den spectrum audio visualizer zu nutzen, brauchen wir cava.

sudo apt-get update
sudo apt-get install libfftw3-dev libasound2-dev
git clone https://github.com/karlstav/cava
cd cava
./autogen.sh
./configure
make
sudo make install

Nun muss in der  /boot/config.txt noch ein Zeile eingetragen werden.

sudo nano /boot/config.txt

....

dtparam=i2c_arm=on

In /etc/modules auch noch das Modul hinzufügen.

sudo nano /etc/modules

....

i2c-dev

Nun wird mpd_oled gebaut.

sudo apt install libi2c-dev i2c-tools lm-sensors
git clone https://github.com/antiprism/mpd_oled
cd mpd_oled

sqlite3 /var/local/www/db/moode-sqlite3.db "DROP TRIGGER ro_columns"

sqlite3 /var/local/www/db/moode-sqlite3.db "UPDATE cfg_hash SET ACTION = 'warning' WHERE PARAM = '/var/www/command/worker.php'"

sqlite3 /var/local/www/db/moode-sqlite3.db "UPDATE cfg_hash SET ACTION = 'warning' WHERE PARAM = '/var/www/inc/playerlib.php'"

sudo cp mpd_oled_fifo.conf /usr/local/etc/
sudo patch -d/ -p0 -N < moode_mpd_fifo.patch

sqlite3 /var/local/www/db/moode-sqlite3.db "update cfg_system set value=1 where param='extmeta'" && mpc add ""

In der Weboberfläche die Zeitzone anpassen timezone at “Moode” / “Configure” / “System” und den Raspi rebooten!

cd mpd_oled

PLAYER=MOODE make

OLED-Display anschließen

OLED PinPin raspiNotes
Vcc1 3.3V
Gnd6Ground
SCL5I2C SCL
SDA3I2C SCA

Prüfen ob es erkannt wird.

i2cdetect -y 1

00: — — — — — — — — — — — — —
10: — — — — — — — — — — — — — — — —
20: — — — — — — — — — — — — — — — —
30: — — — — — — — — — — — — 3c — — —
40: — — — — — — — — — — — — — — — —
50: — — — — — — — — — — — — — — — —
60: — — — — — — — — — — — — — — — —
70: — — — — — — — —

Auf Adresse 3c meldet sich das Display.

sudo ./mpd_oled -o 3 -b 10 -g 1 -f 20

Nun sollte was zu sehen sein.
Nun muss man nur noch die Werte in die Config eintragen.

nano mpd_oled.service
sudo bash install.sh
sudo systemctl start mpd_oled

Was die einzelnen Parameter bedeuten, sieht man mit dem folgenden Befehl.

sudo ./mpd_oled --help 

Sollen die Werte angepasst werden, muss man mit
install.sh die config neu einlesen.

Link zum Github

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.