Buttons zum GPIO steuern

  • Hallo,
    ich hab mir eine simple Website programmiert um mir ein kleines Fahrzeug
    über W-LAN zu steuern.
    Mein Problem ist nun das ich es nicht schaffe die Buttons auf der Seite gleich groß
    zu bekommen.



    Es kann sein das in diesem Script "unnötige" Zeilen existieren, habe es oft überarbeitet.
    Ich weiß auch dass das nicht die eleganteste Lösung ist, aber es reicht für mein Projekt vollkommen.


    Hoffe ihr könnt mir helfen.


    MfG ProfDrFisch


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


    Support per [PM]

  • <input type="Submit" name="IO-setzen1" WIDTH="150px" value="Vorwaerts">

    die Breite läßt sich mit width festschreiben, für alle Buttons den gleichen Wert nehmen


    Gruß Clonix

    Kommentare in Scripten/Sourcecodes machen nicht nur DIR das Leben leichter ;)

    Edited once, last by Clonix ().

  • Danke für die schnelle Hilfe, aber die Größe hängt immer noch von der Schrift ab.


    MfG ProfDrFisch


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


    Support per [PM]

    Edited once, last by ProfDrFisch ().

  • <input type="Submit" name="IO-setzen1" style="width:150px" value="Vorwaerts">


    sorry mein Fehler


    Gruß Clonix

    Kommentare in Scripten/Sourcecodes machen nicht nur DIR das Leben leichter ;)

  • Also bitte:


    * font-Tags sind schon lange veraltet !
    * Inline-Styles sind manchmal noetig, aber sicher nicht hier
    * Masse nicht in Pixeln
    * HTML vernuenftig einruecken bringt Uebersicht



    Das Copy and Paste PHP habe ich auf Wunsch von ProfDrFisch gelassen wie es war ...

    Edited once, last by Tell ().

  • Ok danke an alle,
    es funktioniert jetzt wie es soll.


    MfG ProfDrFisch


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


    Support per [PM]

  • Ich seh da aber auch noch Optimierungebedarf was den PHP Teil betrifft :fies:



    Code immer in CODE bbcode posten, nicht in Zitat (quote), sonst geht die Formatierung flöten und es is für Helfer/fremde wesentlich schwerer den Code zu entziffern


    Zunächst mal solle mans übersichtlicher schreiben - gewöhn dir das lieber jetzt schon mal an.


    Kommentare helfen ungemein, wenn sie denn richtig sein. Bei dir sieht das aber leider nach copy&paste aus also helfen die nicht wirklich :(


    Dann wäres gut wenn du die Variablen vernünftig nach ihrer Funktion benennst. IO-setzen* ist nicht wirklich verständlich was sich dahinter verbirgt. Alternativ könnte man aber auch nur name="IO" nutzen und value auswerten, das würde es auch vereinfachen.
    Anstatt der einfachen input's würde ich aber auch vielleicht button's in Betracht ziehen.




    Und dann gäbe es auch ein paar Möglichkeiten diese Umpol Geschichte zu vereinfachen:

    • Entweder du arbeitest mit ner session wo dann die zuvor gesetzten Zustände/Richtungen gespeichert werden und im PHP Teil geprüft werden - hätte allerdings den Nachteil das die session gelöscht wird sobald du den Browser schließt oder die Standard-gültigkeitszeit der Session von 1440 Minuten abläuft.. ZB: Wenn die Datei .Rueckwaerts existiert gpio3=0 gpio4=0, Datei löschen und .Vorwaerts erzeugen, dann gewünschte neue Aktion durchführen.. Das hätte eben den Vorteil das die Richtung permanent bekannt wäre.
      Wichtig hierfür ist aber dass der Benutzer des Webservers auch Schreibrechte im aktuellen Verzeichnis wo sich das PHP File befindet (chown -R www-data:www-data /var/www) hat.
    • Um das Problem aus 1. zu lösen einfach eine temporäre Datei erzeugen die dann auf existens geprüft wird.
    • Du das schalten der Zustände/Richtungen über ein Shellscript realisierst, was dann ebenfalls eine temporäre Datei erzeugt welche dann geprüft wird.


    Um bei der 2. Methode nicht ständig den selben Code zu wiederholen empfiehlt es sich eine Function anzulegen, die dann mehrmals an entsprechender Stelle aufgerufen werden kann. Wenn sich dann was ändern sollte brauch man nämlich nur ein mal den Code in der Function ändern. Das könntest du auch für das Setzen der GPIO's verwenden aber das sei nur nebenbei erwähnt ;)




    Ums noch schöner zu machen könntest du auch einbauen dass die aktuelle Richtung angezeigt wird..


    Auch fehlt aber noch eine Überprüfung ob der jeweilige GPIO überhaupt aktiviert wurde, bevor versucht wird in die "value" Datei zu schreiben... Also ggf an den Anfang des Scripts eine Überprüfung aller verwendeten GPIOs einbauen und sofern die Dateien nicht existieren -> export



    PS: Es fehlte in deinem Beitrag aber auch noch Rueckwaerts (sowohl php als auch html code), sowie das abschließende ?>, copy&paste Fehler?