PHP GPIO Script

  • Hallo,


    ich will eine Website Programmieren, auf der die Tasten w a s d abgebildet sind (so wie auf Tastatur).
    Wenn man jetzt z.B. die W_Taste drückt, soll sich die Grafik dieser ändern und ein GPIO port (über Shell) aktiviert werden und wenn man W loslässt wieder deaktiviert, das selbe für A,S und D.


    Ist das möglich? Wenn ja kann mir bitte jemand helfen, evtl. Link zu Tutorial, Sourcecode, etc.


    Die GPIOs will ich ansteuern in dem ich in die jeweilige Datei 1 oder 0 schreibe.
    also echo "1" > GPIO...


    Ein "Gefällt mir" oder eine Bewertung wäre nett. :danke_ATDE:


    Support per [PM]

    Edited once, last by ProfDrFisch ().

  • Hallo,


    ich würde so vorgehen:
    Als erstes erstellen des/der Python Script(e).
    Danach eine html Seite, welche per ajax/jquery eine PHP seite aufruft. Diese PHP seite führt dann das Python Script z.B. über shell_exec() aus.


    Wie gut kennst du dich mit der Programmierung aus bzw. reichen diese Infos?


    LG
    mlt

  • Danke für die Antwort,
    aber mit Pyhton kenne ich mich gar nicht aus, ich steuer die Pins über echo "1" > gpio3/value bzw. eine Shelldatei in der die Befehle stehen.
    Die PHP Seite würde ich über Apache2 laufen lassen. Mir geht es halt darum wenn W, A, S, oder D gedrückt werden ein Script ausgeführt wird und wenn man die Taste wieder loslässt ein anderes.


    Ein "Gefällt mir" oder eine Bewertung wäre nett. :danke_ATDE:


    Support per [PM]

  • Danke für eure antworten,
    allerdings habe ich mir überlegt ich könnte es viel leichter machen, indem ich eine Schaltfläche
    in PHP programmiere und wenn dies gedrückt wird ein Befehl in der Konsole ausgeführt wird (über shell_exec(command)). Nur habe ich das Problem das ich mich nicht mit Web-Programierung auskenne und nicht weiß, wie ich einen solchen Button programmieren kann, es wäre nett, wenn mir jemand den Script für einen Button mit dieser Funktion schreiben könnte. (Es würde der Script für den Button reichen, es muss keine ganze Seite sein.)


    Ein "Gefällt mir" oder eine Bewertung wäre nett. :danke_ATDE:


    Support per [PM]

  • Hi,
    du kannst in PHP nicht auf Tastatureingaben reagieren, dies musst du auf der Seite mit javascript realisieren.
    Füge den den Head-Bereich der Seite folgenden Code ein:



    Beachte das ich zum senden des Ajax-Befehls jquery im beispiel verwendet habe. jQuery musst du dann natürlich auch einbinden.


    Das Beispiel sendet dir beim drücken und loslassen der Tasten die benötigten Daten an ein PHP-Skript "handlekey.php"
    Dort kannst du sie dann entsprechend weiterverarbeiten



    [hr]
    Das "Highlighten" der Buttons kannst auch mit jQuery ganz einfach machen:
    Zuerst den Buttons:
    <span id="key-W" style="background: darkred; color: #fff;">W ist aus</span><br />
    <span id="key-A" style="background: darkred; color: #fff;">A ist aus</span><br />
    usw


    Um jetzt den Status zu verändern füge einfach in meinem vorherigen beispiel noch folgende Zeilen in der Funktion submitKey ein (nach der Switch-Anweisung)


    Code
    if(state == 'up') {
        $('#key-'+keyName).html(keyName+' ist aus').css({background: 'darkred'});
    }
    else {
        $('#key-'+keyName).html(keyName+' ist an').css({background: 'darkgreen});
    }

    Edited once, last by Joogie ().