Posts by bananabread

    @ meigraf


    Ja das war der Code von mir den du gefixt hast!:D Das Projekt schreitet halt rapide vorran...:D


    Das mit den Buttons hab ich bereits korrigiert und den "isset" php-Teil eingefügt. Hab es nochmal etwas überarbeit das AJAX-Skript sowie den restlichen Code und jetzt funktioniert ist.


    Es gibt nur ein aller letztes Problem: Sobald ich die Messung Starte, und das Pythonskript läuft, versucht der Browser zu aktualisieren und die AJAX-Aktualisierung funktioniert nicht.
    Da ich aber für Testzwecke den Teil mit AJAX-Skript in eine test.php gelegt habe und die index.php weiterhin ohne AJAX läuft, habe ich die Messung über Index gestartet. Messwerte simuliert, aber zusätzlich in einem weiteren TAB die test.php offen. In diesem Falle klappt das AJAX Skript wunderbar und aktualisiert sich von selbst.
    Also kann es eignetlich nicht an der Rechenleistung des PI's liegen oder?

    Um gottes Willen... :lol: Meine Programme usw. gehen nicht in den Vertrieb. Das ich jemals an den Punkt komme, bezweifle ich. Über Hobby wird's kaum hinausgehen.


    Natürlich hab ich auch schon da geschaut...trotzdem erkenn ich den Fehler leider nicht. ;)
    [hr]
    Ein fehler konnte ich schonmal im AJAX skript finden. die Klammer vor dem "elseif" ist zu viel. da dort die function gethtttpobject() abgeschlossen werden würde!

    Denke mal war ein typischer Anfängerfehler...


    Habe ein Pythonskript zum Testen geschrieben und das über die Konsole "offline" laufen lassen.
    Wie ich dann gesehen hab, erstellt das Skript dann eine eigene DB im Ornder wo es eben liegt...:lol:


    Und wenn ich es richtig verstanden habe, ist die DB die ich öffne wenn ich in die Konsole gehe immer die DB oder Tabelle die in /var/WWW liegt. Also konnte ich, solang ich das Skript nicht im /var/WWW Verzeichnis ausgeführt wurde und dort auch schreibt, natürlich nix in den Tabellen sehen.


    Ich hoffe das war halbwegs verständlich.:D


    Werde auf jedenfall sobald ich es fertig habe ein TUT über mein projekt schreiben. Ihr habt mir so viel geholfen und ich finde da sollte ich auch was zurückgeben.:thumbs1:

    Für die gewünschte Funktion auf meinem Webserver fehlt mir nun noch ein letztes Puzzleteil.


    Ich schreibe mit einem Pythonskript Daten in eine sqlite3.db - Klappt
    Auf der Webpage kann ich sie auch auslesen - Klappt


    Leider muss ich dafür immer die Seite per Hand aktualisieren. Ich hätte aber gerne, dass sich das ausgabefeld der Daten sozusagen selbst aktualsiert, also immer auf dem aktuellsten Stand ist, da es sich um eine Wegstreckenmessung handelt.
    Ich habe schon herausgefunden, dass ich das mit Ajax (ist das JavaScript?) machen muss...leider steig ich da gar nicht durch. Habe aber dennoch Hoffnung, wenn mir jemand paar gute Resourcen gibt, dass ich das schaffen kann, da es sich wirklich nur um 2 Einträge in der DB handelt.


    Hier mal meine Index.php


    Und genau den unteren Teil, der mir Umdrehungen und Strecke holt, der soll sich ständig updaten.

    Hat jetzt alles geklappt! Hab viel rumprobiert, aber es läuft nun endlich...


    Eine Finale Frage habe ich noch: Das Pythonskript was ich aufrufe, ist eine Dauerschleife. Nun stellt sich mir die Frage, wie ich das über einen Brwoserbutton wieder beende?!
    Könnte ich mit einem Klick auf einen anderen Browserbutton folgendes Skript über PHP aufrufen:


    beenden.py
    gpio.cleanup()
    sys.Exit()


    Oder mach ich es mir da grade zu eibnfach?

    Ich habe ein Problem mit einer SQLite3 DB. Ich habe es wie in vielen TUT installiert und eine Datenbank erstellt. Nun will ich mit einem Pythonskript Werte eintragen, was soweit auch zu klappen scheint, da keine Errors usw. kommen.


    Nun habe ich aber das Problem, dass ich die Tabelle im SQLite nicht öffnen kann. Ich gehe über die Konsole immer in sqlite3 "Modus" und wollte die Tabelle kontrollieren.
    Dort steht aber dann wenn ich "SELECT * FROM Messung1;" eingebe folgendes:


    "Error: no such table: Messung1"


    kann es daran liegen, dass ich nicht im richtigen Pfad bin...also irgednwo anders reinschreibe und quasi mit dem Pythonskript eine 2. Datenbank erstellt habe?!

    Erstmal vielen dank für deine ausführliche Hilfe und Mühe!:thumbs1:


    Leider klappt der Code bei mir nicht. Im Error-Log steht folgendes:
    "PHP Parse error: syntax error, unexpected '\xc2\xa0AND\xc2\xa0' (T_STRING) in /var/www/index.php on line"


    Weiß jemand rat?

    Ich habe das, wie im Link gezeigt übernommen, weil der Fragensteller weiter unten im Threat meinte es funktioniert. Deswegen dachte ich, dass ich diesen Code "stumpf" übernehmen kann um zu testen.


    Aber hier nochmal der Code: (Es befindet sich alles im "index.html" file...liegt hier vll. der Hund begraben?)


    So...ich bin nun ein paar Schritte weiter (eher bescheiden für gute 10h arbeit...aber es wird immer besser mit dem Linix Verständnis).


    Nun steh ich vor folgender Hürde:


    Ich habe ein python skript geschrieben, mit dem ich "debuge". Quasi einfach nur eine LED aufleuchten lassen...aber es klappt einfach nicht. :(
    (Das Python Skript an sich klappt natürlich, hab ich vorher getestet).


    1.
    - Ich habe die "sudoers" Datei um folgendes erweitert: "www-data ALL=NOPASSWD:/var/www/script.py"
    - zudem habe ich kontrolliert ob mein skript im /www ausführbar ist und rootrechte besitzt - beides der fall


    2.
    - ich habe den php und html code aus diesem Link kopiert und in meine index.html geschrieben
    - die seite lässt sich normal aufrufen
    - testweise habe ich den exec von "Red_On" auf :

    Code
    if (isset($_POST['RedON']))
    {
    exec('sudo python /var/www/skript.py');
    }


    geändert...Mir ging es einfach darum mal zu testen, ob das einfache Ausführen denn geht.


    Leider funktioniert es aber nicht und ich weiß nicht mehr weiter...:wallbash:
    Ich hab jetzt eben grade noch gelesen, dass es wohl auch ab und zu vorkommt, dass der php befehl "exec" nicht erlaubt ist. Ich kann leider den PHP Code auch kaum auf richtigkeit überprüfen, da ich kaum erfahrung habe.
    Letztendlich bräuchte ich nur 2 Buttons, die ein python skript starten.

    Hallo,


    ich möchte für ein Projekt gerne Pythonfunktionen über eine Website (Webserver) starten.


    Ich will eine Funktion starten, die einen GPIO Pin aktiviert, bzw. einschaltet und die Wegmessung einer Eisenbahn ermöglicht. Der Hallsesnor gibt Highsignale sobald eine Drehung vollendet ist, diese werden dann vom PI mit einem Pythonskript erfasst. Soweit bin ich schon. BZW. habe ich das alles über simple Hardware, also mit Schaltern usw. ermöglicht.


    Nun würde ich es gerne ermöglichen, dass ich über das Netzwerk/Website die Messung starten kann, also das Pythonskript aufrufen und wieder beenden kann. Da das RasPI nämlich auf dem Eisenbahn wagen mitfährt und ich Platz sparen möchte und natürlich eine bedinung über ein Smartphone zB. fortschrittlicher ist.:D Dieses soll wenn möglich auch einen Graph oder eine Ausgabe generieren, die mir die zurückgelegte Wegstrecke ausgibt. Für die Ausgabe gibt es ja verschiedene "Bibliotheken" wie ich bisher herausgefunden habe...


    Ich habe mir auch schon TUTs für WebIOpi angeschaut, allerdings scheint das für mich nicht das richtige zu sein, da es da ja quasi nur um HI/LO schalten von den IO geht...bzw. hab ich noch nicht rausgefunden, wie ich ein Pythonskript mit einem Buttonclick aufrufe...?! Da muss ich mich sehr wahrscheinlich mehr mit PHP auseinanderssetzen, oder? Und kennt sich jemand damit aus, Werte in eine Datenbank (SQL?) zu schreiben und diese dann auf der Webpage anzuzeigen?


    Habe bereits mySQL, Apache und php5 installiert, wie ich die einzelnen Komponenten nun zusammensetze ist mir allerdings nicht ganz klar...

    Hatte nun Klausrenphase und Feiertage, deswegen war das Projekt erstmal auf Eis. Will es aber in den Winterferien fertigstellen und dann ein kleines TUT dazu schreiben :)


    Ich habe nun folgenden Code:



    Natürlich habe ich immernoch ein kleines Problem...: Starte ich die Messung mit dem Schalter 27 - dann kann ich durch betätigen eines Tasters (für testzwecke - simuliert den Hall-Sensor) die Inputs sammeln und verarbeiten und ich bekomme meine Umdrehungzahl und die Strecke ausgegeben, ist ja ne mathematisch simple Sache. Schalte ich den Schalter 27 ab soll natürlich auch die Varibale "umdrehungen" auf 0 gesetzt werden, damit eine mögliche Neumessung nicht beim letzten gemessenen Wert startet. Leider habe ich aber das Problem, dass ich sobald ich einen Hall-Sensor input simuliere, ohne das die Messung uberhaupt stattfinden darf (Schalter27 ist abgeschaltet) der Input trotzdem aufgenommen und verarbeitet wird?!:mad_GREEN: Dieses Phänomen triott aber komischerweise nur auf, wenn ich vorher schonmal in der Schleife drin war, also schonmal Schlater 27 auf ein "ein" hatte.


    Weiß einer Rat? Oder hat jemand eine Idee wie ich das ganze etwas einfacher gestalten könnte.


    Gruß!

    Moin Leute!


    Ich will den Output eines Hallsensors mit den GPIO´s erfassen.
    Ein Beispiel für einen möglichen Sensor wäre zB. der hier:
    http://www.conrad.de/ce/de/pro…-24-VDC-TO-92-UA?ref=list


    Ich würde ihn mit 5V betreiben (hab ich sowieso auf der relevanten Platine) und will den Output an den Raspberry legen. Der Rapsberry kann aber an einem Input nur 3,3 Volt oder? Zudem muss ich den Strom auf wenige mikro-Ampere begrenzen, richtig?


    Der Hall-Sensor, hat ja als Output einen "Open-Collector" wenn ich das richtig sehe...könnte ich dann an den Output 3,3 Volt vom Raspberry legen, damit ich sobald der Hall-Sensor ein Schaltsignal bekommt, die 3,3 Volt durchgeschaltet werden? Oder ist das nicht möglich, wenn ich den Hall-Sensor mit 5V betreibe?


    Gruß
    banana

    Hi Leute,


    ich habe es mittlerweile geschafft ein Programm zu schreiben, was meine Wünsche/Ziele erfüllt. Es sind lediglich noch 2-3 Kleinigkeiten was das feintuning angeht. Ich poste es nachher mal wenn ich zu hause bin, dann könnt ihr euch ein Bild machen! Der Beitrag von jar mit "if Event detect" hat mir auf jedenfall sehr geholfen! Danke nochmal...


    Man sollte immer beachten: Definitionen für GPIO-Detections dürfen nicht in Schleifen (schon gar nicht dauerschleifen) benutzt werden, sondern nur die Funktionen, die etwas ausführen bei detection. In Google findet man relativ wenig dazu, obwohl schon viele Leute diese Fehler gemacht habe, oftmals aber das Problem nicht gelöst werden konnte!