Mpd/mpc mit shairport auf einem Gerät

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo,
    Bin neu hier....
    Gleich zu Anfang gleich mal ne Verständnis frage.
    Ich habe auf meinem pi mpd/mpc für Web Radios laufen.
    Nun habe ich es geschafft mit shairport die airplay Funktionalität zum laufen zu kriegen.

    Nun wollte ich folgendes, falls ein Web Radio über mpc läuft und sich dann ein Gerät per airplay verbindet soll mpc=stoppen.
    An sich ja kein Problem mit einem Script,
    Mein Problem und frage ist nun, wie/wo kann ich herausfinden ob jemand mit dem shairport über airplay verbunden ist oder nicht?
    Wenn ich "shairport Status" eingebe bekommen ich eine Fehlermeldung.....(siehe Foto)

    Ich hoffe es kann mir einer einen schubs in die richtige Richtung geben....

  • lsof -i | grep auf den Shairport-Port wenn du Verbindung hast und im Vergleich wenn du keine hast. Dann vergleichst du das ganze und baust dir darum
    einen Script.

  • Also da ich mit der vorgeschlagenen Methode das nicht lösen kann, habe ich nun versucht das mit GPIO zu lösen.

    Die Idee:
    Ich werte einen Input aus und je nachdem wie der "Schalter" steht soll dementsprechend mpc OFF oder mpc ON sein.

    Ich habe nun ein paar Verständnis fragen:
    - wenn ich beim Hochfahren eine Datei ausführe also eine mit *.py, diese ist ja dann nicht permanent in Bearbeitung oder? Denn so wie ich es gesehen habe wir diese nur einmal abgearbeitet.
    - Da ich nur einen GPIO nutzen will und nach einigen Testes festgestellt habe dass ich am besten mit Flankenauswertungen arbeiten sollte, stellt sich mir die frage wie ich es am besten anstellen sollte. Ich habe schon ein Lösungsansatz den ich dann mal Poste.....

  • So hier mal meine startdatei.py ....

    Also ich glaube ich habe hier ein grundsätzliches Verständnissproblem.....


    Einmal editiert, zuletzt von Neledo (6. April 2015 um 01:35)

  • PUSH

    Brauche wirklich Hilfe, wäre nett...:danke_ATDE:
    Ich habe so vile Verständnissprobleme und suche mir im Moment nen Wolf im i-net...:@


    Bin jetzt auf diesen Beitrag gestoßen aber ich kann mit dem darin beschriebenen Code nichts anfangen, kann mich mal einer aufklären wie das funktioniert...???:wallbash::wallbash::wallbash:

    Phillip2000
    21. November 2014 um 17:56
    Code
    import os
    variable=os.popen("/usr/bin/mpc").readlines()
    • Offizieller Beitrag
    Code
    import os
    variable=os.popen("/usr/bin/mpc").readlines()

    Beziehst du dich hierauf? Dann mach es doch mal so

    Code
    import os
    variable=os.popen("/usr/bin/mpc").readlines()
    print varibale


    Dann sollten in varibale ein Haufen Sachen die du ggf Auswerten kann.

    Dein Code weiter oben funktioniert in der Theorie, allerdings wird er nur einmal druchgerattert und das wars. Also muss er irgendwas machen, während er auf einen Tasterdruck wartet

    Code
    import time
    import sys
    import os
    .
    .
    .
    GPIO.add_event_detect(EingangSieben, GPIO.BOTH, callback=inputLow, bouncetime=bounce_time)
    while True:
        time.sleep(10)

    Der Unterschied zwischen Genie und Wahnsinn definiert sich im Erfolg.

    Einmal editiert, zuletzt von dbv (10. April 2015 um 05:48)

  • Zitat


    Dein Code weiter oben funktioniert in der Theorie, allerdings wird er nur einmal druchgerattert und das wars. Also muss er irgendwas machen, während er auf einen Tasterdruck wartet

    Genau das ist als wo ich hänge und nicht verstehe wie/was ich machen soll...
    denn in allen Tutorials und alles Büchern ist zwar das mit den GPIOs gut Beschrieben, aber diesen Punkt habe ich irgendwie nirgendwo gefunden....

    Ich hoffe ich habe nicht wieder etwas falsch gemacht,
    aber ich habe eben schnell ausprobiert....

    also das

    Code
    import os
    variable=os.popen("/usr/bin/mpc").readlines()
    print varibale

    Und das kam als antwort (in Putty)

    Code
    Traceback (most recent call last):
      File "patterntest1", line 3, in <module>
        print varibale
    NameError: name 'varibale' is not defined

    Einmal editiert, zuletzt von Neledo (11. April 2015 um 01:40)

Jetzt mitmachen!

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