[Tutorial] Spotify Connect Server Headless/Standalone


  • Nach sehr langer Suche hab ich eine Lösung gefunden gefunden. Eventuell hilft es jemanden, der das gleiche Problem hat.

    In der Datei console_cappback.py (https://github.com/Fornoth/spotify-connect-web)

    Diese folgende Zeile verändern, je nachdem welche Einstellung man haben will.
    Das Problem hier ist, dass alsa.Mixer() eigentlich 3 bzw. 4 Parameter erwartet, hier wird nur ein Parameter übergeben, die restlichen sind entsprechend default.

    Code
    mixer = alsa.Mixer(args.mixer)

    Entsprechend der Dokumantation von pyalsaaudio sind die Parameter einzustellen, die gewollt sind.
    Dafür am besten folgende Funktionen zur hilfe nehmen:
    alsaaudio.cards[font="sans-serif"]([/font][font="sans-serif"])[/font]

    [font="sans-serif"]alsaaudio.cardmixers[font="sans-serif"](cardindex[/font][font="sans-serif"])
    [/font]
    bei mir war die entsprechende konfiguration wie folgt:

    Code
    mixer = alsa.Mixer(alsa.mixers(1)[0],0,1)


    [/font]Gruß

  • [Tutorial] Spotify Connect Server Headless/Standalone? Schau mal ob du hier fündig wirst!

  • moin,

    ich abe Volumio auf ein PI drehen (Pi 1B+ mit ein hifiberry DAC+) und versuche seit ein paar wochen dieses script zu drehen auf die PI mit volumio. Alles functioniert aber nur nach handmassig einfuhren von ./spotify-connect-web.sh --name Huiskamer --username ******* --password ***** --bitrate 320

    Schon versucht dass auf zu nehmem in rc.local aber kein erfolg...

    Jemand eine idee ??

    Dank,

    Redmer (Holland)


  • Hey,
    ich habe es versucht mit allen möglichen Einstellungen über rc.local zu starten, leider ohne Erfolg.
    Über crontab habe ich es auch versucht und das hat auch nicht funktioniert.

    Keine Ahnung was das Problem da sein könnte, eventuell hat jemand eine Idee.

    Gruß

  • Hallo @all,

    Ich habe mir das Tut durchgelesen und es ist genau die Lösung die suche. Nun wollte ich den App Key von der Spotify Dev. Page runter laden, aber ich bekomme dort nur folgende Aussage angezeigt:


    Zitat

    [font="helvetica neue, arial, helvetica, sans-serif"]My application keys[/font]

    [font="helvetica neue, arial, helvetica, sans-serif"]Your account does not have any application keys, you can request one in the form below.[/font]


    [font="helvetica neue, arial, helvetica, sans-serif"]Muss ich dort jetzt ein Key anfragen oder habe ich etwas überlesen oder "falsch" gemacht.[/font]

    [font="helvetica neue, arial, helvetica, sans-serif"]MfG[/font]

    [font="helvetica neue, arial, helvetica, sans-serif"]Edit: Da stand ich mir gerade selber im Weg :@, Habe den Key jetzt bekommen.[/font]

    Einmal editiert, zuletzt von corsaturbo (12. Januar 2016 um 14:57)

  • Moin,

    Vielen Dank für diese Anleitung. :danke_ATDE:
    Bei mir rennt ein RPi 2 mit Raspbian Jessie Lite an meiner Stereoanlage. Ich bin per Putty aufgeschaltet und bin jetzt deine Anleitung durchgegangen bis zum dritten Schritt, da komme ich nicht weiter. :helpnew:
    Ich bin die ganze Zeit als root unterwegs und führe damit auch alle befehle aus, natürlich ohne sudo. Um in den ¨Root-Modus¨ zu gelangen habe ich den Befehl ¨sudo -s¨ genutzt. Wenn ich nun den dritten Schritt ausführe, dann wird zwar etwas heruntergeladen, aber es gibt scheinbar keine veränderung im Verzeichniss /home/pi, denn bei Schritt vier bekomme ich eine Fehlermeldung, dass dasZielverzeichnis nicht vorhanden ist.

    Was kann ich machen um den SCS noch zum laufen zu bekommen.

    Gruß Maxcs
    Automatisch zusammengefügt:
    Achso und was ich vergessen habe zu sagen, ist das ich die .key Datei per FTP in das Verzeichnis /home/pi kopiert habe.

    Gruß Maxcs

    Einmal editiert, zuletzt von Maxcs (12. Januar 2016 um 18:25)

  • Ich bräuchte noch ein paar Details. Welchen Dritten Schritt meinst du? Sag mal bitte die Überschrift.

    Ich schlage dir vor doch bitte als Benutzer pi zu arbeiten und nicht als root. Schließlich soll dieser User hinterher auch alles automatisch starten und ausführen. Und wenn du einmal dein PW eingegeben hast wirst du danach auch nicht mehr gefragt. Der Rest ist ja alles Copy&Paste.

    Wichtig ist noch dass du aus dem homeverzeichnis von pi heraus arbeitest. Ansonsten musst du es dir halt alles umstricken und umdenken.

    Und wenn ich hier einmal auf "Meckeronkel" machen darf: Das Sudokonzept wurde aus Sicherheitsgründen eingeführt, dass eben nicht genau konstant mit Rootrechten gearbeitet wird. Aber das nur am Rande ;) .

  • Entschuldige bitte, wenn ich mich etwas schwammig augedrückt habe. Der dritte Schritt, ist folgender:

    Code
    # Downloade die aktuelle changeroot (~ 180 MB)
    
    
    ./spotify-connect-web.sh install

    Ich habe alles eben gerade nochmal mit dem Benutzer Pi durchgeführt, bin aber auch nicht weitergekommen. Bei jedem Befehl habe ich jetzt ¨sudo ...¨ genutzt. Was mich wundert, dass ich nicht nach einem Passwort gefragt werde, wenn ich bei Raspbian ¨sudo ...¨ eigebe. Wenn ich jetzt den aktuellen chroot herunterladen will, lädt der RPi das auch herunter (ca.170MB), aber mehr passiert nicht.


    Habe ich etwas falsch gemacht? :helpnew:

    Gruß Maxcs

    Einmal editiert, zuletzt von Maxcs (13. Januar 2016 um 19:59)

  • @ metti
    Ich habe jetzt alles von dein Tut verstanden und auch umgesetzt. Ich bin Newbie in Linux und bin noch am einarbeiten.
    Was genau meinst du mit:

    - einen Nutzer, der sich automatisch auf die Shell einloggt ohne X

  • corsaturbo

    Das X steht für den Desktop, den man in Raspbian Wheezy per

    Code
    startx


    startet.
    Standardmäßig wenn man das Raspbian Jessie nutzt wird man auf den Desktop eingeloggt. Bei Raspbian Jessie Lite ist diese Graphische Oberfläche nicht vorhanden.

    Ich hoffe ich konnte etwas weiter helfen.
    Gruß Maxcs

  • Ah Okay, als ist es für mich als Jessie nutzer irrelevant?

    Um mal genau mein Problem zu schildern:
    Ich benutze Raspbian Jessie lite und verbinde mich mit Putty über meinen Windows Rechner mit des Pi.
    Ich habe soweit die Skripte alle abgearbeitet. Wenn ich den Skript per Hand starte läuft SCS auch ohne Probleme (über das Skript)

    Frage 1

    Jetzt lege ich die SCS Datei an und will die Zugriffsrechte anpassen:

    Zitat


    [font="monospace"]chmod u+x scs[/font]

    Das geht bei mir nur mit Root rechten, das ist doch korrekt oder?

    Frage 2

    Ich habe jetzt alles nach Anleitung in den Autostart gepackt.
    Wenn ich das System neustarte, startet SCS aber nicht mit. Wenn ich mich jetzt über Putty einlogge dauert es 30 Sekunden und dann kommt der Hinweis das bash scs nicht ausgeführt werden kann, da ich keine Benutzerrechte habe.
    Woran kann das liegen?

    Danke schon mal für eure Hilfe

  • [font="Source Sans Pro, Tahoma, Helvetica Neue, Arial, sans-serif"]@corsaturbo :Führe mal

    Code
    sudo chmod +x scs

    aus.[/font]
    Automatisch zusammengefügt:

    Ich habe den Autostart mit crontab realisiert.

    Code
    crontab -e

    dort

    Code
    @reboot sleep 30 && scs

    einfügen.

    Viel Glück...

    EDIT:
    @a2dx:Auch ich kann die Lautstärke mit meinem Hifiberry nicht ändern =(
    Kannst du genauer beschreiben, wie du deine Einstellungen definiert hast ?

  • Jetzt wird mir einiges klar woher die Rechteprobleme kommen(denn nix anderes ist es wenn sich das System weigert etwas auszuführen.)

    @ corsaturbo:
    Das ist nicht völlig irrelevant für dich meint aber, dass du zumindest den Xserver nicht mehr deaktivieren brauchst. Das was ich mit meiner Aussage meinte ist, dass du mit: Bitte lass mich nicht lügen:

    Code
    raspi-config

    einstellen musst, dass beim hochfahren automatisch eine Shell geöffnet wird wo der Benutzer pi automatisch eingeloggt wird.

    Das Skript scs kann, wenn man es mit sudo anlegt also "mit Rootrechten", dann gehört es root und du brauchst wenn du Änderungen daran machst Rootrechte. Also verhält sich dein System nicht falsch, aber es war von mir aus so gedacht, dass man das Skript vom Benutzer Pi angelegt wird, da der Befehl

    Code
    chmod u+x

    dazu führt, dass nur der Benutzer, dem das Skript gehört es ausführen darf.

    Ein weg dass jetzt bei dir zu umschiffen wäre das Skript per

    Code
    chmod +x

    ausführbar zu machen, dass halte ich aber für einen dirty workaround.

    Geh also bitte mal hin, lege das Skript ohne sudo und nicht mit sudo -s oder so an, sondern als Benutzer pi und mache es dann auch mit ganz normalen Benutzerrechten ausführbar mit

    Code
    chmod u+x

    Das sollte sowohl Frage 1 als auch 2 beantworten.

    @all: Ich schreibe das auch nochmal ins TUT als Kommentar, da scheinen mehrere User Probleme mit gehabt zu haben.

  • So habe es dank eurer Hilfe zum laufen bekommen.

    Mein fehler war, das ich vergessen habe zu definieren was er ausführbar machen soll, ich habe nämlich nur

    Code
    chmod u+x

    anstatt

    Code
    chmod u+x scs

    eingegeben :wallbash:

  • Hallo zusammen,

    erst einmal ein herzliches Dankeschön für dieses tolle Tutorial!!!
    Damit habe selbst ich es geschafft, als absoluter Raspberry Neuling den SCS aufzusetzen.

    Jetzt eine vielleicht „doofe“ Frage, aber läuft das System bei Euch 24/7 oder wie beendet ihr alles ordnungsgemäß? Zieht ihr einfach den Stecker, wenn ihr mit musikhören fertig seid?
    Danke schon mal und viele liebe Grüße

  • Hallo, vielen Dank für die Anleitung. Allerdings scheitere ich komischerweise schon am Application Key. Wenn ich versuche einen Application Key unter https://developer.spotify.com/technologies/l…#how-do-i-start zu beantragen werde ich aufgefordert mich einzuloggen (was ich ja eigentlich schon bin ^^) und der Login-Prozess führt mich immer wieder im Kreis zum Login-Prompt zurück. Wie komm ich an diesen Application Key? Eine Application habe ich natürlich schon angelegt... Merci!

  • hallo bei mir kommt folgende Fehlermeldung:

    SpInit: 2
    /bin/bash: line 1: 1482 Segmentation fault python main.py --username ******* --password ******* --bitrate 320 --name RasPIiConnect

    nach dem ich das Programm das 1. mal ausführe, kann mir jmd. einen Hinweis geben was ich falschgemacht habe?

  • Vielen Dank für die Anleitung.
    Als Ergänzung habe ich Spotify Connect als Autostart realisiert über systemctl.
    Ich nutze nicht global den Aufruf scs, sondern einfach ein Bash Script mit den gleichen Startparametern.

    Dienst anlegen

    sudo nano /lib/systemd/system/spotifyConnect.service

    Inhalt:

    [Unit]
    Description=Start spotify connect server
    After=network.target

    [Service]
    User=pi
    Type=simple
    ExecStart=/home/pi/spotifyConnect.sh

    [Install]
    WantedBy=multi-user.target


    Dienste neu laden:
    sudo systemctl daemon-reload
    Dienst aktivieren:
    sudo systemctl enable spotifyConnect.service
    Dienst starten:
    sudo systemctl start spotifyConnect.service


    Vielleicht kann es ja jemand gebrauchen.

  • Hi!

    Super Tutorial! Hat wunderbar funktioniert.

    Ich hätte aber noch eine ergänzende Frage:

    Mein Raspberry SCS hängt per HDMI an meinem Denon AV-Receiver.
    Hat jemand von Euch zufällig eine Möglichkeit gefunden, wie ich diesen automatisch per CEC einschalten kann, sobald ein Lied über Spotify Connect abgespielt wird?

    Dann müsste ich den Receiver nämlich nicht extra einschalten, sonder könnte direkt loshören!

    Grüße,
    barthi

  • https://www.raspberrypi.org/forums/viewtop…_client#p158409

Jetzt mitmachen!

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