Phoniebox DAC installieren und anschließen

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • schlizbäda  hyle

    Bin jetzt nochmal mit den Buttons angefangen. Einen Versuch wage ich noch, da der Hinweis mit dem Modul der GPIO kam.

    WiringPi habe ich nicht wirklich verstanden.

    Nun habe ich nochmal bei gpio angefangen auch wenn es alt ist. Ich muss in meinem Fall nur zweit Taster überwachen und wenn diese gedrückt werden in der "Console" den Befehl mpc next oder mpc prev reinbekommen.

    Der Rest klappt übrigens über meinen KY-040 Drehencoder. Keine Störung. Auch schein dmix zu funktionieren.

    Zu meinen Button mal mein Skript was ich gerade versucht habe mit Hilfe des Kofler Buches zu schreiben.

    Ich habe diesen aktuell nicht getestet, da ich absolut nicht weiß ob man das so schreiben kann/darf und auch ob Pull ab Down wirklich aktiviert werden.

    Bitte schaut mal drüber wenn Ihr Zeit habt und gibt mir Verbessungen vor. Danach möchte ich ausprobieren, ob es an gpiozero liegt.

    • Offizieller Beitrag

    Erstmal nur kurz... Nein, starte das Skript bitte nicht! Wenigstens nicht solange Du keine echten (Hardware) Widerstände benutzt. :conf:

    Ich muss erstmal in Ruhe drüberschauen.

    //Edit:

    hailogugo Ich hoffe ich habe nichts übersehen. Mit RPi.GPIO hab ich nicht viel am Hut und ist auch schon ne Weile her. Der Code ist selstverständlich ungetestet! Sieh deshalb bitte selber nochmals darüber! ;)

  • Jetzt hast du fast alles geändert. Jetzt sieht es ähnlich aus wie gpiozero.

    ne hyle setzt einfach auf callback's und nicht auf polling. Das hat aber nicht s mit gpiozero zu tun. apropo, warum nicht gpiozero? ;)

    Was ich nicht verstehe ist der Sinn von Zeile 21/22 im Code von hyle.

    • Offizieller Beitrag

    Was ich nicht verstehe ist der Sinn von Zeile 21/22 im Code von hyle.

    Python: mein_vorschlag_stattdessen
    import signal
    ...
    signal.pause()

    An pause hatte ich in Verbindung mit RPi.GPIO gar nicht gedacht. :shy:

    Das geht natürlich auch.

  • Jupi es funktioniert!

    Was habe ich gemacht.

    den Skript von Hofei kopiert. (Das war gut von mir ;))

    dann hatte ich den Service von den Buttons wieder aktiviert. Dies tat nicht!!!!!!!!

    Ich habe dann den Autostart der button über rc.local jetzt gemacht und es funktioniert.

    Ich freu mich.

    Danke allen. Hofei  schlizbäda  hyle

    Ich werde nochmal alles zusammenstellen um einen Abschlussbericht zu schreiben.

  • Das Skript von hyle - ich hab nur 3 Zeilen geändert ;)


    dann hatte ich den Service von den Buttons wieder aktiviert. Dies tat nicht!!!!!!!!


    Ich habe dann den Autostart der button über rc.local jetzt gemacht und es funktioniert.

    Den Part versteh ich nicht :conf:

    EDIT: hailogugo

    In diesem Thread hier kann ich nirgends das nicht funktionierende gpiozero Skript von dir entdecken - kannst du mir das mal zeigen.

    Kann mir noch nicht vorstellen das es am Modul liegt

  • Okay

    Also ich spreche bestimmt nicht Linuxjanisch. Da ich bei weitem nicht fit in dem Thema bin.

    Es gibt bei der Phoniebox einen Service der aktiviert wird beim Start damit die button.py auch aktiviert ist.

    Das ist jetzt die gpio-button.py als Example. Bei mir habe ich ein paar Dinge deaktiviert, da ich zum einen für Play/Pause, Vol+/- einen KY040 Encoder nehme und da ich noch einen On/Offshim benutze.

    Es gibt aus meiner Sicht nur noch den Fall des Service wo ich jetzt rc.local gewählt habe. Dies wollte ich nochmal testen.

    Meine neue Button.py hat mit dem Service auch nicht getan. Der Ton kam nicht.

    Ich hoffe jetzt ist es verständlicher.

  • Hattest du das probiert gehabt?

    Das erscheint mir nämlich einleuchtend

    Wie immer gilt, sich nicht durch die leider unglücklich unterschiedlichen Nummerierungen von BCM, Board und GPIO Name verwirren zu lassen

    • Offizieller Beitrag

    Sehe ich auch so wie Hofei . Der Fehler liegt im Skript und nicht bei gpiozero. Steht aber auch in den Zeilen 6 u. 7. ;) Versuche mal folgendes Skript. Das macht nichts anderes als das RPi.GPIO-Skript.

    Ungetestet!

  • Es ist gute Praxis, auf Modulebene nur Imports, Konstanten, Funktionen und Klassen zu plazieren. check_call zu verwenden halte ich für unnötig, da du den möglichen CalledProcessError eh nicht abfängst.

    Die Python-Doku empfiehlt:

    The recommended approach to invoking subprocesses is to use the run()
    function for all use cases it can handle. For more advanced use cases, the
    underlying Popen interface can be used directly

    Ungetestet!

  • So ich habe jetzt nochmal Eure Skripte getestet.

    Beitrag 72 und 73. Funktionieren beide.

    Jetzt zu meinem alten Skript, welcher mit der Onboardsoundkarte funktioniert.

    Diese greift auf playout-controls.sh zu

    Hier der Code von dieser Datei:

    Sobald ich meine alte Datei gpio-buttons.py aktiviere ist der Sound weg.

    Warum weiß ich nicht wirklich. Da die anderen beiden Datein jetzt funktionieren reicht mir es auch.

    Liegt aber somit auch nicht am Service / rc.local sondern an der einzelnen gpio-button.py Datei.


    Meine weiteren Einstellungen:

    asound.conf

    config.txt

    mpd.conf

    als Anlage anbei.

    • Offizieller Beitrag

    Du hast Pins als Button und eine als Led definiert, die vermutlich die Soundkarte, bzw. I2C braucht. Ich tippe mal auf GPIO21 für die Led. Kommentiere die doch testweise auch mal aus.

  • Super, das es funktioniert!!!

    Hab den Mini Amp und damit klappt es auch perfekt! Beim Mini Amp bleiben auch noch ausreichend GPIOs frei...

    Werde jetzt nicht die nächste Sache testen, hab fünf verschiedene USB-Soundkarten durch, diverse 5V Stromversorgungsmöglichkeiten usw. Der Mini Amp macht genau das was er soll und jetzt muss mal gut sein ;)

Jetzt mitmachen!

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