Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
| audio:stream:start [01 15 2026 19 : 15] – André Reichert-Creutz | audio:stream:start [02 00 2026 17 : 00] (aktuell) – André Reichert-Creutz | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| - | |||
| ====== DietPi Audiophiler Streamer ====== | ====== DietPi Audiophiler Streamer ====== | ||
| ===== Raspberry Pi 2B + HifiBerry DAC — Spotify Connect · Radio Bob · Multiroom ===== | ===== Raspberry Pi 2B + HifiBerry DAC — Spotify Connect · Radio Bob · Multiroom ===== | ||
| Zeile 13: | Zeile 12: | ||
| </ | </ | ||
| <WRAP clear></ | <WRAP clear></ | ||
| + | </ | ||
| + | |||
| + | <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. | ||
| </ | </ | ||
| Zeile 19: | Zeile 24: | ||
| ===== Inhaltsverzeichnis ===== | ===== Inhaltsverzeichnis ===== | ||
| - | - [[#vorbereitung|Vorbereitung & DietPi-Installation]] | + | - [[#1._vorbereitung_dietpi-installation|Vorbereitung & DietPi-Installation]] |
| - | - [[#hifiberry|HifiBerry DAC konfigurieren]] | + | - [[#2._hifiberry_dac_konfigurieren|HifiBerry DAC konfigurieren]] |
| - | - [[#spotify|Spotify Connect mit Raspotify]] | + | - [[#3._spotify_connect_mit_raspotify|Spotify Connect mit Raspotify]] |
| - | - [[#mpd|Webradio mit MPD]] | + | - [[#4._webradio_mit_mpd|Webradio mit MPD]] |
| - | - [[#mympd|Web-UI mit myMPD (PWA)]] | + | - [[#5._web-ui_mit_mympd_pwa|Web-UI mit myMPD (PWA)]] |
| - | - [[#snapcast|Multiroom mit Snapcast]] | + | - [[#6._multiroom_mit_snapcast|Multiroom mit Snapcast]] |
| - | - [[#zusammenspiel|Zusammenspiel & Signalfluss]] | + | - [[#7._zusammenspiel_signalfluss|Zusammenspiel & Signalfluss]] |
| - | - [[#wartung|Autostart, Updates & Wartung]] | + | - [[#8._autostart_updates_wartung|Autostart, Updates & Wartung]] |
| - | - [[#referenz|Quick Reference — Ports & URLs]] | + | - [[#9._quick_reference_-_ports_urls|Quick Reference — Ports & URLs]] |
| - | - [[#fehler|Fehlerbehebung]] | + | - [[#10._fehlerbehebung|Fehlerbehebung]] |
| ---- | ---- | ||
| - | ===== 1. Vorbereitung & DietPi-Installation ===== {{anchor: | + | ===== 1. Vorbereitung & DietPi-Installation ===== |
| ==== 1.1 Benötigte Hardware ==== | ==== 1.1 Benötigte Hardware ==== | ||
| Zeile 47: | Zeile 52: | ||
| ==== 1.2 DietPi Image herunterladen & flashen ==== | ==== 1.2 DietPi Image herunterladen & flashen ==== | ||
| - | Das korrekte Image für den Pi 2B ist **'' | + | 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: | ||
| + | </ | ||
| - Herunterladen: | - Herunterladen: | ||
| - Image mit [[https:// | - Image mit [[https:// | ||
| - | - 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 '' |
| - | < | + | < |
| # / | # / | ||
| + | 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/ | AUTO_SETUP_TIMEZONE=Europe/ | ||
| + | |||
| AUTO_SETUP_NET_ETHERNET_ENABLED=1 | AUTO_SETUP_NET_ETHERNET_ENABLED=1 | ||
| - | AUTO_SETUP_NET_WIFI_ENABLED=0 | + | 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=1 | ||
| + | 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 | ||
| </ | </ | ||
| Zeile 72: | Zeile 102: | ||
| <WRAP tip> | <WRAP tip> | ||
| - | **Headless-Betrieb: | + | **Headless-Betrieb: |
| </ | </ | ||
| - | - SD-Karte einsetzen, Netzteil anschließen, | + | - SD-Karte einsetzen, Netzteil anschließen, |
| - 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 | + | ssh root@stream01 |
| + | # Passwort: dein_sicheres_passwort | ||
| </ | </ | ||
| ---- | ---- | ||
| - | ===== 2. HifiBerry DAC konfigurieren ===== {{anchor: | + | ===== 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 / | ||
| + | </ | ||
| + | |||
| + | <WRAP tip> | ||
| + | Die Ausgabe erscheint direkt vor dem Prompt ohne Zeilenumbruch, | ||
| + | </ | ||
| + | |||
| + | |< 100% 25% 35% 40% >| | ||
| + | ^ Ausgabe ^ Modell ^ Treiber in dietpi-config ^ | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | | Keine Ausgabe | Älteres Modell | Optisch identifizieren | | ||
| + | |||
| + | ==== 2.2 Kernel-Overlay aktivieren ==== | ||
| === Variante A: DietPi-Config (empfohlen) === | === Variante A: DietPi-Config (empfohlen) === | ||
| Zeile 92: | Zeile 142: | ||
| <code bash> | <code bash> | ||
| dietpi-config | dietpi-config | ||
| - | # → Audio Options → Sound Card → hifiberry-dacplus | + | # → Audio Options → Sound Card |
| + | # → Passendes Modell auswählen (z. B. hifiberry-dacplus-std für DAC+) | ||
| # → Reboot bestätigen | # → Reboot bestätigen | ||
| </ | </ | ||
| Zeile 108: | Zeile 159: | ||
| </ | </ | ||
| - | ==== 2.2 Audio-Ausgabe verifizieren ==== | + | ==== 2.3 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 | + | # card 0: sndrpihifiberry [snd_rpi_hifiberry_dacplus], |
| - | # card 0: sndrpihifiberry [snd_rpi_hifiberry_dacplus], | + | |
| - | # | + | |
| # Testton abspielen (Ctrl+C zum Stoppen): | # Testton abspielen (Ctrl+C zum Stoppen): | ||
| Zeile 122: | Zeile 171: | ||
| </ | </ | ||
| - | ==== 2.3 ALSA Default-Device setzen ==== | + | <WRAP tip> |
| + | Falls kein Ton kommt: Lautstärkeregler mit '' | ||
| + | </ | ||
| + | |||
| + | ==== 2.4 ALSA Default-Device setzen ==== | ||
| <code bash> | <code bash> | ||
| Zeile 132: | Zeile 185: | ||
| type hw | type hw | ||
| card 0 | card 0 | ||
| + | device 0 | ||
| } | } | ||
| ctl.!default { | ctl.!default { | ||
| Zeile 140: | Zeile 194: | ||
| <WRAP important> | <WRAP important> | ||
| - | **Audiophiler Hinweis:** '' | + | **Audiophiler Hinweis:** '' |
| </ | </ | ||
| + | |||
| + | ==== 2.5 Audio-Einstellungen in dietpi-config ==== | ||
| + | |||
| + | |< 100% 35% 15% 50% >| | ||
| + | ^ Einstellung ^ Wert ^ Begründung ^ | ||
| + | | Sound Card | '' | ||
| + | | Auto-conversion | Off | Erhält bit-perfekte Qualität | | ||
| + | | PSU noise reduction | On | Minimiert elektrische Interferenzen | | ||
| + | | DietPi-JustBoom | — | Ignorieren, nur für JustBoom-Karten | | ||
| ---- | ---- | ||
| - | ===== 3. Spotify Connect mit Raspotify ===== {{anchor: | + | ===== 3. Spotify Connect mit Raspotify ===== |
| - | ==== 3.1 Installation ==== | + | ==== 3.1 Installation |
| - | Raspotify verpackt | + | <WRAP important> |
| + | **Trixie-Hinweis: | ||
| + | </ | ||
| <code bash> | <code bash> | ||
| - | # Einzeiliges Installations-Script | + | dietpi-software |
| - | sudo apt-get -y install curl && \ | + | # → Browse Software → Raspotify |
| - | curl -sL https:// | + | # → Mit Leertaste auswählen → Install |
| </ | </ | ||
| - | <WRAP info> | + | DietPi erkennt Trixie |
| - | Das Script fügt automatisch | + | |
| - | </ | + | |
| ==== 3.2 Konfiguration ==== | ==== 3.2 Konfiguration ==== | ||
| Zeile 169: | Zeile 232: | ||
| <code bash> | <code bash> | ||
| # ── Gerätename (erscheint in der Spotify-App) ────────────────── | # ── Gerätename (erscheint in der Spotify-App) ────────────────── | ||
| - | LIBRESPOT_NAME=' | + | LIBRESPOT_NAME=' |
| # ── Audioqualität ────────────────────────────────────────────── | # ── Audioqualität ────────────────────────────────────────────── | ||
| Zeile 181: | Zeile 244: | ||
| LIBRESPOT_VOLUME_NORMALISATION='' | LIBRESPOT_VOLUME_NORMALISATION='' | ||
| LIBRESPOT_DITHERING=' | LIBRESPOT_DITHERING=' | ||
| - | LIBRESPOT_FORMAT=' | + | LIBRESPOT_FORMAT=' |
| # ── Zeroconf-Port fixieren (verhindert random port bei Restart) ─ | # ── Zeroconf-Port fixieren (verhindert random port bei Restart) ─ | ||
| Zeile 202: | Zeile 265: | ||
| <WRAP tip> | <WRAP tip> | ||
| - | Nach dem Neustart erscheint **HifiBerry-Streamer** in der Spotify-App unter Geräte. | + | Nach dem Neustart erscheint **Office UG** in der Spotify-App unter Geräte. |
| </ | </ | ||
| ---- | ---- | ||
| - | ===== 4. Webradio mit MPD ===== {{anchor: | + | ===== 4. Webradio mit MPD ===== |
| ==== 4.1 MPD installieren ==== | ==== 4.1 MPD installieren ==== | ||
| Zeile 214: | Zeile 277: | ||
| apt-get install -y mpd mpc | apt-get install -y mpd mpc | ||
| </ | </ | ||
| + | |||
| + | Die Abhängigkeitsliste ist auf Trixie sehr lang — einfach mit '' | ||
| ==== 4.2 MPD konfigurieren ==== | ==== 4.2 MPD konfigurieren ==== | ||
| Zeile 229: | Zeile 294: | ||
| pid_file | pid_file | ||
| state_file | state_file | ||
| - | sticker_database | ||
| user " | user " | ||
| bind_to_address | bind_to_address | ||
| Zeile 247: | Zeile 311: | ||
| auto_update | auto_update | ||
| </ | </ | ||
| + | |||
| + | <WRAP important> | ||
| + | **Trixie-Hinweis: | ||
| + | </ | ||
| + | |||
| + | ==== 4.3 Datenbankverzeichnis anlegen (Trixie) ==== | ||
| + | |||
| + | <WRAP important> | ||
| + | **Trixie-spezifisch: | ||
| + | </ | ||
| <code bash> | <code bash> | ||
| + | mkdir -p / | ||
| + | chown -R mpd:audio / | ||
| systemctl restart mpd | systemctl restart mpd | ||
| systemctl enable mpd | systemctl enable mpd | ||
| + | systemctl status mpd # Sollte ' | ||
| </ | </ | ||
| - | ==== 4.3 Radio Bob als Stream | + | ==== 4.4 Radio Bob Streams |
| + | |||
| + | 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 / |
| - | nano / | + | </ |
| + | < | ||
| + | #EXTM3U | ||
| + | # | ||
| + | http:// | ||
| </ | </ | ||
| + | <code bash> | ||
| + | nano / | ||
| + | </ | ||
| < | < | ||
| #EXTM3U | #EXTM3U | ||
| - | # | + | # |
| - | https://stream.radiobob.de/ | + | http://streams.radiobob.de/ |
| - | # | + | </ |
| - | https://stream.radiobob.de/ | + | |
| + | <code bash> | ||
| + | nano / | ||
| + | </ | ||
| + | < | ||
| + | #EXTM3U | ||
| + | # | ||
| + | http://streams.radiobob.de/ | ||
| + | </ | ||
| + | |||
| + | <code bash> | ||
| + | nano / | ||
| + | </ | ||
| + | < | ||
| + | #EXTM3U | ||
| + | # | ||
| + | https:// | ||
| </ | </ | ||
| Zeile 271: | 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 | |
| - | # Status prüfen: | + | |
| - | mpc status | + | |
| - | mpc current | + | |
| </ | </ | ||
| <WRAP info> | <WRAP info> | ||
| - | Die Stream-URLs können sich ändern. Aktuelle | + | Aktuelle |
| </ | </ | ||
| ---- | ---- | ||
| - | ===== 5. Web-UI mit myMPD (PWA) ===== {{anchor: | + | ===== 5. Web-UI mit myMPD (PWA) ===== |
| ==== 5.1 Warum myMPD? ==== | ==== 5.1 Warum myMPD? ==== | ||
| - | myMPD ist in C geschrieben, | + | myMPD ist in C geschrieben, |
| |< 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/ | + | | Standalone-Server | Ports 8080/8443, kein Apache/ |
| | 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 300: | 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 |
| - | <code bash> | + | <WRAP important> |
| - | # Abhängigkeiten: | + | **Trixie-Hinweis:** Weder das '' |
| - | apt-get install | + | </ |
| - | # GPG-Key und Repository einbinden: | + | <code bash> |
| - | curl -fsSL https:// | + | dietpi-software |
| - | | gpg --dearmor -o / | + | # → Browse Software → myMPD (ID 183) |
| - | + | # → Mit Leertaste auswählen → Install | |
| - | echo "deb [signed-by=/ | + | |
| - | https:// | + | |
| - | > / | + | |
| - | + | ||
| - | apt-get update && apt-get install -y mympd | + | |
| </ | </ | ||
| + | |||
| + | DietPi löst alle Abhängigkeiten automatisch auf. Pakete wie '' | ||
| ==== 5.3 Service starten ==== | ==== 5.3 Service starten ==== | ||
| Zeile 322: | Zeile 419: | ||
| systemctl enable mympd | systemctl enable mympd | ||
| systemctl start mympd | systemctl start mympd | ||
| + | systemctl status mympd # Sollte ' | ||
| + | </ | ||
| - | # Aufruf im Browser: | + | myMPD läuft auf folgenden Ports: |
| - | # http:// | + | |
| + | |< 100% 15% 85% >| | ||
| + | ^ Port ^ Verwendung ^ | ||
| + | | 8080 | HTTP — funktioniert, | ||
| + | | 8443 | HTTPS — empfohlen, einmalig Sicherheitswarnung akzeptieren | | ||
| + | |||
| + | Aufruf im Browser: | ||
| + | < | ||
| + | https:// | ||
| </ | </ | ||
| - | Beim ersten Aufruf | + | <WRAP tip> |
| + | Sicherheitswarnung beim ersten Aufruf | ||
| + | </ | ||
| - | * **MPD-Host: | + | ==== 5.4 Erste Einrichtung ==== |
| - | * **Music directory: | + | |
| - | * **Playlist directory: | + | |
| - | * Settings → Theme: **Dark Mode** für Wohnzimmer-Nutzung empfohlen | + | |
| - | ==== 5.4 Als PWA auf dem Smartphone installieren ==== | + | myMPD verbindet sich nach der Installation via '' |
| + | |||
| + | Die **myMPD-Startseite** ist zunächst leer. Schnellzugriff-Icons hinzufügen: | ||
| + | |||
| + | - Browse → **Playlists** → '' | ||
| + | - Kontextmenü (drei Punkte) → **„Zum Startbildschirm hinzufügen" | ||
| + | - Dasselbe für '' | ||
| + | |||
| + | Einen Stream starten: | ||
| + | |||
| + | - Browse → Playlists → gewünschten Sender antippen | ||
| + | - **„Alle hinzufügen" | ||
| + | |||
| + | ==== 5.5 Als PWA auf dem Smartphone installieren ==== | ||
| === Android (Chrome / Edge): === | === Android (Chrome / Edge): === | ||
| - | - Browser-Menü | + | - '' |
| + | - 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): === | ||
| + | - '' | ||
| - 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" | ||
| - | - Name: '' | ||
| - | - 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, | ||
| - | </ | ||
| ---- | ---- | ||
| - | ===== 6. Multiroom mit Snapcast ===== {{anchor: | + | ===== 6. Multiroom mit Snapcast ===== |
| ==== 6.1 Konzept ==== | ==== 6.1 Konzept ==== | ||
| Zeile 423: | Zeile 534: | ||
| nano / | nano / | ||
| # START_SNAPCLIENT=true | # START_SNAPCLIENT=true | ||
| - | # SNAPCLIENT_OPTS=" | + | # SNAPCLIENT_OPTS=" |
| systemctl enable snapclient | systemctl enable snapclient | ||
| Zeile 430: | Zeile 541: | ||
| <WRAP info> | <WRAP info> | ||
| - | Snapcast bietet eine eigene Web-UI auf Port **1780** ('' | + | Snapcast bietet eine eigene Web-UI auf Port **1780** ('' |
| </ | </ | ||
| ---- | ---- | ||
| - | ===== 7. Zusammenspiel & Signalfluss ===== {{anchor: | + | ===== 7. Zusammenspiel & Signalfluss ===== |
| ==== 7.1 Signalfluss ==== | ==== 7.1 Signalfluss ==== | ||
| Zeile 462: | 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. | + | Falls gleichzeitiger Zugriff dennoch gewünscht ist, kann ALSA-dmix als Software-Mixer dienen. |
| < | < | ||
| Zeile 482: | Zeile 593: | ||
| } | } | ||
| </ | </ | ||
| + | |||
| + | ==== 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 | ||
| + | </ | ||
| + | |||
| + | === 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 | ||
| + | </ | ||
| + | |||
| + | <WRAP tip> | ||
| + | **Faustregel: | ||
| + | </ | ||
| ---- | ---- | ||
| - | ===== 8. Autostart, Updates & Wartung ===== {{anchor: | + | ===== 8. Autostart, Updates & Wartung ===== |
| ==== 8.1 Alle Services auf Autostart setzen ==== | ==== 8.1 Alle Services auf Autostart setzen ==== | ||
| <code bash> | <code bash> | ||
| - | systemctl enable raspotify mpd mympd snapserver snapclient | + | systemctl enable raspotify mpd mympd |
| + | |||
| + | # Bei installiertem Snapcast zusätzlich: | ||
| + | systemctl enable | ||
| # Gesamtüberblick aller Service-Status: | # Gesamtüberblick aller Service-Status: | ||
| - | systemctl status raspotify mpd mympd snapserver snapclient | + | systemctl status raspotify mpd mympd |
| </ | </ | ||
| Zeile 500: | Zeile 646: | ||
| <code bash> | <code bash> | ||
| # Über DietPi-Config (empfohlen): | # Über DietPi-Config (empfohlen): | ||
| - | dietpi-config → Network Options → Ethernet → Static | + | dietpi-config |
| + | # → Network Options | ||
| # Oder manuell / | # Oder manuell / | ||
| Zeile 517: | Zeile 664: | ||
| dietpi-update | dietpi-update | ||
| - | # System-Pakete (Raspotify, | + | # System-Pakete (MPD, Snapcast): |
| apt-get update && apt-get upgrade -y | apt-get update && apt-get upgrade -y | ||
| - | # Nur Raspotify | + | # Raspotify |
| - | apt-get install --only-upgrade raspotify | + | dietpi-software reinstall 170 # Raspotify |
| + | dietpi-software reinstall 183 # myMPD | ||
| </ | </ | ||
| + | |||
| + | <WRAP tip> | ||
| + | Die Konfigurationsdateien bleiben bei '' | ||
| + | </ | ||
| ==== 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 539: | Zeile 694: | ||
| mpc current | mpc current | ||
| - | # Systemressourcen (CPU/RAM): | + | # Systemressourcen (CPU/ |
| htop | htop | ||
| </ | </ | ||
| Zeile 545: | Zeile 700: | ||
| ---- | ---- | ||
| - | ===== 9. Quick Reference — Ports & URLs ===== {{anchor: | + | ===== 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 | '' | + | | **myMPD Web-UI |
| - | | **Snapcast | + | | **myMPD Web-UI |
| + | | **Snapcast Web-UI** | 1780 | '' | ||
| | MPD | 6600 | localhost only — via myMPD oder '' | | MPD | 6600 | localhost only — via myMPD oder '' | ||
| | Raspotify (Zeroconf) | 44677 | Spotify-Connect-Discovery (intern) | | | Raspotify (Zeroconf) | 44677 | Spotify-Connect-Discovery (intern) | | ||
| - | | SSH | 22 | '' | + | | SSH | 22 | '' |
| ---- | ---- | ||
| - | ===== 10. Fehlerbehebung ===== {{anchor: | + | ===== 10. Fehlerbehebung ===== |
| ==== Spotify Connect-Gerät erscheint nicht ==== | ==== Spotify Connect-Gerät erscheint nicht ==== | ||
| Zeile 573: | 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 583: | Zeile 742: | ||
| </ | </ | ||
| - | ==== 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 / | ||
| + | # sticker_database | ||
| + | |||
| + | # Zweithäufigste Ursache: Datenbankverzeichnis fehlt | ||
| + | mkdir -p / | ||
| + | chown -R mpd:audio / | ||
| + | |||
| + | systemctl restart mpd | ||
| + | </ | ||
| + | |||
| + | ==== MPD startet nicht — Berechtigungsfehler | ||
| <code bash> | <code bash> | ||
| - | # Berechtigungen reparieren: | ||
| chown -R mpd:audio / | chown -R mpd:audio / | ||
| chmod 750 / | chmod 750 / | ||
| - | # Named Pipe neu anlegen: | + | # Named Pipe neu anlegen |
| rm -f / | rm -f / | ||
| mkfifo / | mkfifo / | ||
| chown mpd:audio / | chown mpd:audio / | ||
| + | |||
| + | systemctl restart mpd | ||
| </ | </ | ||
| Zeile 600: | Zeile 778: | ||
| <code bash> | <code bash> | ||
| # Stream-URL direkt testen: | # Stream-URL direkt testen: | ||
| - | mpc add https://stream.radiobob.de/ | + | mpc clear |
| + | mpc add http://streams.radiobob.de/ | ||
| mpc play | mpc play | ||
| mpc status | mpc status | ||
| Zeile 609: | Zeile 788: | ||
| <WRAP info> | <WRAP info> | ||
| - | Aktuelle Stream-URLs | + | Aktuelle Stream-URLs immer unter [[https:// |
| </ | </ | ||
| + | |||
| + | ==== 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:// | ||
| + | # http:// | ||
| + | |||
| + | systemctl status mympd | ||
| + | journalctl -u mympd -n 50 | ||
| + | </ | ||
| + | |||
| + | ==== 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 | ||
| + | </ | ||
| + | |||
| + | ==== 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 / | ||
| + | ls / | ||
| + | </ | ||
| ---- | ---- | ||
| Zeile 616: | Zeile 837: | ||
| <WRAP box round center 80%> | <WRAP box round center 80%> | ||
| **Weiterführende Links**\\ | **Weiterführende Links**\\ | ||
| - | [[https:// | + | [[https:// |
| </ | </ | ||
| ---- | ---- | ||
| - | //Erstellt für: Raspberry Pi 2B + HifiBerry DAC+ → Kenwood HD 1000 · DietPi | + | //Getestet auf: Raspberry Pi 2B v1.1 + HifiBerry DAC+ → Kenwood HD 1000 · DietPi |
