Diskussion/Fragen: Anleitung zum schalten von GPIO

  • Hallo,


    Erstmal großes Lob an Dich für Deine Anleitung mit Python sieht sehr elegant aus, um ehrlich zu sein habe ich es mir aber nicht in seinem ganzen Umfang angeschaut, weil ich mich mit Python nicht auskenne.
    Ich scheine einer der wenigen zu sein, die mit Python sofort frustriert waren, deshalb wollte ich es in C++ lösen.


    Eigentlich brauche ich das Ding wirklich nur zum An- und Ausschalten von GPIOS. Die zu Grunde liegende Idee ist eine Bewässerung, aber noch weit entfernt. Ich komme jetzt aber an einen Punkt, an dem ich das ganze nicht weiterentwickeln möchte, da mir der Umfang reicht. Ich hatte aber viel Spaß dabei und vielleicht möchte irgendwer daran weiterbasteln. Der Ablauf ist prinzipiell wie folgt:


    Irgendetwas (Alles was eine HTTP Anfrage senden kann) sendet einen POST Request mit den Werten curstate="XX"&gpio="YY" an "toggle.php". Toggle.php leitet diese Daten weiter in die Pipe, in der sie dann von webListener (der per Poll dauerhaft lauert) auseinandergenommen und entsprechend verwurstet werden.
    Bekannte "curstate" Inhalte sind on, off, in, out, rise, fall, both. stop schießt die Endlosschleife ab und das Programm wird beendet.
    Als gpio muss die Gpio Nummerierung verwendet werden. Bisher werden 2 und 3 wegen der I2C Schnittstelle unterbunden, alles andere bis 40 wird einfach durchgewunken.


    Zusätzlich (wenn auch sehr speziell) realisiert:
    C++: Beim umschalten eines GPIO auf Ausgang, wird automatischein evtl. vorhandener Edge Eintrag gelöscht.
    php: Beim umschalten wird der neue Wert in eine XML Datei geschrieben, die ich dazu nutze die Werte der GPIOs auf der Website darzustellen.


    Ist wahrscheinlich alles nicht professionell, aber ich bin ja eigentlich auch Chemiker :D


    C++ Code:


    webL-header:



    PHP-Code (nur als Beispiel wie ich es nutze):

    Edited once, last by El_Zetto ().