| FOTO | AUTO | EDV | AUDIO |

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
audio:stream:start [24 39 2026 19 : 39] André Reichert-Creutzaudio:stream:start [02 00 2026 17 : 00] (aktuell) André Reichert-Creutz
Zeile 1: Zeile 1:
-====== Raspberry Pi Musik-Streaming mit DietPi (Spotify + Radio BOB Grunge) ======+====== DietPi Audiophiler Streamer ====== 
 +===== Raspberry Pi 2B HifiBerry DAC — Spotify Connect · Radio Bob · Multiroom =====
  
-Diese Anleitung beschreibt die komplette Einrichtung eines Raspberry Pi als +<WRAP box 100%> 
-Netzwerk-Musikplayer mit:+<WRAP half column> 
 +  * **Spotify:** Raspotify (librespot, armhf) 
 +  * **Webradio:** MPD + myMPD Web-UI 
 +</WRAP> 
 +<WRAP half column> 
 +  * **Multiroom:** Snapcast (Server + Client) 
 +  * **Steuerung:** myMPD als PWA am Handy 
 +</WRAP> 
 +<WRAP clear></WRAP> 
 +</WRAP>
  
-  * DietPi als Betriebssystem +<WRAP important> 
-  Spotify Connect +**Getestet auf:** Raspberry Pi 2B v1.1 + HifiBerry DAC+ → Kenwood HD 1000 · DietPi ARMv7 / **Debian Trixie (13)** · Stand: März 2026 
-  Optimierter interner Soundkarte (ohne DAC+ 
-  Internetradio (Radio BOB inkl. Grunge) +Einige Paketnamen und Installationswege unterscheiden sich von älteren Anleitungen. Alle Befehle auf dieser Seite sind für Trixie verifiziert. 
-  Steuerung per Handy/Webbrowser +</WRAP>
-  Autostart +
-  * Betrieb ohne Monitor+
  
 ---- ----
  
-===== Ziel =====+===== Inhaltsverzeichnis =====
  
-Nach dieser Anleitung hast du: +  - [[#1._vorbereitung_dietpi-installation|Vorbereitung & DietPi-Installation]] 
- +  - [[#2._hifiberry_dac_konfigurieren|HifiBerry DAC konfigurieren]] 
-  * ✓ Spotify direkt auf der Anlage +  - [[#3._spotify_connect_mit_raspotify|Spotify Connect mit Raspotify]] 
-  * ✓ Radio BOB + Grunge +  - [[#4._webradio_mit_mpd|Webradio mit MPD]] 
-  * ✓ Web-Fernbedienung per Handy +  - [[#5._web-ui_mit_mympd_pwa|Web-UI mit myMPD (PWA)]] 
-  * ✓ Optimierten Sound +  - [[#6._multiroom_mit_snapcast|Multiroom mit Snapcast]] 
-  * ✓ Stabilen 24/7-Betrieb +  - [[#7._zusammenspiel_signalfluss|Zusammenspiel & Signalfluss]] 
-  * ✓ Keine Tastatur / kein Monitor nötig+  [[#8._autostart_updates_wartung|Autostart, Updates & Wartung]] 
 +  - [[#9._quick_reference_-_ports_urls|Quick Reference — Ports & URLs]] 
 +  - [[#10._fehlerbehebung|Fehlerbehebung]]
  
 ---- ----
  
-===== Voraussetzungen =====+===== 1. Vorbereitung & DietPi-Installation =====
  
-  * Raspberry Pi 2 oder höher +==== 1.1 Benötigte Hardware ====
-  * microSD-Karte (8 GB+) +
-  * LAN oder WLAN +
-  * Klinke → Cinch-Kabel +
-  * Stereoanlage mit AUX +
-  * Spotify Premium +
-  * PC/Handy für Einrichtung+
  
-----+|< 100% 22% 78% >| 
 +^ Komponente ^ Hinweis ^ 
 +| Raspberry Pi 2B | ARMv7, 1 GB RAM — ausreichend für reine Streaming-Aufgaben | 
 +| HifiBerry DAC+ | DAC+ Standard / DAC+ Pro / DAC2 Pro — alle unterstützt | 
 +| MicroSD-Karte | ≥ 8 GB, Class 10 (empfohlen: 16 GB SanDisk Endurance) | 
 +| Netzwerk | Ethernet empfohlen für Multiroom-Stabilität; WLAN möglich | 
 +| PC/Mac | Zum Flashen des Images und SSH-Zugriff | 
 +| Spotify Premium | Pflicht für Spotify Connect über librespot |
  
-===== 1. DietPi installieren =====+==== 1.DietPi Image herunterladen & flashen ====
  
-==== 1.1 Image herunterladen ====+Das korrekte Image für den Pi 2B ist das **ARM 32-bit (ARMv7 / armhf)** Image von dietpi.com.
  
-Image von dietpi.com für Raspberry Pi 2/3 laden.+<WRAP tip> 
 +**Wichtig beim Image-Download:** Auf der DietPi-Downloadseite unbedingt **ARM 32-bit** wählen — nicht ARMv6 oder ARM 64-bitDer Pi 2B v1.1 hat einen ARMv7-Prozessor und ist nicht 64-Bit-fähig. 
 +</WRAP>
  
-----+  Herunterladen: [[https://dietpi.com/#download|dietpi.com]] → Raspberry Pi → **ARM 32-bit** 
 +  Image mit [[https://www.balena.io/etcher/|Balena Etcher]] auf die SD-Karte flashen 
 +  - SD-Karte nochmals einlegen und vor dem ersten Boot die Datei ''dietpi.txt'' auf der FAT-Partition anpassen:
  
-==== 1.2 SD-Karte beschreiben ====+<code> 
 +# /boot/dietpi.txt — Voreinstellungen für headless-Betrieb: 
 +AUTO_SETUP_GLOBAL_PASSWORD=dein_sicheres_passwort
  
-Mit Raspberry Imager oder BalenaEtcher:+AUTO_SETUP_LOCALE=de_DE.UTF-8 
 +AUTO_SETUP_KEYBOARD_LAYOUT=de 
 +AUTO_SETUP_TIMEZONE=Europe/Berlin
  
-  * Image auswählen +AUTO_SETUP_NET_ETHERNET_ENABLED=1 
-  * SD-Karte beschreiben+AUTO_SETUP_NET_WIFI_ENABLED=0 
 +AUTO_SETUP_NET_USESTATIC=0 
 +AUTO_SETUP_NET_HOSTNAME=stream01 
 +AUTO_SETUP_BOOT_WAIT_FOR_NETWORK=1
  
-----+AUTO_SETUP_SWAPFILE_SIZE=1 
 +AUTO_SETUP_SWAPFILE_LOCATION=/var/swap 
 +AUTO_SETUP_HEADLESS=1
  
-==== 1.3 Erster Start ====+AUTO_SETUP_SSH_SERVER_INDEX=-2 
 +AUTO_SETUP_LOGGING_INDEX=-1 
 +AUTO_SETUP_RAMLOG_MAXSIZE=50
  
-  * SD einlegen +AUTO_SETUP_AUTOSTART_TARGET_INDEX=0 
-  * Strom anschließen +AUTO_SETUP_AUTOSTART_LOGIN_USER=root
-  * 1–2 Minuten warten+
  
-Dann per SSH verbinden:+AUTO_SETUP_AUTOMATED=1 
 + 
 +CONFIG_CPU_GOVERNOR=schedutil 
 +CONFIG_NTP_MODE=2 
 +CONFIG_SOUNDCARD=none 
 +CONFIG_ENABLE_IPV6=1 
 +</code>
  
 <code bash> <code bash>
-ssh root@dietpi+# /boot/dietpi-wifi.txt — nur bei WLAN-Betrieb: 
 +aWIFI_SSID[0]='NetzwerkName' 
 +aWIFI_KEY[0]='WLAN-Passwort'
 </code> </code>
  
-Standard-Passwort:+<WRAP tip> 
 +**Headless-Betrieb:** Mit ''AUTO_SETUP_AUTOMATED=1'' läuft die Erstinstallation vollständig automatisch durch. Kein Monitor nötig — der Pi ist nach ca. 5–10 Minuten per SSH erreichbar. 
 +</WRAP>
  
-<code> +  - SD-Karte einsetzen, Netzteil anschließen, 5–10 Minuten warten 
-dietpi +  - SSH-Verbindung herstellen (IP aus dem Router-Interface ablesen):
-</code>+
  
-Beim ersten Login startet das Setup automatisch.+<code bash> 
 +ssh root@stream01    # oder: ssh root@192.168.x.xxx 
 +# Passwort: dein_sicheres_passwort 
 +</code>
  
 ---- ----
  
-==== 1.4 Grundeinstellungen ====+===== 2HifiBerry DAC konfigurieren =====
  
-Im Setup-Menü:+==== 2.1 HifiBerry-Modell identifizieren ====
  
-  * Sprache / Tastatur +Neuere HifiBerry-Karten melden sich per EEPROM automatisch:
-  * Netzwerk +
-  * Passwort ändern+
  
-Danach Neustart.+<code bash> 
 +cat /proc/device-tree/hat/product 
 +</code>
  
-----+<WRAP tip> 
 +Die Ausgabe erscheint direkt vor dem Prompt ohne Zeilenumbruch, z. B.: ''DAC+root@stream01:~#'' — der Modellname ist der Teil vor ''root''
 +</WRAP>
  
-===== 2. Software installieren =====+|< 100% 25% 35% 40% >| 
 +^ Ausgabe ^ Modell ^ Treiber in dietpi-config ^ 
 +| ''DAC+'' | HifiBerry DAC+ Standard | ''hifiberry-dacplus-std''
 +| ''DAC+ Pro'' | HifiBerry DAC+ Pro | ''hifiberry-dacplus-pro''
 +| ''DAC2 Pro'' | HifiBerry DAC2 Pro | ''hifiberry-dacplus-pro''
 +| Keine Ausgabe | Älteres Modell | Optisch identifizieren |
  
-Software-Menü öffnen:+==== 2.2 Kernel-Overlay aktivieren ==== 
 + 
 +=== Variante ADietPi-Config (empfohlen) ===
  
 <code bash> <code bash>
-dietpi-software+dietpi-config 
 +# → Audio Options → Sound Card 
 +# → Passendes Modell auswählen (z. B. hifiberry-dacplus-std für DAC+) 
 +# → Reboot bestätigen
 </code> </code>
  
-Unter "Software Optimized" auswählen:+=== Variante BManuell in /boot/config.txt ===
  
-  * raspotify +<code ini> 
-  * mpd+# Vorhandene audio-Zeile auskommentieren: 
 +#dtparam=audio=on
  
-Installieren → Reboot+# Je nach DAC-Modell eine der folgenden Zeilen hinzufügen: 
 +dtoverlay=hifiberry-dac          # DAC+ Standard / DAC+ Light 
 +dtoverlay=hifiberry-dacplus      # DAC+ Pro 
 +dtoverlay=hifiberry-dacplus-pro  # DAC2 Pro 
 +</code>
  
-----+==== 2.3 Audio-Ausgabe verifizieren ====
  
-===== 3Spotify Connect prüfen =====+<code bash> 
 +# Nach Reboot: ALSA-Geräte auflisten 
 +aplay -l 
 +# Erwartete Ausgabe: 
 +# card 0: sndrpihifiberry [snd_rpi_hifiberry_dacplus], device 0 ...
  
-Status testen:+# Testton abspielen (Ctrl+C zum Stoppen): 
 +speaker-test -D plughw:0 -c 2 -t sine 
 +</code> 
 + 
 +<WRAP tip> 
 +Falls kein Ton kommt: Lautstärkeregler mit ''alsamixer'' prüfen — nach Installation oft auf 0% oder Mute. Mit den Pfeiltasten hochregeln, ''M'' zum Unmute. 
 +</WRAP> 
 + 
 +==== 2.4 ALSA Default-Device setzen ====
  
 <code bash> <code bash>
-systemctl status raspotify+nano /etc/asound.conf
 </code> </code>
- 
-Sollte anzeigen: 
  
 <code> <code>
-active (running)+pcm.!default { 
 +    type hw 
 +    card 0 
 +    device 0 
 +
 +ctl.!default { 
 +    type hw 
 +    card 0 
 +}
 </code> </code>
  
-Jetzt erscheint der Pi in Spotify.+<WRAP important> 
 +**Audiophiler Hinweis:** ''type hw'' erzwingt direkten Hardware-Zugriff ohne Software-Resampling — bit-perfekte AusgabeDietPi trägt ''device 0'' automatisch ein, was technisch präziser ist und so bleiben kann. 
 +</WRAP> 
 + 
 +==== 2.5 Audio-Einstellungen in dietpi-config ==== 
 + 
 +|< 100% 35% 15% 50% >| 
 +^ Einstellung ^ Wert ^ Begründung ^ 
 +| Sound Card | ''hifiberry-dacplus-std'' | Erkannter Hardware-Treiber | 
 +| Auto-conversion | Off | Erhält bit-perfekte Qualität | 
 +| PSU noise reduction | On | Minimiert elektrische Interferenzen | 
 +| DietPi-JustBoom | — | Ignorieren, nur für JustBoom-Karten |
  
 ---- ----
  
-===== 4Autostart aktivieren =====+===== 3Spotify Connect mit Raspotify =====
  
-Zur Sicherheit:+==== 3.1 Installation über dietpi-software ==== 
 + 
 +<WRAP important> 
 +**Trixie-Hinweis:** Das offizielle Raspotify-Installations-Script schlägt auf Debian Trixie fehl, weil das Paket ''libasound2'' in ''libasound2t64'' umbenannt wurde. Die zuverlässige Methode ist ausschließlich ''dietpi-software''
 +</WRAP>
  
 <code bash> <code bash>
-systemctl enable raspotify +dietpi-software 
-systemctl enable mpd+# → Browse Software → Raspotify (ID 170) 
 +# → Mit Leertaste auswählen → Install
 </code> </code>
  
----- +DietPi erkennt Trixie automatisch und umgeht die Abhängigkeitsprobleme intern.
- +
-===== 5Interne Soundkarte optimieren ===== +
- +
-==== 5.1 PWM-Modus verbessern ====+
  
-Config öffnen:+==== 3.2 Konfiguration ====
  
 <code bash> <code bash>
-nano /boot/config.txt+nano /etc/raspotify/conf
 </code> </code>
  
-Am Ende einfügen:+<code bash> 
 +# ── Gerätename (erscheint in der Spotify-App) ────────────────── 
 +LIBRESPOT_NAME='Office UG'
  
-<code> +# ── Audioqualität ────────────────────────────────────────────── 
-audio_pwm_mode=2 +LIBRESPOT_BITRATE='320' 
-disable_audio_dither=1+ 
 +# ── ALSA-Device explizit auf HifiBerry setzen ────────────────── 
 +LIBRESPOT_BACKEND='alsa' 
 +LIBRESPOT_DEVICE='hw:0,0' 
 + 
 +# ── Audiophile Optionen ──────────────────────────────────────── 
 +LIBRESPOT_VOLUME_NORMALISATION=''   # leer = deaktiviert 
 +LIBRESPOT_DITHERING='none'          # kein Dithering bei 32-Bit-DAC 
 +LIBRESPOT_FORMAT='S32'              # 32-Bit-Output für DAC+ 
 + 
 +# ── Zeroconf-Port fixieren (verhindert random port bei Restart) ─ 
 +LIBRESPOT_ZEROCONF_PORT='44677' 
 + 
 +# ── Device-Typ (erscheint als Icon in Spotify) ───────────────── 
 +LIBRESPOT_DEVICE_TYPE='avr'
 </code> </code>
  
-Neustart:+==== 3.3 Service starten und aktivieren ====
  
 <code bash> <code bash>
-reboot+systemctl restart raspotify 
 +systemctl enable raspotify 
 +systemctl status raspotify      # Sollte 'active (running)' zeigen 
 + 
 +# Log bei Problemen: 
 +journalctl -u raspotify -f
 </code> </code>
 +
 +<WRAP tip>
 +Nach dem Neustart erscheint **Office UG** in der Spotify-App unter Geräte. Falls der alte Name noch erscheint: Spotify-App vollständig schließen und neu öffnen — der Cache aktualisiert sich nach ca. 10 Sekunden.
 +</WRAP>
  
 ---- ----
  
-==== 5.2 Lautstärke einstellen ====+===== 4Webradio mit MPD =====
  
-Mixer starten:+==== 4.1 MPD installieren ====
  
 <code bash> <code bash>
-alsamixer+apt-get install -y mpd mpc
 </code> </code>
  
-  * Headphone → 100 % +Die Abhängigkeitsliste ist auf Trixie sehr lang — einfach mit ''Y'' bestätigen, alle Pakete sind notwendig.
-  * Nicht gemutet+
  
-Speichern:+==== 4.2 MPD konfigurieren ====
  
 <code bash> <code bash>
-alsactl store+nano /etc/mpd.conf
 </code> </code>
  
-----+<code> 
 +# ── Grundeinstellungen ───────────────────────────────────────── 
 +music_directory     "/var/lib/mpd/music" 
 +playlist_directory  "/var/lib/mpd/playlists" 
 +db_file             "/var/lib/mpd/database" 
 +log_file            "/var/log/mpd/mpd.log" 
 +pid_file            "/run/mpd/pid" 
 +state_file          "/var/lib/mpd/state" 
 +user                "mpd" 
 +bind_to_address     "localhost" 
 +port                "6600"
  
-==== 5.3 Audio-Ausgang festlegen ====+# ── Audio-Output: direkt auf HifiBerry ──────────────────────── 
 +audio_output { 
 +    type            "alsa" 
 +    name            "HifiBerry DAC" 
 +    device          "hw:0,0" 
 +    format          "*:*:*" 
 +    mixer_type      "software" 
 +}
  
-<code bash> +# ── Logging ──────────────────────────────────────────────────── 
-dietpi-config+log_level           "default" 
 +auto_update         "no"
 </code> </code>
  
-Menü:+<WRAP important> 
 +**Trixie-Hinweis:** Den Parameter ''sticker_database'' **nicht** eintragen — er wurde in der MPD-Version auf Trixie entfernt und führt zu einem Start-Fehler. 
 +</WRAP>
  
-  * Audio Options +==== 4.3 Datenbankverzeichnis anlegen (Trixie) ====
-  * Force 3.5mm Jack+
  
-OK → Reboot+<WRAP important> 
 +**Trixie-spezifisch:** Das Datenbankverzeichnis existiert nach der Installation nicht automatisch und muss manuell angelegt werden, sonst startet MPD mit einem Fehler. 
 +</WRAP>
  
-----+<code bash> 
 +mkdir -p /var/lib/mpd 
 +chown -R mpd:audio /var/lib/mpd 
 +systemctl restart mpd 
 +systemctl enable mpd 
 +systemctl status mpd    # Sollte 'active (running)' zeigen 
 +</code> 
 + 
 +==== 4.4 Radio Bob Streams einrichten ====
  
-===== 6. Spotify-Gerätenamen ändern =====+Jeder Sender bekommt eine eigene Playlist-Datei — so lassen sie sich in myMPD direkt per Tipp auswählen.
  
 <code bash> <code bash>
-nano /etc/default/raspotify+nano /var/lib/mpd/playlists/BOB-Grunge.m3u 
 +</code> 
 +<code> 
 +#EXTM3U 
 +#EXTINF:-1,Radio BOB! Grunge (Nirvana, Pearl Jam, Soundgarden...) 
 +http://streams.radiobob.de/bob-grunge/mp3-192/mediaplayer
 </code> </code>
  
-Eintragen:+<code bash> 
 +nano /var/lib/mpd/playlists/BOB-ClassicRock.m3u 
 +</code> 
 +<code> 
 +#EXTM3U 
 +#EXTINF:-1,Radio BOB! Classic Rock (60er, 70er & 80er) 
 +http://streams.radiobob.de/bob-classicrock/mp3-192/mediaplayer 
 +</code>
  
 +<code bash>
 +nano /var/lib/mpd/playlists/BOB-BestOfRock.m3u
 +</code>
 <code> <code>
-DEVICE_NAME="Wohnzimmer Anlage"+#EXTM3U 
 +#EXTINF:-1,Radio BOB! Best of Rock (quer durch alle Jahrzehnte) 
 +http://streams.radiobob.de/bob-bestofrock/mp3-192/mediaplayer
 </code> </code>
  
-Dienst neu starten:+<code bash> 
 +nano /var/lib/mpd/playlists/BOB-70erRock.m3u 
 +</code> 
 +<code> 
 +#EXTM3U 
 +#EXTINF:-1,Radio BOB! 70er Rock (Led Zeppelin, Queen, Pink Floyd...) 
 +https://streams.radiobob.de/70errock/mp3-192/streams.radiobob.de/ 
 +</code>
  
 <code bash> <code bash>
-systemctl restart raspotify+# Datenbank aktualisieren und Testlauf: 
 +mpc update 
 +mpc clear 
 +mpc load BOB-Grunge 
 +mpc play 
 +mpc status    # Sollte '[playing]' zeigen
 </code> </code>
 +
 +<WRAP info>
 +Aktuelle Stream-URLs immer unter [[https://www.radiobob.de/radiobob/empfang/livestream|radiobob.de/empfang/livestream]] prüfen. Radio Bob bietet über 60 Streams — weitere Genres lassen sich nach demselben Schema ergänzen.
 +</WRAP>
  
 ---- ----
  
-===== 7Anschluss an die Stereoanlage =====+===== 5Web-UI mit myMPD (PWA) =====
  
-Verbindung:+==== 5.1 Warum myMPD? ====
  
-  Raspberry → Klinke +myMPD ist in C geschrieben, läuft als eigenständiger Webserver ohne Apache/nginx, ist als **Progressive Web App (PWA)** auf dem Smartphone installierbar und benötigt minimale Ressourcen — ideal für den Pi 2B.
-  Klinke → Cinch +
-  Cinch → AUX+
  
-Anlage auf AUX stellen.+|< 100% 30% 70% >| 
 +^ Feature ^ Beschreibung ^ 
 +| PWA | Zum Home-Screen hinzufügbar — wirkt wie eine native App | 
 +| Standalone-Server | Ports 8080/8443, kein Apache/nginx nötig | 
 +| Mobile-optimiert | Responsive Design, Touch-freundlich | 
 +| Ressourcenschonend | Backend in C, kein Node.js / PHP | 
 +| Webradio-Verwaltung | Streams direkt im UI hinzufügen | 
 +| Aktiv gepflegt | Regelmäßige Releases, armhf-Pakete vorhanden |
  
-----+==== 5.2 myMPD installieren (Trixie) ====
  
-===== 8. Radio BOB & Grunge einrichten ===== +<WRAP important> 
-===== 8.1Voraussetzungen & Installation ===== +**Trixie-Hinweis:** Weder das ''bullseye''- noch das ''bookworm''-Repository funktionieren zuverlässig auf TrixieDer GPG-Key-Pfad auf GitHub gibt 404 zurück. Die einzige zuverlässige Methode ist ''dietpi-software''
- +</WRAP>
-Zunächst müssen der Daemon und der Client installiert werden.+
  
 <code bash> <code bash>
-apt update && apt install mpd mpc -y+dietpi-software 
 +# → Browse Software → myMPD (ID 183) 
 +# → Mit Leertaste auswählen → Install
 </code> </code>
  
-===== 8.2Audio-Ausgang konfigurieren (ALSA) =====+DietPi löst alle Abhängigkeiten automatisch aufPakete wie ''libflac14'', ''libid3tag0'' und ''liblua5.4-0'' werden automatisch mitinstalliert — keine manuelle Vorinstallation nötig.
  
-Damit der Analog-Ausgang (Klinke) laut genug ist und nicht rauscht, muss er im Mixer eingestellt werden.+==== 5.3 Service starten ====
  
 <code bash> <code bash>
-alsamixer+systemctl enable mympd 
 +systemctl start mympd 
 +systemctl status mympd    # Sollte 'active (running)' zeigen
 </code> </code>
  
-  - **F6** drücken und Soundkarte wählen (meist ''bcm2835 Headphones''). +myMPD läuft auf folgenden Ports:
-  - **Pfeiltasten** nutzen, um zum Balken ''Headphone'' oder ''PCM'' zu gehen. +
-  - **M** drücken, um Stummschaltung aufzuheben (unten muss ''00'' stehen, nicht ''MM''). +
-  - **Pfeil hoch** drücken, bis Lautstärke auf **100%** (0dB) steht. +
-  - **Esc** drücken zum Beenden.+
  
-Einstellungen dauerhaft speichern+|< 100% 15% 85% >| 
-<code bash+^ Port ^ Verwendung ^ 
-alsactl store+| 8080 | HTTP — funktioniert, aber Browser zeigt „unsicher"
 +| 8443 | HTTPS — empfohlen, einmalig Sicherheitswarnung akzeptieren | 
 + 
 +Aufruf im Browser
 +<code> 
 +https://192.168.x.xxx:8443
 </code> </code>
  
-===== 8.3Playlist erstellen =====+<WRAP tip> 
 +Sicherheitswarnung beim ersten Aufruf einmalig akzeptieren (self-signed Zertifikat)Danach läuft myMPD normalHTTPS auf Port 8443 ist Voraussetzung für die PWA-Installation auf dem Handy. 
 +</WRAP>
  
-Wir erstellen eine Playlist-Datei mit den Streaming-URLs von Radio BOB.+==== 5.4 Erste Einrichtung ====
  
-<code bash> +myMPD verbindet sich nach der Installation via ''dietpi-software'' automatisch mit MPD auf ''localhost:6600'' — kein Setup-Assistent nötig.
-nano /root/radio.m3u +
-</code>+
  
-Fügen Sie folgenden Inhalt ein:+Die **myMPD-Startseite** ist zunächst leer. Schnellzugriff-Icons hinzufügen:
  
-<file radio.m3u> +  Browse → **Playlists** → ''BOB-Grunge'' aufrufen 
-https://streams.radiobob.de/bob-live/mp3-192/mediaplayer +  Kontextmenü (drei Punkte) → **„Zum Startbildschirm hinzufügen"** (''add_to_home_screen'') 
-https://streams.radiobob.de/bob-acdc/mp3-192/mediaplayer +  Dasselbe für ''BOB-ClassicRock'', ''BOB-BestOfRock'', ''BOB-70erRock''
-https://streams.radiobob.de/bob-metal/mp3-192/mediaplayer +
-https://streams.radiobob.de/bob-grunge/mp3-192/mediaplayer +
-</file>+
  
-Speichern mit **Strg+O**, **Enter**, Beenden mit **Strg+X**.+Einen Stream starten:
  
-===== 8.4. Playlist aktivieren (DietPi Pfad-Fix) =====+  Browse → Playlists → gewünschten Sender antippen 
 +  - **„Alle hinzufügen"** → Warteschlange wird gefüllt → **Play**
  
-Standardmäßig sucht MPD unter DietPi die Musikdateien in einem speziellen OrdnerDie Datei muss dorthin verschoben und die Berechtigungen für den User ''mpd'' angepasst werden.+==== 5.5 Als PWA auf dem Smartphone installieren ==== 
 + 
 +=== Android (Chrome / Edge): === 
 +  - ''https://192.168.x.xxx:8443'' im Browser öffnen 
 +  - Sicherheitswarnung einmalig akzeptieren 
 +  - Drei-Punkte-Menü → **„Zum Startbildschirm hinzufügen"** 
 +  - myMPD öffnet sich danach als Vollbild-App ohne Browser-Chrome 
 + 
 +=== iOS (Safari): === 
 +  - ''https://192.168.x.xxx:8443'' in Safari öffnen 
 +  - Teilen-Symbol → **„Zum Home-Bildschirm"** 
 +  - Hinweis: Nur Safari unterstützt PWA-Installation auf iOS 
 + 
 +---- 
 + 
 +===== 6. Multiroom mit Snapcast ===== 
 + 
 +==== 6.1 Konzept ==== 
 + 
 +Snapcast ermöglicht **zeitsynchrone Wiedergabe** auf mehreren Geräten. Der Pi 2B läuft als Server und gleichzeitig als Client. Weitere Räume erhalten einen eigenen Pi als Snapcast-Client. 
 + 
 +|< 100% 50% 50% >| 
 +^ Snapcast Server (dieser Pi 2B) ^ Snapcast Client(s) ^ 
 +| Empfängt Audio von MPD via named pipe | Beliebige weitere Linux-Geräte / Pis im Netzwerk | 
 +| Verteilt den Stream mit Timing-Informationen | Verbinden sich mit dem Server, spielen zeitsynchron ab | 
 + 
 +==== 6.2 Snapcast installieren ====
  
-**Verschieben und Rechte setzen:** 
 <code bash> <code bash>
-mv /root/radio.m3u /mnt/dietpi_userdata/Music/ +apt-get install -y snapserver snapclient
-chown mpd:audio /mnt/dietpi_userdata/Music/radio.m3u+
 </code> </code>
  
-**Datenbank aktualisieren:**+==== 6.3 MPD für Snapcast — Named Pipe anlegen ==== 
 <code bash> <code bash>
-mpc update+# Named Pipe erstellen: 
 +mkfifo /tmp/snapfifo 
 +chown mpd:audio /tmp/snapfifo
 </code> </code>
  
-===== 8.5. Radio steuern =====+FIFO-Output in ''/etc/mpd.conf'' **ergänzen** (zusätzlich zum bestehenden ALSA-Output):
  
-Nun kann die Playlist geladen und abgespielt werden.+<code> 
 +audio_output { 
 +    type            "fifo" 
 +    name            "Snapcast Pipe" 
 +    path            "/tmp/snapfifo" 
 +    format          "48000:16:2" 
 +    mixer_type      "software" 
 +
 +</code> 
 + 
 +==== 6.4 Snapserver konfigurieren ====
  
-**Playlist laden:** 
 <code bash> <code bash>
-mpc clear +nano /etc/snapserver.conf
-mpc load radio +
-mpc play+
 </code> </code>
  
-**Sender wechseln:** +<code ini> 
-Die Playlist enthält 4 Sender (Live, AC/DC, Metal, Grunge).+[stream] 
 +source = pipe:///tmp/snapfifo?name=MPD&sampleformat=48000:16:2&codec=flac
  
-<code bash> +[server] 
-mpc playlist       Zeigt alle verfügbaren Sender an +Web-UI auf Port 1780 (optional, für Lautstärke-Anpassung pro Client)
-mpc play 1         # Startet Sender 1 (Radio BOB Live) +
-mpc play 4         # Startet Sender 4 (Grunge) +
-mpc next           # Nächster Sender +
-mpc prev           # Vorheriger Sender+
 </code> </code>
  
-**Lautstärke regeln:** 
 <code bash> <code bash>
-mpc volume 90      # Setzt Lautstärke auf 90%+systemctl restart snapserver snapclient 
 +systemctl enable snapserver snapclient 
 +systemctl status snapserver
 </code> </code>
  
-====== 9Websteuerung installieren (myMPD) ======+==== 6.5 Snapcast-Clients in weiteren Räumen ====
  
-Anstatt alter Software wie Rompr nutzen wir **myMPD**Es ist leichtgewichtigmobilfreundlich und lässt sich direkt über DietPi installieren, ohne manuell einen Webserver (Apache/Lighttpdkonfigurieren zu müssen.+Auf jedem weiteren Gerät (zB. Raspberry Pi Zero 2 WPi 3/4):
  
-===== 9.1 myMPD installieren =====+<code bash> 
 +apt-get install -y snapclient
  
-Wir nutzen das DietPi-Software-Tool, um myMPD sauber ins System zu integrieren.+nano /etc/default/snapclient 
 +# START_SNAPCLIENT=true 
 +# SNAPCLIENT_OPTS="--host 192.168.x.xxx"   ← IP des Pi 2B (stream01)
  
-<code bash> +systemctl enable snapclient 
-dietpi-software+systemctl start snapclient
 </code> </code>
  
-  - Wähle **"Search"** (oder "Browse Software"). +<WRAP info> 
-  Suche nach **myMPD** (ID **166**)+Snapcast bietet eine eigene Web-UI auf Port **1780** (''http://stream01:1780''zur Anpassung der Client-Lautstärken und Latenz-Delays. myMPD steuert die Wiedergabe selbst — Snapcast übernimmt nur die Verteilung
-  - Wähle es mit der **Leertaste** aus. +</WRAP>
-  Gehe auf **"Install"** und bestätige+
-  - Das System installiert alles Nötige automatisch.+
  
-===== 9.2 Alternative: Minimal-Player (YMPD) =====+----
  
-Wer es extrem puristisch mag, kann statt myMPD auch **YMPD** nutzen. Es verbraucht noch weniger RAM.+===== 7Zusammenspiel & Signalfluss =====
  
-<code bash+==== 7.1 Signalfluss ==== 
-dietpi-software install 125+ 
 +<code> 
 +┌─────────────────────────────────────────────────────────────────┐ 
 +│  Spotify App (Smartphone / PC)                                  │ 
 +│      └─→ Raspotify (librespot) ──→ ALSA hw:0,                │ 
 +│                                       └─→ HifiBerry DAC+        │ 
 +│                                               └─→ Kenwood HD 1000│ 
 +├─────────────────────────────────────────────────────────────────┤ 
 +│  myMPD Web-UI (Browser / PWA)                                   │ 
 +│      └─→ MPD ──→ ALSA hw:0,0 ──→ HifiBerry DAC+ → Kenwood      │ 
 +│               └─→ FIFO /tmp/snapfifo                            │ 
 +│                       └─→ Snapcast Server                       │ 
 +│                               └─→ Snapcast Client(s) → Räume   │ 
 +└─────────────────────────────────────────────────────────────────┘
 </code> </code>
-//(ID 125 ist YMPD in DietPi)// 
  
-====== 10Steuerung per Handy / Browser ======+==== 7.2 ALSA-Konflikt zwischen Raspotify und MPD ====
  
-===== 10.1 IP-Adresse =====+<WRAP alert> 
 +**Wichtig:** Raspotify und MPD können **nicht gleichzeitig** auf ''hw:0,0'' zugreifenWenn Spotify aktiv ist, muss MPD gestoppt sein — und umgekehrt. Für audiophilen Betrieb ist das die saubere Lösung: immer nur eine Quelle aktiv. 
 +</WRAP>
  
-Die IP-Adresse des Raspberry Pi wurde festgelegt auf: +==== 7.3 Optionale dmix-Lösung (Klangkompromiss) ====
-**192.168.178.60**+
  
-===== 10.2 Weboberfläche öffnen =====+Falls gleichzeitiger Zugriff dennoch gewünscht ist, kann ALSA-dmix als Software-Mixer dienenFür audiophile Ansprüche **nicht empfohlen**, da Software-Resampling eingeführt wird:
  
-Öffne auf deinem Handy oder PC den Browser und gib die Adresse ein.+<code> 
 +# /etc/asound.conf (dmix-Variante — nur falls unbedingt nötig): 
 +pcm.dmixed { 
 +    type dmix 
 +    ipc_key 1024 
 +    slave { 
 +        pcm "hw:0,0" 
 +        rate 48000 
 +        format S32_LE 
 +        period_size 1024 
 +        buffer_size 8192 
 +    } 
 +
 +pcm.!default { 
 +    type plug 
 +    slave.pcm dmixed 
 +
 +</code>
  
-  * **Für myMPD (Standard):** +==== 7.4 Wechsel zwischen Spotify und Webradio ====
-    [[http://192.168.178.60]] +
-    //Hinweis: Evtl. kommt eine SSL-Warnung ("Dies ist keine sichere Verbindung"). Klicke auf "Erweitert" -> "Weiter zu 192.168.178.60 (unsicher)".//+
  
-  * **Für YMPD (Alternative):** +=== Von Spotify → Webradio (myMPD): === 
-    [[http://192.168.178.60:8080]]+  - In der Spotify-App die Wiedergabe **pausieren** 
 +  - Ca3–5 Sekunden warten bis Raspotify den DAC freigibt 
 +  - In myMPD den gewünschten Stream starten
  
-Jetzt hast du eine vollwertige Fernbedienung für deine Radio-Sender.+<code bash> 
 +# Falls myMPD den DAC nicht bekommt — Raspotify manuell stoppen: 
 +systemctl stop raspotify 
 +mpc clear 
 +mpc load BOB-Grunge 
 +mpc play 
 +# Raspotify danach wieder starten (wartet still im Hintergrund): 
 +systemctl start raspotify 
 +</code>
  
-====== 11. Radio-BOB-Grunge-Taste (Schnellzugriff) ======+=== Von Webradio (myMPD) → Spotify: === 
 +  In myMPD auf **Stop** drücken (nicht nur Pause!) 
 +  In der Spotify-App auf „Office UG" als Ausgabegerät tippen 
 +  - Wiedergabe starten
  
-Wir erstellen ein Skript, das per Befehl sofort den "Grunge"-Stream startet, ohne dass man erst die App öffnen muss.+<code bash> 
 +# Falls Spotify den DAC nicht bekommt — MPD manuell stoppen: 
 +mpc stop 
 +# Spotify-App neu verbinden 
 +</code>
  
-===== 11.1 Script anlegen =====+<WRAP tip> 
 +**Faustregel: Stop statt Pause.** ''mpc pause'' hält den Stream an, gibt ''hw:0,0'' aber **nicht** frei. Nur ''mpc stop'' gibt den DAC vollständig frei. Dasselbe gilt für Spotify: Pause hält die ALSA-Verbindung offen. 
 +</WRAP> 
 + 
 +---- 
 + 
 +===== 8Autostart, Updates & Wartung ===== 
 + 
 +==== 8.1 Alle Services auf Autostart setzen ====
  
 <code bash> <code bash>
-nano /usr/local/bin/grunge.sh+systemctl enable raspotify mpd mympd 
 + 
 +# Bei installiertem Snapcast zusätzlich: 
 +systemctl enable snapserver snapclient 
 + 
 +# Gesamtüberblick aller Service-Status: 
 +systemctl status raspotify mpd mympd
 </code> </code>
  
-Füge folgenden Inhalt ein:+==== 8.2 Statische IP vergeben ====
  
 <code bash> <code bash>
-#!/bin/bash +Über DietPi-Config (empfohlen): 
-Playlist leeren +dietpi-config 
-mpc clear +→ Network Options → Adapters → Ethernet → Static 
-Die Playlist "radio" laden (ohne .m3u Endung!) + 
-mpc load radio +Oder manuell /etc/network/interfaces: 
-# Den 4Sender in der Liste (Grunge) abspielen +auto eth0 
-mpc play 4 +iface eth0 inet static 
-# Optional: Lautstärke auf 80% setzen +    address 192.168.1.100 
-mpc volume 80+    netmask 255.255.255.0 
 +    gateway 192.168.1.1 
 +    dns-nameservers 192.168.1.1 8.8.8.8
 </code> </code>
  
-Speichern mit **Strg+O**, **Enter**, Beenden mit **Strg+X**.+==== 8.3 Updates einspielen ====
  
-===== 11.2 Script ausführbar machen =====+<code bash> 
 +# DietPi-eigenes Update-System: 
 +dietpi-update
  
-Damit Linux das Skript als Programm erkennt:+# System-Pakete (MPD, Snapcast): 
 +apt-get update && apt-get upgrade -y
  
-<code bash> +# Raspotify und myMPD wurden über dietpi-software installiert: 
-chmod +x /usr/local/bin/grunge.sh+dietpi-software reinstall 170    # Raspotify 
 +dietpi-software reinstall 183    # myMPD
 </code> </code>
  
-===== 11.3 Grunge starten =====+<WRAP tip> 
 +Die Konfigurationsdateien bleiben bei ''dietpi-software reinstall'' erhalten — ''/etc/raspotify/conf'' und die MPD-Playlists werden nicht überschrieben. 
 +</WRAP>
  
-Egal wo du im Terminal bist, du kannst jetzt einfach tippen:+==== 8.4 Nützliche Diagnosebefehle ====
  
 <code bash> <code bash>
-grunge.sh+# Lautstärkeregler prüfen und anpassen: 
 +alsamixer 
 + 
 +# ALSA-Gerätebelegung prüfen (wer blockiert hw:0,0?): 
 +fuser /dev/snd/
 + 
 +# MPD-Logs live verfolgen: 
 +tail -f /var/log/mpd/mpd.log 
 + 
 +# Snapcast-Verbindungen prüfen: 
 +journalctl -u snapserver -f 
 + 
 +# Aktuell spielenden Titel anzeigen: 
 +mpc current 
 + 
 +# Systemressourcen (CPU/RAM) des Pi 2B: 
 +htop
 </code> </code>
  
-Das Radio stoppt das aktuelle Programm und wechselt sofort zu Radio BOB Grunge. +----
-Dieses Skript kann auch in Hausautomatisierungen (z. B. Home Assistant) oder auf Hardware-Taster am Gehäuse gelegt werden.+
  
 +===== 9. Quick Reference — Ports & URLs =====
  
-===== 12Erweiterte Klangoptimierung (optional=====+|< 100% 30% 15% 55% >| 
 +^ Service ^ Port ^ URL / Zweck ^ 
 +| **myMPD Web-UI (HTTPS)** | 8443 | ''%%https://192.168.x.xxx:8443%%'' — Hauptsteuerung, PWA | 
 +| **myMPD Web-UI (HTTP)** | 8080 | ''%%http://192.168.x.xxx:8080%%'' — alternativ, kein PWA | 
 +| **Snapcast Web-UI** | 1780 | ''%%http://stream01:1780%%'' — Multiroom-Pegel | 
 +| MPD | 6600 | localhost only — via myMPD oder ''mpc''
 +| Raspotify (Zeroconf) | 44677 | Spotify-Connect-Discovery (intern
 +| SSH | 22 | ''ssh root@stream01'' |
  
-==== Software-Mixer deaktivieren ====+---- 
 + 
 +===== 10. Fehlerbehebung ===== 
 + 
 +==== Spotify Connect-Gerät erscheint nicht ====
  
 <code bash> <code bash>
-nano /etc/asound.conf+systemctl status raspotify 
 +journalctl -u raspotify -n 50 
 + 
 +# Zeroconf mDNS sicherstellen: 
 +apt-get install -y avahi-daemon 
 +systemctl enable avahi-daemon && systemctl start avahi-daemon
 </code> </code>
  
-Einfügen:+==== Kein Ton / ALSA-Fehler ====
  
-<code> +<code bash
-pcm.!default { +# Lautstärke prüfen (oft nach Installation auf 0 oder Mute): 
-  type hw +alsamixer 
-  card 0 + 
-} +# Wer blockiert den DAC? 
-ctl.!default { +fuser /dev/snd/* 
-  type hw + 
-  card +# ALSA-Konfiguration direkt testen: 
-}+aplay -D hw:0,0 /usr/share/sounds/alsa/Front_Center.wav 
 + 
 +# HifiBerry-Overlay aktiv? 
 +dtoverlay -l
 </code> </code>
  
-Neustart:+==== MPD startet nicht — exit-code Fehler ====
  
 <code bash> <code bash>
-reboot +# Detaillierte Fehlerausgabe: 
-</code>+journalctl -xeu mpd.service
  
-----+# Häufigste Ursache auf Trixie: sticker_database noch in mpd.conf 
 +# → Zeile entfernen: 
 +nano /etc/mpd.conf 
 +# sticker_database    "/var/lib/mpd/sticker.sql"  ← diese Zeile löschen
  
-===== 13. Dauerbetrieb optimieren =====+# Zweithäufigste Ursache: Datenbankverzeichnis fehlt 
 +mkdir -p /var/lib/mpd 
 +chown -R mpd:audio /var/lib/mpd
  
-<code bash> +systemctl restart mpd
-nano /boot/config.txt+
 </code> </code>
  
-Hinzufügen:+==== MPD startet nicht — Berechtigungsfehler ====
  
-<code> +<code bash
-avoid_warnings=1 +chown -R mpd:audio /var/lib/mpd 
-disable_splash=1+chmod 750 /var/lib/mpd 
 + 
 +# Named Pipe neu anlegen (falls Snapcast genutzt wird): 
 +rm -f /tmp/snapfifo 
 +mkfifo /tmp/snapfifo 
 +chown mpd:audio /tmp/snapfifo 
 + 
 +systemctl restart mpd
 </code> </code>
  
-Neustart:+==== Radio Bob streamt nicht ====
  
 <code bash> <code bash>
-reboot+# Stream-URL direkt testen: 
 +mpc clear 
 +mpc add http://streams.radiobob.de/bob-grunge/mp3-192/mediaplayer 
 +mpc play 
 +mpc status 
 + 
 +# Internetverbindung prüfen: 
 +ping radiobob.de -c 4
 </code> </code>
  
-----+<WRAP info> 
 +Aktuelle Stream-URLs immer unter [[https://www.radiobob.de/radiobob/empfang/livestream|radiobob.de/empfang/livestream]] prüfen. 
 +</WRAP>
  
-===== 14. Bedienung im Alltag =====+==== myMPD nicht erreichbar ====
  
-==== Spotify ====+<code bash> 
 +# Auf welchem Port läuft myMPD? 
 +ss -tlnp | grep mympd 
 +# → Ausgabe zeigt Port 8080 (HTTP) und 8443 (HTTPS)
  
-  * Spotify-App öffnen +# Aufruf im Browser: 
-  * Gerät auswählen +# https://192.168.x.xxx:8443   (empfohlen, für PWA) 
-  * Musik starten+# http://192.168.x.xxx:8080    (alternativ)
  
-----+systemctl status mympd 
 +journalctl -u mympd -n 50 
 +</code>
  
-==== Radio ====+==== Warteschlange leer / kein Stream startet ====
  
-Per Weboberfläche oder:+In myMPD muss die Playlist erst in die Warteschlange geladen werden: 
 + 
 +  - Browse → Playlists → Stream antippen → **„Alle hinzufügen"** 
 +  - Dann **Play** drücken 
 + 
 +Oder per Kommandozeile:
  
 <code bash> <code bash>
 +mpc clear
 +mpc load BOB-Grunge
 mpc play mpc play
-mpc stop 
-mpc next 
-mpc volume +5 
-mpc volume -5 
 </code> </code>
  
----- +==== Raspotify oder myMPD Update nach Trixie-Upgrade ====
- +
-==== Schnellstart Grunge ====+
  
 <code bash> <code bash>
-grunge.sh+# Nach einem System-Upgrade neu installieren: 
 +dietpi-software reinstall 170    # Raspotify 
 +dietpi-software reinstall 183    # myMPD 
 + 
 +# Konfiguration prüfen: 
 +cat /etc/raspotify/conf 
 +ls /var/lib/mpd/playlists/
 </code> </code>
  
 ---- ----
  
-===== Ergebnis =====+<WRAP box round center 80%> 
 +**Weiterführende Links**\\ 
 +[[https://dietpi.com/forum/|DietPi Forum]] | [[https://github.com/dtcooper/raspotify|Raspotify auf GitHub]] | [[https://jcorporation.github.io/myMPD/|myMPD Dokumentation]] | [[https://github.com/badaix/snapcast|Snapcast auf GitHub]] | [[https://www.radiobob.de/radiobob/empfang/livestream|Radio Bob Streams]] 
 +</WRAP>
  
-Nach dieser Anleitung hast du: +---- 
- +//Getestet auf: Raspberry Pi 2B v1.1 + HifiBerry DAC+ → Kenwood HD 1000 · DietPi ARMv7 / Debian Trixie (13) · Stand: März 2026//
-  * Spotify Connect +
-  * Radio BOB + Grunge +
-  * Handy-Steuerung +
-  * Optimierten Sound +
-  * Autostart +
-  * Headless-Betrieb +
-  * Stabilen Dauerbetrieb +
- +
-Deine Stereoanlage ist jetzt ein moderner Netzwerkplayer.+