Impulszählung innerhalb eines Zeitraumes

Python auf Einplatinencomputer wie Raspberry Pi, Banana Pi / Python für Micro-Controller
Antworten
markosu
User
Beiträge: 1
Registriert: Donnerstag 21. Dezember 2017, 15:38

Donnerstag 21. Dezember 2017, 16:07

Guten Tag,
ich habe mich hier im Forum extra neu angemeldet und hoffe auf Unterstützung für mein Vorhaben

Ich bin dabei einen aquariumcontroller mit einem pi aufzubauen. Über eine php webseite habe ich inzwischen wasserstandssensoren, wassertemperatur und licht an/aus grafisch ausgegeben..
jetzt habe ich aber noch einen durchflussmesser den ich gerne anschließen möchte um mir den reinigungsintervall der pumpe anzeigen zu lassen…
Jetzt würde ich gerne über einen spannungsteiler die impulse anm gpio 27 eingang zählen..
mein großes problem ist dabei die software umsetzung … ich müsste in einer torzeit (z.B10s) die anzahl der impulse zählen… wenn nun die pumpenleistung nachlässt kann ich das ja anhand der zählung innerhalb dieses zeitraumes ersehen…
Meine Frage ist nun kann sowas in php programmiert werden (eingänge abfragen geht ja), oder muß es in python realisiert werden?..
An sich muß ja nur eine zeitschleife z. B 10 Sekunden laufen in der die anzahl der ansteigenden impule gezählt werden.. Dabei soll per text ausgegeben werden das alles ok ist, oder ab einer minderung der leistung um z. B. 30% eine Reinigung empfohlen wird....
Leider habe ich bei meiner Suche kein passendes script gefunden... :?
Wäre sehr verbunden wenn jemand behilflich sein könnte..
mfg markus
__deets__
User
Beiträge: 2674
Registriert: Mittwoch 14. Oktober 2015, 14:29

Donnerstag 21. Dezember 2017, 16:53

Grundsätzlich geht das auch in PHP. Wird etwas fummelig weil du keine nebenläufigkeit zur Verfügung hast. Dadurch musst du dann 10 Sekunden warten bis die Webseite wieder ausgeliefert wird.

In Python kann man stattdessen gpiozero benutzen und mit dem Button und when_pressed auf eine impuls im Hintergrund warten, und da dann eine Zähler hochzählen. http://gpiozero.readthedocs.io/en/stable/recipes.html

Im Hauptthread setzt du den Zähler auf 0, wartest 10 Sekunden, und dann kennst du die Impulse.

Um das dann deinem PHP Skript zu kommunizieren könnte man eine temporäre Datei verwenden, die am besten in einer RAM-Disk liegt. Die schreibt Python und liest du in PHP.
Antworten