Raspi Zero W: Intelligentes Audio System mit Integration von Spotify, AirPlay u.f.w. Möglichkeiten

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Dauer: ca. 15min - 30min

    Preis: ca. 40€

    Ersparnis: 60€ bis zu 300€

    :danke_ATDE: Vielen Dank gilt den Erstellern der Skripte dtcooper, Khoulaiz und nicokaiser auf welche ich nun Verweisen darf! :danke_ATDE:


    Servus,

    ich möchte hier mein Wissen weitergeben und mit euch neue Ideen sammeln...

    Wir reden hier von einem Pi Zero W. Alle anderen RasPi's welche in eurem Besitz sind, wären aber auch denkbar.

    Bei mir hat jeder Raum sein eigenes Audio-System und kann mit den Spotify, AirPlay Dienst mit Audio bespielt werden.


    Stromverbrauch

    Einfach wegen des sehr geringen Verbrauches bei minimaler Installation wird nicht einmal 1W/h im Standby gezogen...

    Damit schlagen wir jede SONOS- / SYMFONISK-Box und das nicht nur im Klangbild (hängt natürlich von eurer Musikanlage ab).

    Bei mir verrichtet eine alte 2.1 Anlage von Logitech Ihren Dienst ;)


    Für mich ist das Thema mit dem Stromverbrauch sehr wichtig. Aber abstriche möchte ich in der Qualität und Umfang nicht machen.

    Wir bekommen sogar am Ende mehr als uns die Premium-Systeme anbieten + wir werden günstiger sein trotz Neukauf aller Produkte.

    Auch könnt Ihr jede alte Anlage damit ausstatten und habt somit noch viel mehr sinnvolles getan.

    > ~3,4 Watt/h Sonos-Stromverbrauch im Ruhemodus

    > ~2,2 Watt/h Symfonisk - Ikea-Lautsprecher mit SONOS-Technik

    > ~0,7 Watt/h Stromverbrauch ohne Monitor, ohne USB-Geraffel und aktiven WLAN + Bluetooth


    Aufbau 1

    Der Pi Zero W bringt WLAN + Bluetooth mit. Wird über ein Micro-USB mit Strom versorgt.

    Der Sound kommt über den HDMI-Ausgang. An dem HDMI-Ausgang ist eine 2.1 Soundanlage angeschlossen.

    Die Soundanlage wird per WiFi Steckdose dazugeschaltet. Dies bietet die HS110 von TP-Link mit einfachen BASH-Befehlen...

    Aufbau 2

    Der Sound geht über Bluetooth an eine Box, welche wieder über die WiFi Steckdose dazugeschaltet wird.

    > Audio-Ausgabe via Bluetooth mit asound.conf konfigurieren

    Aufbau 3

    Der Sound wird über WiFi / WLAN an eine Box, welche wieder über die WiFi Steckdose dazugeschaltet wird, übertragen.

    > Audioausgabe über WiFi / WLAN Lautsprecher

    Aufbau 4

    Der Sound wird über Apple AirPlay an eine Box, welche wieder über die WiFi Steckdose dazugeschaltet wird, übertragen.

    > Suche Lösung um via AirPlay die Audioausgabe auf Lautsprecher zu verwenden


    Installation

    Wir benötigen PuTTY / KiTTY für unsere winDOSEN Nutzer ;)

    Das Terminal für Mac / Linux Nutzer.

    Bitte ladet euch das offizielle System "Raspberry Pi OS Lite" herunter

    > https://www.raspberrypi.org/software/operating-systems/

    Entpackt die .zip-Datei und beschreibt eure SD-Karte mit dem Image nach dieser Anleitung.

    Linux | Mac OS | Windows| ChromeOS

    1. Erstellt bitte eine leere-Datei mit dem Namen "ssh" in der Boot-Partition per Hand.

    2. Ebenfalls benötigen wir für das WLAN die Datei in der Boot-Partition mit dem Namen

    Code
    ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
    update_config=1
    country=DE
    network={
           ssid="WiFi Name"
           key_mgmt=WPA-PSK
           psk="WiFi Passwort"
    }

    Entfernt nun die SD-Karte aus sicher aus eurem PC indem Ihr diese unmountet / auswerft per Software.

    Baut den Pi zusammen in das Gehäuse und steckt die HDMI Adapter in Reihe. An den Audio-Ausgang des HDMI-Adapter

    schließt ihr nun per Klinken-Kabel eure Soundanlage an.

    Das Netzteil des RasPi nun einstecken und auf eurem Router verfolgen welche IP-Adresse der neue RasPi bekommt.

    Standard Login über das Protokoll SSH mit der IP-Adresse eures RasPi und den Port 22.

    Das Passwort für den pi-User müssen wir ändern aus Sicherheitsgründen gleich ab

    Code
    passwd

    Wir wechseln zum root User

    Code
    sudo su -

    Wir passen das Layout unserer Tastatur auf deutsch an

    Code
    nano -w /etc/default/keyboard
    # KEYBOARD CONFIGURATION FILE
    # Consult the keyboard(5) manual page.
    
    XKBMODEL="pc105"
    XKBLAYOUT="de"
    XKBVARIANT=""
    XKBOPTIONS=""
    
    BACKSPACE="guess"

    Wir prüfen die Änderungen natürlich sofort auf der Konsole

    Code
    service keyboard-setup restart && journalctl -b -f


    Konfigurieren uns das System mit den folgenden Punkten

    > 1 / S4 den Hostnamen

    > 4 / P2 die GPU Memory auf 16

    > !!! 5 / L1 nicht anpassen !!!

    > 5 / L2 auf Europe / Berlin

    Über Finish könnt Ihr nun das System Neustarten lassen...

    Code
    raspi-config


    Re-Login mit dem neuen Passwort auf den RasPi nach ca. 1Minute.

    Wir wechseln das Verzeichnis und starten die Installation der Dienste

    Code
    cd /opt
    wget -q https://github.com/nicokaiser/rpi-audio-receiver/archive/main.zip
    unzip /opt/main.zip
    rm /opt/main.zip
    cd /opt/rpi-audio-receiver-main

    !!! raspotify nicht Installieren; Leider hat sich dort ein Fehler eingeschlichen!!!

    Ihr könnt generell alle Dienste nach euren Bedürfnissen installieren.

    ./install.sh

    Wir werden raspotify nun aus dem Repo installieren und haben damit kein Problem mehr, dass der Dienst nicht starten kann...

    Zum Ende könnt Ihr gern die Konfiguration für euch optimieren.

    Bitte prüft, ob der Dienst nach euren Änderungen auch starten kann.

    Code
    curl -sL https://dtcooper.github.io/raspotify/install.sh | sh
    nano /etc/default/raspotify
    systemctl restart raspotify.service & journalctl -b -f
    shutdown -r now

    Erst wenn alle Dienste starten und ohne Fehler arbeiten, können wir das System ein letztes mal Neustarten.

    Ab jetzt könnt Ihr es Produktiv Nutzen und bitte spätestens wöchentlich per SSH auf Updates prüfen.

    Code
    apt-get update && apt-get dist-upgrade


    OPTIONAL 1

    Mir ist es immer wichtig, dass bei einem Problem ich über den HDMI-Ausgang etwas sehen könnte.

    atop bzw. htop finden bei mir hier Anwendung...

    Code
    sudo mkdir -p /etc/systemd/system/getty@tty1.service.d
    sudo nano -w /etc/systemd/system/getty@tty1.service.d/override.conf

    Der Inhalt der Datei ist folgender bei Verwendung von htop und müsste für atop oder top angepasst werden.

    Code
    # /etc/systemd/system/getty@tty1.service.d/override.conf
    [Service]
    ExecStart=
    ExecStart=-/usr/bin/htop
    StandardInput=tty
    StandardOutput=tty

    Nun müssen wir den Dienst bekannt geben und starten.

    Code
    systemctl daemon-reload; systemctl restart getty@tty1.service


    OPTIONAL 2

    Noch suche ich nach einer Lösung um auf Log-Events unter debian / raspbian zu reagieren um dann mein Bash-Befehl abzufeuern.

    Code
    mkdir -p /opt/scripts/
    nano -w /opt/scripts/raspotify_power_on.rules


    Bash
    #!/bin/bash
    
    speaker-test -s1 2>&1 > /dev/null & \
        sleep 0.075s && \
    echo -n "AAAAKtDygfiL/5r31e+UtsWg1Iv5nPCR6LfEsNGlwOLYo4HyhueT9tTu36Lfog==" 2> /dev/null | \
        base64 -d 2> /dev/null | \
        nc -N {IP-Addr der HS110} 9999 2>&1 > /dev/null

    Die HS110 hab ich mir trotz der Security-Problematik ausgesucht. Preis Leistung und eine einfache Ansteuerung machen vieles möglich.

    Hier findet Ihr alle notwendigen Dinge die für & gegen das System sprechen...

    > https://github.com/python-kasa/python-kasa

    >

    Externer Inhalt gist.github.com
    Inhalte von externen Seiten werden ohne deine Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklärst du dich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

    > https://www.softscheck.com/en/reverse-eng…-tp-link-hs110/


    *Serviervorschlag* Komponente / Einkaufliste

    Bitte wählt eine SD-Karte nur dann aus, wenn diese bereits von erfahrenen Nutzern eingetragen wurde.

    > https://elinux.org/RPi_SD_cards

    Kaufe gern bei https://www.berrybase.de/ aber diese Produkte gibt es natürlich auch bei allen anderen Shops der Mitbewerber.

    1x Raspberry Pi Zero W

    > https://www.berrybase.de/raspberry-pi-c…berry-pi-zero-w

    1x Netzteil

    > https://www.berrybase.de/raspberry-pi-c…bauform-schwarz

    1x Gehäuse

    > https://www.berrybase.de/raspberry-pi-c…ero-rot/wei-223

    1x Mini HDMI zu HDMI Adapter

    > https://www.berrybase.de/audio-video/ad…adapter-wei-223

    1x HDMI Klinke Audio Ausgang

    > https://www.berrybase.de/raspberry-pi-c…kompakt-wei-223

    1x Audio Entstörfilter

    > https://www.berrybase.de/audio-video/ad…-r-3-5mm-klinke

    1x Klinke zu Klinke Kabel

    > https://www.berrybase.de/audio-video/an…nken-audiokabel

    1x WiFi Steckdose HS110

    > https://www.tp-link.com/de/home-networking/smart-plug/hs110/


    Wünsche euch viel Erfolg, Spaß und Hörgenuss für die kommende Zeit.

    monateng

    3 Mal editiert, zuletzt von monateng (20. Januar 2021 um 01:04) aus folgendem Grund: Link Anpassungen

  • Raspi Zero W: Intelligentes Audio System mit Integration von Spotify, AirPlay u.f.w. Möglichkeiten? Schau mal ob du hier fündig wirst!

  • Genau so ein Projekt schwebt mir auch vor. Allerdings mit Webradio und MP3s, die auf einem NAS gespeichert sind, aber das lässt sich bestimmt mit einem Zero W realisieren...

    Von daher mal ein dickes Dankeschön für die Mühe...

  • Hey,

    Genau so ein Projekt schwebt mir auch vor. Allerdings mit Webradio und MP3s, die auf einem NAS gespeichert
    [...]

    die von mir erwähnte Skript-Sammlung nicokaiser beinhaltet, Stand heut, diese Optionen.

    Zitat

    A simple, light weight audio receiver with Bluetooth (A2DP), AirPlay, Spotify Connect and UPnP.

    Also, dein Projekt gilt mit UPnP/DLNA bereits umgesetzt. Bin auf deine Erweiterte Beschreibung für dein Thema sehr gespannt.


    Aber auch Eure Ideen zu diesem Thema nehme ich sehr gern mit auf.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!