| 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 [01 23 2026 19 : 23] – [Radio Bob streamt nicht] André Reichert-Creutzaudio:stream:start [02 00 2026 17 : 00] (aktuell) André Reichert-Creutz
Zeile 12: Zeile 12:
 </WRAP> </WRAP>
 <WRAP clear></WRAP> <WRAP clear></WRAP>
 +</WRAP>
 +
 +<WRAP important>
 +**Getestet auf:** Raspberry Pi 2B v1.1 + HifiBerry DAC+ → Kenwood HD 1000 · DietPi ARMv7 / **Debian Trixie (13)** · Stand: März 2026
 +
 +Einige Paketnamen und Installationswege unterscheiden sich von älteren Anleitungen. Alle Befehle auf dieser Seite sind für Trixie verifiziert.
 </WRAP> </WRAP>
  
Zeile 46: Zeile 52:
 ==== 1.2 DietPi Image herunterladen & flashen ==== ==== 1.2 DietPi Image herunterladen & flashen ====
  
-Das korrekte Image für den Pi 2B ist **''DietPi_RPi-ARMv7-Bullseye.img.xz''** (32-Bit, armhf).+Das korrekte Image für den Pi 2B ist das **ARM 32-bit (ARMv7 / armhf)** Image von dietpi.com. 
 + 
 +<WRAP tip> 
 +**Wichtig beim Image-Download:** Auf der DietPi-Downloadseite unbedingt **ARM 32-bit** wählen — nicht ARMv6 oder ARM 64-bit. Der 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**   - 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   - Image mit [[https://www.balena.io/etcher/|Balena Etcher]] auf die SD-Karte flashen
-  - SD-Karte nochmals einlegen und die Dateien im FAT-Bereich anpassen (vor dem ersten Boot):+  - SD-Karte nochmals einlegen und vor dem ersten Boot die Datei ''dietpi.txt'' auf der FAT-Partition anpassen:
  
-<code bash>+<code>
 # /boot/dietpi.txt — Voreinstellungen für headless-Betrieb: # /boot/dietpi.txt — Voreinstellungen für headless-Betrieb:
 +AUTO_SETUP_GLOBAL_PASSWORD=dein_sicheres_passwort
 +
 AUTO_SETUP_LOCALE=de_DE.UTF-8 AUTO_SETUP_LOCALE=de_DE.UTF-8
 +AUTO_SETUP_KEYBOARD_LAYOUT=de
 AUTO_SETUP_TIMEZONE=Europe/Berlin AUTO_SETUP_TIMEZONE=Europe/Berlin
 +
 AUTO_SETUP_NET_ETHERNET_ENABLED=1 AUTO_SETUP_NET_ETHERNET_ENABLED=1
-AUTO_SETUP_NET_WIFI_ENABLED=0       # auf setzen falls WLAN gewünscht +AUTO_SETUP_NET_WIFI_ENABLED=0 
-AUTO_SETUP_SSH_SERVER_INDEX=-2      # OpenSSH (empfohlen)+AUTO_SETUP_NET_USESTATIC=0 
 +AUTO_SETUP_NET_HOSTNAME=stream01 
 +AUTO_SETUP_BOOT_WAIT_FOR_NETWORK=1 
 + 
 +AUTO_SETUP_SWAPFILE_SIZE=
 +AUTO_SETUP_SWAPFILE_LOCATION=/var/swap
 AUTO_SETUP_HEADLESS=1 AUTO_SETUP_HEADLESS=1
 +
 +AUTO_SETUP_SSH_SERVER_INDEX=-2
 +AUTO_SETUP_LOGGING_INDEX=-1
 +AUTO_SETUP_RAMLOG_MAXSIZE=50
 +
 +AUTO_SETUP_AUTOSTART_TARGET_INDEX=0
 +AUTO_SETUP_AUTOSTART_LOGIN_USER=root
 +
 AUTO_SETUP_AUTOMATED=1 AUTO_SETUP_AUTOMATED=1
-AUTO_SETUP_GLOBAL_PASSWORD=dein_sicheres_passwort+ 
 +CONFIG_CPU_GOVERNOR=schedutil 
 +CONFIG_NTP_MODE=2 
 +CONFIG_SOUNDCARD=none 
 +CONFIG_ENABLE_IPV6=1
 </code> </code>
  
Zeile 71: Zeile 102:
  
 <WRAP tip> <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 3–5 Minuten per SSH erreichbar.+**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> </WRAP>
  
-  - SD-Karte einsetzen, Netzteil anschließen, 3–5 Minuten warten+  - SD-Karte einsetzen, Netzteil anschließen, 5–10 Minuten warten
   - SSH-Verbindung herstellen (IP aus dem Router-Interface ablesen):   - SSH-Verbindung herstellen (IP aus dem Router-Interface ablesen):
  
 <code bash> <code bash>
-ssh root@192.168.x.xxx    # Passwort: dein_sicheres_passwort+ssh root@stream01    # oder: ssh root@192.168.x.xxx 
 +# Passwort: dein_sicheres_passwort
 </code> </code>
  
Zeile 85: Zeile 117:
 ===== 2. HifiBerry DAC konfigurieren ===== ===== 2. HifiBerry DAC konfigurieren =====
  
-==== 2.1 Kernel-Overlay aktivieren ====+==== 2.1 HifiBerry-Modell identifizieren ==== 
 + 
 +Neuere HifiBerry-Karten melden sich per EEPROM automatisch: 
 + 
 +<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> 
 + 
 +|< 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 | 
 + 
 +==== 2.2 Kernel-Overlay aktivieren ====
  
 === Variante A: DietPi-Config (empfohlen) === === Variante A: DietPi-Config (empfohlen) ===
Zeile 91: Zeile 142:
 <code bash> <code bash>
 dietpi-config dietpi-config
-# → Audio Options → Sound Card → hifiberry-dacplus auswählen+# → Audio Options → Sound Card 
 +→ Passendes Modell auswählen (z. B. hifiberry-dacplus-std für DAC+)
 # → Reboot bestätigen # → Reboot bestätigen
 </code> </code>
Zeile 107: Zeile 159:
 </code> </code>
  
-==== 2.Audio-Ausgabe verifizieren ====+==== 2.Audio-Ausgabe verifizieren ====
  
 <code bash> <code bash>
 # Nach Reboot: ALSA-Geräte auflisten # Nach Reboot: ALSA-Geräte auflisten
 aplay -l aplay -l
- +# Erwartete Ausgabe: 
-# Erwartete Ausgabe (Beispiel DAC+ Pro)+# card 0: sndrpihifiberry [snd_rpi_hifiberry_dacplus], device 0 ...
-# card 0: sndrpihifiberry [snd_rpi_hifiberry_dacplus], ... +
-#   Subdevice #0: subdevice #0+
  
 # Testton abspielen (Ctrl+C zum Stoppen): # Testton abspielen (Ctrl+C zum Stoppen):
Zeile 121: Zeile 171:
 </code> </code>
  
-==== 2.ALSA Default-Device setzen ====+<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.ALSA Default-Device setzen ====
  
 <code bash> <code bash>
Zeile 131: Zeile 185:
     type hw     type hw
     card 0     card 0
 +    device 0
 } }
 ctl.!default { ctl.!default {
Zeile 139: Zeile 194:
  
 <WRAP important> <WRAP important>
-**Audiophiler Hinweis:** ''type hw'' statt ''type plughw'' erzwingt direkten Hardware-Zugriff ohne Software-Resampling. Optimal für den Kenwood HD 1000setzt aber voraus dass alle Anwendungen das native DAC-Format unterstützen (44100/48000 Hz, S32_LE) — was Raspotify und MPD beide problemlos tun.+**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> </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 |
  
 ---- ----
Zeile 146: Zeile 210:
 ===== 3. Spotify Connect mit Raspotify ===== ===== 3. Spotify Connect mit Raspotify =====
  
-==== 3.1 Installation ====+==== 3.1 Installation über dietpi-software ====
  
-Raspotify verpackt **librespot** als systemd-Service mit nativem armhf-Binary für den Pi 2B.+<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>
-Einzeiliges Installations-Script (fügt das Raspotify-APT-Repo hinzu): +dietpi-software 
-sudo apt-get -y install curl && \ +→ Browse Software → Raspotify (ID 170
-  curl -sL https://dtcooper.github.io/raspotify/install.sh | sh+# → Mit Leertaste auswählen → Install
 </code> </code>
  
-<WRAP info> +DietPi erkennt Trixie automatisch und umgeht die Abhängigkeitsprobleme intern.
-Das Script fügt automatisch das signierte Raspotify-Repository ein und installiert das aktuellste armhf-PaketARMv7 (Pi 2B) ist vollständig kompatibel. +
-</WRAP>+
  
 ==== 3.2 Konfiguration ==== ==== 3.2 Konfiguration ====
Zeile 168: Zeile 232:
 <code bash> <code bash>
 # ── Gerätename (erscheint in der Spotify-App) ────────────────── # ── Gerätename (erscheint in der Spotify-App) ──────────────────
-LIBRESPOT_NAME='HifiBerry-Streamer'+LIBRESPOT_NAME='Office UG'
  
 # ── Audioqualität ────────────────────────────────────────────── # ── Audioqualität ──────────────────────────────────────────────
Zeile 180: Zeile 244:
 LIBRESPOT_VOLUME_NORMALISATION=''   # leer = deaktiviert LIBRESPOT_VOLUME_NORMALISATION=''   # leer = deaktiviert
 LIBRESPOT_DITHERING='none'          # kein Dithering bei 32-Bit-DAC LIBRESPOT_DITHERING='none'          # kein Dithering bei 32-Bit-DAC
-LIBRESPOT_FORMAT='S32'              # 32-Bit-Output für DAC+ Pro+LIBRESPOT_FORMAT='S32'              # 32-Bit-Output für DAC+
  
 # ── Zeroconf-Port fixieren (verhindert random port bei Restart) ─ # ── Zeroconf-Port fixieren (verhindert random port bei Restart) ─
Zeile 201: Zeile 265:
  
 <WRAP tip> <WRAP tip>
-Nach dem Neustart erscheint **HifiBerry-Streamer** in der Spotify-App unter Geräte. Wiedergabe starten — fertig. Die Lautstärke wird über die Spotify-App oder die Hifi-Anlage direkt geregelt.+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> </WRAP>
  
Zeile 213: Zeile 277:
 apt-get install -y mpd mpc apt-get install -y mpd mpc
 </code> </code>
 +
 +Die Abhängigkeitsliste ist auf Trixie sehr lang — einfach mit ''Y'' bestätigen, alle Pakete sind notwendig.
  
 ==== 4.2 MPD konfigurieren ==== ==== 4.2 MPD konfigurieren ====
Zeile 228: Zeile 294:
 pid_file            "/run/mpd/pid" pid_file            "/run/mpd/pid"
 state_file          "/var/lib/mpd/state" state_file          "/var/lib/mpd/state"
-sticker_database    "/var/lib/mpd/sticker.sql" 
 user                "mpd" user                "mpd"
 bind_to_address     "localhost" bind_to_address     "localhost"
Zeile 246: Zeile 311:
 auto_update         "no" auto_update         "no"
 </code> </code>
 +
 +<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>
 +
 +==== 4.3 Datenbankverzeichnis anlegen (Trixie) ====
 +
 +<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> <code bash>
 +mkdir -p /var/lib/mpd
 +chown -R mpd:audio /var/lib/mpd
 systemctl restart mpd systemctl restart mpd
 systemctl enable mpd systemctl enable mpd
 +systemctl status mpd    # Sollte 'active (running)' zeigen
 </code> </code>
  
-==== 4.Radio Bob als Stream einrichten ====+==== 4.Radio Bob Streams einrichten ==== 
 + 
 +Jeder Sender bekommt eine eigene Playlist-Datei — so lassen sie sich in myMPD direkt per Tipp auswählen.
  
 <code bash> <code bash>
-# Playlist-Verzeichnis ist bereits vorhanden, Playlist anlegen: +nano /var/lib/mpd/playlists/BOB-Grunge.m3u 
-nano /var/lib/mpd/playlists/RadioBob.m3u+</code> 
 +<code> 
 +#EXTM3U 
 +#EXTINF:-1,Radio BOB! Grunge (Nirvana, Pearl Jam, Soundgarden...) 
 +http://streams.radiobob.de/bob-grunge/mp3-192/mediaplayer
 </code> </code>
  
 +<code bash>
 +nano /var/lib/mpd/playlists/BOB-ClassicRock.m3u
 +</code>
 <code> <code>
 #EXTM3U #EXTM3U
-#EXTINF:-1,Radio BOB! (MP3 192k – empfohlen+#EXTINF:-1,Radio BOB! Classic Rock (60er, 70er & 80er
-https://stream.radiobob.de/bob-live/mp3-192/direkteinstieg +http://streams.radiobob.de/bob-classicrock/mp3-192/mediaplayer 
-#EXTINF:-1,Radio BOB! (AAC 128k – Fallback+</code> 
-https://stream.radiobob.de/bob-live/aac-128/direkteinstieg+ 
 +<code bash> 
 +nano /var/lib/mpd/playlists/BOB-BestOfRock.m3u 
 +</code> 
 +<code> 
 +#EXTM3U 
 +#EXTINF:-1,Radio BOB! Best of Rock (quer durch alle Jahrzehnte
 +http://streams.radiobob.de/bob-bestofrock/mp3-192/mediaplayer 
 +</code> 
 + 
 +<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>
  
Zeile 270: Zeile 373:
 # Datenbank aktualisieren und Testlauf: # Datenbank aktualisieren und Testlauf:
 mpc update mpc update
-mpc load RadioBob+mpc clear 
 +mpc load BOB-Grunge
 mpc play mpc play
- +mpc status    # Sollte '[playing]' zeigen
-# Status prüfen: +
-mpc status +
-mpc current+
 </code> </code>
  
 <WRAP info> <WRAP info>
-Die Stream-URLs können sich ändern. Aktuelle URLs immer unter [[https://www.radiobob.de/empfang/stream|radiobob.de/empfang/stream]] prüfen.+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> </WRAP>
  
Zeile 288: Zeile 389:
 ==== 5.1 Warum myMPD? ==== ==== 5.1 Warum myMPD? ====
  
-myMPD ist in C geschrieben, läuft als eigenständiger Webserver (kein Apache/nginx nötig), ist als **Progressive Web App (PWA)** auf dem Smartphone installierbar und benötigt minimale Ressourcen — ideal für den Pi 2B.+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.
  
 |< 100% 30% 70% >| |< 100% 30% 70% >|
 ^ Feature ^ Beschreibung ^ ^ Feature ^ Beschreibung ^
 | PWA | Zum Home-Screen hinzufügbar — wirkt wie eine native App | | PWA | Zum Home-Screen hinzufügbar — wirkt wie eine native App |
-| Standalone-Server | Port 80/443, kein Apache/nginx nötig |+| Standalone-Server | Ports 8080/8443, kein Apache/nginx nötig |
 | Mobile-optimiert | Responsive Design, Touch-freundlich | | Mobile-optimiert | Responsive Design, Touch-freundlich |
 | Ressourcenschonend | Backend in C, kein Node.js / PHP | | Ressourcenschonend | Backend in C, kein Node.js / PHP |
Zeile 299: Zeile 400:
 | Aktiv gepflegt | Regelmäßige Releases, armhf-Pakete vorhanden | | Aktiv gepflegt | Regelmäßige Releases, armhf-Pakete vorhanden |
  
-==== 5.2 myMPD installieren ====+==== 5.2 myMPD installieren (Trixie) ====
  
-<code bash+<WRAP important
-# Abhängigkeiten: +**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''
-apt-get install -y libid3tag0 libflac8 liblua5.4-0+</WRAP>
  
-# GPG-Key und Repository einbinden: +<code bash> 
-curl -fsSL https://jcorporation.github.io/myMPD/packages/gpg.key \ +dietpi-software 
-  | gpg --dearmor -o /usr/share/keyrings/mympd-archive-keyring.gpg +# → Browse Software → myMPD (ID 183) 
- +# → Mit Leertaste auswählen → Install
-echo "deb [signed-by=/usr/share/keyrings/mympd-archive-keyring.gpg] \ +
-  https://jcorporation.github.io/myMPD/packages/debian bullseye main" \ +
-  > /etc/apt/sources.list.d/mympd.list +
- +
-apt-get update && apt-get install -y mympd+
 </code> </code>
 +
 +DietPi löst alle Abhängigkeiten automatisch auf. Pakete wie ''libflac14'', ''libid3tag0'' und ''liblua5.4-0'' werden automatisch mitinstalliert — keine manuelle Vorinstallation nötig.
  
 ==== 5.3 Service starten ==== ==== 5.3 Service starten ====
Zeile 321: Zeile 419:
 systemctl enable mympd systemctl enable mympd
 systemctl start mympd systemctl start mympd
 +systemctl status mympd    # Sollte 'active (running)' zeigen
 +</code>
  
-Aufruf im Browser: +myMPD läuft auf folgenden Ports: 
-# http://192.168.x.xxx+ 
 +|< 100% 15% 85% >| 
 +^ Port ^ Verwendung ^ 
 +| 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>
  
-Beim ersten Aufruf erscheint der Setup-AssistentWichtige Einstellungen:+<WRAP tip> 
 +Sicherheitswarnung beim ersten Aufruf einmalig akzeptieren (self-signed Zertifikat)Danach läuft myMPD normal. HTTPS auf Port 8443 ist Voraussetzung für die PWA-Installation auf dem Handy. 
 +</WRAP>
  
-  * **MPD-Host:** ''localhost'', Port: ''6600'' +==== 5.4 Erste Einrichtung ====
-  * **Music directory:** ''/var/lib/mpd/music'' +
-  * **Playlist directory:** ''/var/lib/mpd/playlists'' +
-  * Settings → Theme: **Dark Mode** für Wohnzimmer-Nutzung empfohlen+
  
-==== 5.Als PWA auf dem Smartphone installieren ====+myMPD verbindet sich nach der Installation via ''dietpi-software'' automatisch mit MPD auf ''localhost:6600'' — kein Setup-Assistent nötig. 
 + 
 +Die **myMPD-Startseite** ist zunächst leer. Schnellzugriff-Icons hinzufügen: 
 + 
 +  - Browse → **Playlists** → ''BOB-Grunge'' aufrufen 
 +  - Kontextmenü (drei Punkte) → **„Zum Startbildschirm hinzufügen"** (''add_to_home_screen''
 +  - Dasselbe für ''BOB-ClassicRock'', ''BOB-BestOfRock'', ''BOB-70erRock'' 
 + 
 +Einen Stream starten: 
 + 
 +  - Browse → Playlists → gewünschten Sender antippen 
 +  - **„Alle hinzufügen"** → Warteschlange wird gefüllt → **Play** 
 + 
 +==== 5.Als PWA auf dem Smartphone installieren ====
  
 === Android (Chrome / Edge): === === Android (Chrome / Edge): ===
-  - Browser-Menü öffnen → **„Zum Startbildschirm hinzufügen"**+  - ''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   - myMPD öffnet sich danach als Vollbild-App ohne Browser-Chrome
  
 === iOS (Safari): === === iOS (Safari): ===
 +  - ''https://192.168.x.xxx:8443'' in Safari öffnen
   - Teilen-Symbol → **„Zum Home-Bildschirm"**   - Teilen-Symbol → **„Zum Home-Bildschirm"**
   - Hinweis: Nur Safari unterstützt PWA-Installation auf iOS   - Hinweis: Nur Safari unterstützt PWA-Installation auf iOS
- 
-==== 5.5 Radio Bob in myMPD einbinden ==== 
- 
-  - Browse → **Webradio** 
-  - „Add stream" → URL: ''%%https://stream.radiobob.de/bob-live/mp3-192/direkteinstieg%%'' 
-  - Name: ''Radio BOB!'', Genre: ''Rock'', Land: ''Deutschland'' 
-  - Alternativ: myMPD unterstützt den direkten Import der **RadioBrowser-Community-Datenbank** im UI 
- 
-<WRAP tip> 
-myMPD ist der **einzige Einstiegspunkt** für Webradio und Playlist-Steuerung am Handy. Spotify läuft parallel und unabhängig über Raspotify — beide teilen sich nur den DAC (nicht gleichzeitig, s. [[#7._zusammenspiel_signalfluss|Abschnitt 7]]). 
-</WRAP> 
  
 ---- ----
Zeile 422: Zeile 534:
 nano /etc/default/snapclient nano /etc/default/snapclient
 # START_SNAPCLIENT=true # START_SNAPCLIENT=true
-# SNAPCLIENT_OPTS="--host 192.168.x.xxx"   ← IP des Pi 2B+# SNAPCLIENT_OPTS="--host 192.168.x.xxx"   ← IP des Pi 2B (stream01)
  
 systemctl enable snapclient systemctl enable snapclient
Zeile 429: Zeile 541:
  
 <WRAP info> <WRAP info>
-Snapcast bietet eine eigene Web-UI auf Port **1780** (''http://192.168.x.xxx:1780'') zur Anpassung der Client-Lautstärken und Latenz-Delays. myMPD steuert die Wiedergabe selbst — Snapcast übernimmt nur die Verteilung.+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.
 </WRAP> </WRAP>
  
Zeile 461: Zeile 573:
 ==== 7.3 Optionale dmix-Lösung (Klangkompromiss) ==== ==== 7.3 Optionale dmix-Lösung (Klangkompromiss) ====
  
-Falls gleichzeitiger Zugriff dennoch gewünscht ist, kann ALSA-dmix als Software-Mixer dienen. Dies wird für audiophile Ansprüche **nicht empfohlen**, da es Software-Resampling einführt:+Falls gleichzeitiger Zugriff dennoch gewünscht ist, kann ALSA-dmix als Software-Mixer dienen. Für audiophile Ansprüche **nicht empfohlen**, da Software-Resampling eingeführt wird:
  
 <code> <code>
Zeile 481: Zeile 593:
 } }
 </code> </code>
 +
 +==== 7.4 Wechsel zwischen Spotify und Webradio ====
 +
 +=== Von Spotify → Webradio (myMPD): ===
 +  - In der Spotify-App die Wiedergabe **pausieren**
 +  - Ca. 3–5 Sekunden warten bis Raspotify den DAC freigibt
 +  - In myMPD den gewünschten Stream starten
 +
 +<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>
 +
 +=== 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
 +
 +<code bash>
 +# Falls Spotify den DAC nicht bekommt — MPD manuell stoppen:
 +mpc stop
 +# Spotify-App neu verbinden
 +</code>
 +
 +<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>
  
 ---- ----
Zeile 489: Zeile 633:
  
 <code bash> <code bash>
-systemctl enable raspotify mpd mympd snapserver snapclient+systemctl enable raspotify mpd mympd 
 + 
 +# Bei installiertem Snapcast zusätzlich: 
 +systemctl enable snapserver snapclient
  
 # Gesamtüberblick aller Service-Status: # Gesamtüberblick aller Service-Status:
-systemctl status raspotify mpd mympd snapserver snapclient+systemctl status raspotify mpd mympd
 </code> </code>
  
Zeile 499: Zeile 646:
 <code bash> <code bash>
 # Über DietPi-Config (empfohlen): # Über DietPi-Config (empfohlen):
-dietpi-config → Network Options → Ethernet → Static+dietpi-config 
 +→ Network Options → Adapters → Ethernet → Static
  
 # Oder manuell /etc/network/interfaces: # Oder manuell /etc/network/interfaces:
Zeile 516: Zeile 664:
 dietpi-update dietpi-update
  
-# System-Pakete (Raspotify, MPD, myMPD):+# System-Pakete (MPD, Snapcast):
 apt-get update && apt-get upgrade -y apt-get update && apt-get upgrade -y
  
-Nur Raspotify updaten+# Raspotify und myMPD wurden über dietpi-software installiert
-apt-get install --only-upgrade raspotify+dietpi-software reinstall 170    # Raspotify 
 +dietpi-software reinstall 183    # myMPD
 </code> </code>
 +
 +<WRAP tip>
 +Die Konfigurationsdateien bleiben bei ''dietpi-software reinstall'' erhalten — ''/etc/raspotify/conf'' und die MPD-Playlists werden nicht überschrieben.
 +</WRAP>
  
 ==== 8.4 Nützliche Diagnosebefehle ==== ==== 8.4 Nützliche Diagnosebefehle ====
  
 <code bash> <code bash>
 +# Lautstärkeregler prüfen und anpassen:
 +alsamixer
 +
 # ALSA-Gerätebelegung prüfen (wer blockiert hw:0,0?): # ALSA-Gerätebelegung prüfen (wer blockiert hw:0,0?):
 fuser /dev/snd/* fuser /dev/snd/*
Zeile 538: Zeile 694:
 mpc current mpc current
  
-# Systemressourcen (CPU/RAM):+# Systemressourcen (CPU/RAM) des Pi 2B:
 htop htop
 </code> </code>
Zeile 546: Zeile 702:
 ===== 9. Quick Reference — Ports & URLs ===== ===== 9. Quick Reference — Ports & URLs =====
  
-|< 100% 28% 15% 57% >|+|< 100% 30% 15% 55% >|
 ^ Service ^ Port ^ URL / Zweck ^ ^ Service ^ Port ^ URL / Zweck ^
-| **myMPD Web-UI** | 80 / 443 | ''%%http://192.168.x.xxx%%'' — Hauptsteuerung (PWA+| **myMPD Web-UI (HTTPS)** | 8443 | ''%%https://192.168.x.xxx:8443%%'' — HauptsteuerungPWA | 
-| **Snapcast Web-UI** | 1780 | ''%%http://192.168.x.xxx:1780%%'' — Multiroom-Pegel |+| **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'' | | MPD | 6600 | localhost only — via myMPD oder ''mpc'' |
 | Raspotify (Zeroconf) | 44677 | Spotify-Connect-Discovery (intern) | | Raspotify (Zeroconf) | 44677 | Spotify-Connect-Discovery (intern) |
-| SSH | 22 | ''ssh root@192.168.x.xxx'' |+| SSH | 22 | ''ssh root@stream01'' |
  
 ---- ----
Zeile 572: Zeile 729:
  
 <code bash> <code bash>
 +# Lautstärke prüfen (oft nach Installation auf 0 oder Mute):
 +alsamixer
 +
 # Wer blockiert den DAC? # Wer blockiert den DAC?
 fuser /dev/snd/* fuser /dev/snd/*
Zeile 582: Zeile 742:
 </code> </code>
  
-==== MPD startet nicht ====+==== MPD startet nicht — exit-code Fehler ==== 
 + 
 +<code bash> 
 +# Detaillierte Fehlerausgabe: 
 +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 
 + 
 +# Zweithäufigste Ursache: Datenbankverzeichnis fehlt 
 +mkdir -p /var/lib/mpd 
 +chown -R mpd:audio /var/lib/mpd 
 + 
 +systemctl restart mpd 
 +</code> 
 + 
 +==== MPD startet nicht — Berechtigungsfehler ====
  
 <code bash> <code bash>
-# Berechtigungen reparieren: 
 chown -R mpd:audio /var/lib/mpd chown -R mpd:audio /var/lib/mpd
 chmod 750 /var/lib/mpd chmod 750 /var/lib/mpd
  
-# Named Pipe neu anlegen:+# Named Pipe neu anlegen (falls Snapcast genutzt wird):
 rm -f /tmp/snapfifo rm -f /tmp/snapfifo
 mkfifo /tmp/snapfifo mkfifo /tmp/snapfifo
 chown mpd:audio /tmp/snapfifo chown mpd:audio /tmp/snapfifo
 +
 +systemctl restart mpd
 </code> </code>
  
Zeile 599: Zeile 778:
 <code bash> <code bash>
 # Stream-URL direkt testen: # Stream-URL direkt testen:
-mpc add https://stream.radiobob.de/bob-live/mp3-192/direkteinstieg+mpc clear 
 +mpc add http://streams.radiobob.de/bob-grunge/mp3-192/mediaplayer
 mpc play mpc play
 mpc status mpc status
Zeile 608: Zeile 788:
  
 <WRAP info> <WRAP info>
-Aktuelle Stream-URLs von Radio Bob immer unter [[https://www.radiobob.de/empfang/stream|radiobob.de/empfang/stream]] prüfen.+Aktuelle Stream-URLs immer unter [[https://www.radiobob.de/radiobob/empfang/livestream|radiobob.de/empfang/livestream]] prüfen.
 </WRAP> </WRAP>
 +
 +==== myMPD nicht erreichbar ====
 +
 +<code bash>
 +# Auf welchem Port läuft myMPD?
 +ss -tlnp | grep mympd
 +# → Ausgabe zeigt Port 8080 (HTTP) und 8443 (HTTPS)
 +
 +# Aufruf im Browser:
 +# https://192.168.x.xxx:8443   (empfohlen, für PWA)
 +# http://192.168.x.xxx:8080    (alternativ)
 +
 +systemctl status mympd
 +journalctl -u mympd -n 50
 +</code>
 +
 +==== Warteschlange leer / kein Stream startet ====
 +
 +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>
 +mpc clear
 +mpc load BOB-Grunge
 +mpc play
 +</code>
 +
 +==== Raspotify oder myMPD Update nach Trixie-Upgrade ====
 +
 +<code bash>
 +# 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>
  
 ---- ----
Zeile 615: Zeile 837:
 <WRAP box round center 80%> <WRAP box round center 80%>
 **Weiterführende Links**\\ **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://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> </WRAP>
  
 +---- 
 +//Getestet auf: Raspberry Pi 2B v1.1 + HifiBerry DAC+ → Kenwood HD 1000 · DietPi ARMv7 / Debian Trixie (13) · Stand: März 2026//