Internetradio mit python

  • Hi Leute,


    ich habe im Moment ein Projekt bei dem ich leider nicht weiterkomme. Habe gestern den ganzen Tag versucht es hinzubekommen und hoffe auf euer Expertenwissen.


    Nun zu dem Problem, ich möchte ein altes Röhrenradio internetfähig machen und habe einen Testaufbau mit vier Hardwareschaltern aufgebaut. Ziel ist es mit den Schaltern jeweils nur einen Internetradiosender einzustellen.


    Soweit so gut, leider ist es nur so wenn der erste Schalter "AN" ist der Befehl "mpc play 1" in Dauerschleife läuft, sobald ihn ihn "AUS" schalte läuft der Internetsender wie er soll, auch das umschalten auf die anderen funktioniert. Allerdings auch nur wenn ich sie kurz "AN" und wieder "AUS" mache.


    Kenne mich leider nicht so gut mit python aus und vermute, dass es etwas mit Interrupts zu tun haben könnte? Bin nur leider nicht wirklich schlau draus geworden.


    Achja verwende 3,3 V zum Schalten und habe reale pull down Widerstände drin (10kOhm).



    Wäre super wenn jemand eine Idee hat, bedanke mich schonmal im vorraus.


    Grüße
    Axel

  • Die Einrückungen sind falsch. Bitte korrigieren.



    Davon abgesehen wäre es besser wenn du Interrupts verwendest, das verursacht nicht so viel CPU Last wie deine Poll-Methode ohne sleep.
    FAQ --> Nützliche Links / Linksammlung --> Interrupt

  • Hi, vielen Dank schonmal für den Hinweis.
    Habe nun auf Interrupts umgestellt aber noch immer das Problem der "Tasterfunktion" am Schalter, fällt dir dazu was ein?


    Anbei nochmal der Code (beim letzten Mal hat der Editor alle eingerückt)



    Grüße
    Axel

  • Hast du schon mal mit Python gearbeitet?


    Erneut: Die Einrückungen sind falsch. Merk dir das du nach jedem Doppelpunkt eine Einrückung machen musst. Das ist bei Python extrem wichtig.


    Und guck dir bitte noch mal die Interrupt Beschreibungen von mir an - du brauchst nicht für jeden Taster eine eigene Callback, das kannst du alles in nur einer Funktion abhandeln.



    Kurti: Interrupt ist eine Flankenauswertung ...

  • falsch gelesen,
    Antwort war falsch

    Die beste Funkverbindung ist immer noch ein Kabel.

    Edited once, last by Kurti ().

  • Hallo, danke erstmal für den Hinweis wegen des Einrückens.


    Habe das Interrupt Tutorial nun mehrmals angeschaut, nur komme ich leider einfach nicht weiter.


    Und du hast Recht, bin Python Neuling und Programmiererfahrung habe ich nur rudimentäre C Kenntnisse...


    Ich habe für die Taster nun eine Funktion erstellt, nur leider reagiert er nun nicht auf Änderungen der GPIO's


    Wenn ihr nochmals drüberschauen könntet wäre super.


    Edited once, last by aki86 ().