• Dank eurer Hilfe habe ich es schon fast geschafft mein erstes Projekt abzuschließen ....

    Stand:

    Ich kann über Webserver intern sowie auch übers Netz meine Garage Steuern das sehr gut funktioniert !

    Meine Weboberfläche ist ein .php Script mit einen Button der alle 3 Zustände meiner Garage steuert über ein Relais !

    Jetzt würde ich noch gerne meine 2 Sensoren einbinden, um den Status auch Optisch auf dieser Seite anzeigen zu lassen für Garage Zustand Offen und Garage Zustand Geschlossen.

    Ich habe leider keinen Plan wie ? ..... hat irgendjemand Vorschläge für mich...es soll nicht kompliziert werden mir genügt ein Button der erscheint mit Offen od. Zu ... keine Ahnung wie ?

    Meine Sensoren geben ein Signal von 3,3 Volt aus, das habe ich alles schon vorbereitet, ich bräuchte nur Hilfestellung wie ich das angehen kann mit einen Skript ??

    Vielleicht hat ja jemand noch eine Idee ?

    Vielen Dank,

  • Du musst durch vergleichen herausfinden welche Werte High und Low sind und abhängig davon eine Ausgabe anzeigen.
    Wenn du dein bisheriges PHP hochstellst können vielleicht auch andere besser Helfen

    Es gibt KEINE dummen Fragen!

  • Ich sehe drei Moeglichkeiten:

    * Eine statische Webseite die vom User manuell neu geladen wird
    * Eine statische Webseite die die sich ueber das meta refresh selber wieder laedt
    * Eine dynamische Seite mit AJAX

    Die erste Variante ist einfach zu realisieren. Entweder kann das PHP-Script die
    verwendeten IOs selber auslesen oder ein unabhaengiger Prozess schreibt den
    aktuellen Zustand dauernd irgendwo hin wo ihn das Script lesen kann.

    Die zweite Variante ist gleich wie die erste, nur braucht es ein meta-Tag im head-Element


    AJAX ist komfortabel fuer den User, aber der Server arbeitet und fuellt das Log...

    Ein JavaScript auf der Seite schickt im Hintergrund Abfragen zum Server und
    schreibt die aktuellen Daten auf die Webseite. Das braucht etwas Wissen ueber
    das DOM-Modell und JavaScript, sonst kriegt man das nicht hin.

    Man kann sich die Arbeit etwas erleichtern mit JavaScript-Libraries wie jQuery,
    aber ganz ohne Verstaendnis fuer HTML, Scripts auf dem Server und JavaScript
    geht es vermutlich nicht.

  • Ich hab kein PHP auf meinem PI, aber als erster Ansatz muesste das gehen:

    Die Anleitung nimmt an, dass GPIO4 durch NICHTS belegt ist !

    a) Vorbereitung

    Den nachfolgenden Code in ein File namens setup speichern

    Bash
    #!/bin/bash
    
    
    echo "4" > /sys/class/gpio/export
    echo "in" > /sys/class/gpio/gpio4/direction

    Das File ausfuehrbar machen mit chmod 755 setup

    Das Script ausfuehren mit sudo ./setup

    -> Jetzt gibt es ein File /sys/class/gpio/gpio4/value, und das ist lesbar vom User www-data

    b)

    Ins PHP-Script diesen Code einsetzen

    PHP
    Zustand: <?php echo file_get_contents( '/sys/class/gpio/gpio4/value' ) ; ?>

    Wenn das Pin auf 3.3V steht, muesste eine 1 dort stehen, sonst eine 0

    Wenn das klappt, machen wir morgen weiter :D

  • Also soweit habe ich alles gemacht....nur leider in meiner .php Seite bleibt Zustand leer....

    Wenn ich aber ins Verzeichnis value gehe steht eine 0 dort (noch keine 3,3V angelegt).....ausführbar habe ich die Datei auch gemacht wie du beschrieben hast...soweit geht alles außer das er mir es nicht wirklich in meiner Seite anzeigt....

    Aber der Ansatz ist sehr gut hoffe du hast morgen noch etwas Zeit für mich...wahrscheinlich habe ich etwas falsch gemacht :daumendreh2:

    Vielen Dank einstweilen für deine Hilfe...aber ich bin auf den richtigen Weg glaube ich zumindest ;)

    Gute Nacht,

  • das kommt raus.........

    Fri Jan 03 23:47:17 2014] [error] [client 10.0.0.23] PHP Warning: file_get_contents(/sys/class/gpio/gpio4/value): failed to open stream: Permission denied in /var/ww$

    Den Code hab ich als setup.sh gespeichert hoffe das war richtig ?
    und den php Script zu meiner bestehenden Seite dazukopiert.

  • Führ einmal den Befehl

    Code
    sudo chmod 644 /sys/class/gpio/gpio4/value

    Dann hat jeder die Berechtigung die Datei zu lesen
    wenn es zu Problemen kommt dann verwende einmal

    Code
    sudo chmod 666 /sys/class/gpio/gpio4/value


    Da darf dann jeder Lesen & Schreiben

    Es gibt KEINE dummen Fragen!

  • hmmm bleibt dabei "PHP Warning: file_get_contents(/sys/class/gpio/gpio4/value): failed to open stream: Permission denied in /var/ww$"

    Wenn ich über Filezilla reingehe und die Value anschaue ist bei Dateiberechtigung nirgends ein Häckchen bei Ausführen......kann ich aber auch nicht über Filezilla ändern ? .....aber ausführen wird ja nicht gebraucht oder? auf jedenfall ist jetzt auf 666 !

    Einmal editiert, zuletzt von newjack36 (4. Januar 2014 um 11:04)

  • Bei zustand kommt nix und dies ist das Error log :

    Sat Jan 04 11:30:18 2014] [error] [client 10.0.0.23] PHP Warning: file_get_contents(/sys/class/gpio/gpio4/value): failed to open stream: Permission denied in /var/www/zustand.php on line 1

  • Halt, Stop, Sichern:

    [font="Tahoma, Verdana, Arial, sans-serif"]> file_get_contents(/sys/class/gpio/gpio4/value): failed to open stream[/font]

    [font="Tahoma, Verdana, Arial, sans-serif"]Im letzten Post habe ich '[/font][font="Tahoma, Verdana, Arial, sans-serif"]/sys/devices/virtual/gpio/gpio4/value' angegeben ![/font]

  • Habe dies jetzt eingefügt:

    Zustand: <?php echo file_get_contents( '/sys/class/gpio/gpio4/value' ) ; ?>

    Error:
    PHP Warning: file_get_contents(/sys/class/gpio/gpio4/value): failed to open stream: Permission denied in /var/www/zustand.php on line 1


    Hoffe du hast das jetzt so gemeint ?

  • ....ich habe alle 2 Varianten getestet.....
    Zustand: <?php echo file_get_contents( '/sys/devices/virtual/gpio/gpio4/value' ) ; ?>
    Zustand: <?php echo file_get_contents( '/sys/class/gpio/gpio4/value' ) ; ?>

    und es ist überall dasselbe....tja da anscheinend mein Hirn mit dieser Aufgabe überfordert ist habe ich meine alte IP Cam rausgesucht in meine php Seite eingebunden und sehe halt nun so ob wirklich zu oder offen ist !

    Es tut mir leid aber ich kenne mich nun mal mit Linux nicht aus .....das mit den Sensoren muss ich wohl lassen...

Jetzt mitmachen!

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