schnuffi hat geschrieben:
Hallo Pfiffikus,
wie ich gesehen habe hast du Code auch in die Revision 296 integriert.
Leider funtioniert bei mir kein auslesen von Ultraschallsensoren HC-SR04 im PI.
Es wird bei mir über die HTML Seite keine Pegel und Werte ausgegeben bzw. geloggt.
Funktioniert dies bei dir?
Bei mir sieht es so aus
Dateianhang:
2015-10-14 15_01_35-Teich-Steuerung.png
Das manuelle ansprechen der Sensoren funktioniert Reibungslos
Dateianhang:
2015-10-14 15_00_55-pi@Teich_ ~.png
Hallo Dennis,
schön dass Du dich wieder mit einbringst.
Schau doch Bitte mal in der /steuerung/stamm/quellen/sensoren/cUSchallSensor.php und tausch dort mal nur zum Testen die Befehle
system gegen
exec.
Ich habe leider zur Zeit die Pfiffige-Steuerung nicht am Start, hatte meiner Meinung nach aber dort mal ein
evtl. Fehler in der
Theorie beim zusammen-puzzeln meiner Sachen dort gesehen.
system() auch ein \n wird nicht in die Array übernommen, $retval [] wird nicht berücksichtigt.
Die Funktion system() ähnelt der C Version der Funktion sehr, indem es einen übergebenen Befehl ausführt und dessen Ausgabe anzeigt und Gibt bei Erfolg die NUR die letzte Zeile der Ausgabe des Befehls zurück.
http://php.net/manual/de/function.system.phpBei meinem Skript für den mcp3008 gab es durch den Austausch von:
$resultat = system($Befehl, $retval);
zu
$resultat = exec($Befehl, $retval);
http://php.net/manual/de/function.exec.phpeinen erfolg!
Ich möchte aber auf keinen Fall hier Gunter auf die Füsse treten.
<?php
/** *************************************************************************
* Copyright (C) 2014 by Pfiffikus *
*
pfiffikus@zahlengenie.de *
Klasse zur Ansteuerung eines US-Sensors
http://www.gtkdb.de/index_36_2272.html http://www.bytecreation.com/blog/2013/1 ... or-hc-sr04 http://forum.fhem.de/index.php?topic=19812.0 http://www.dude2k.de/index.php/raspberr ... em-hc-sr04 ***************************************************************************/
include_once ("quellen/sensoren/cSensor.php");
class cUSchallSensor extends cSensor {
var $mySkript;
/** ********************
* cUSchallSensor::Get
Liefert die Entfernung des Sensors in mm
**********************/
function Get() {
error_reporting(0);
$Befehl = 'sudo /home/pi/echosensor/echolot.py';
$resultat =
system($Befehl, $retval);
error_reporting(1);
$res = (int)($resultat * 10);
return $res;
}
/** ********************
* cUSchallSensor::GetGetGenau
Liest die Entfernung des Sensors 10 mal aus
**********************/
function GetGenau() {
$Befehl = 'sudo /home/pi/echosensor/echolot.py';
error_reporting(0);
for($i=0;$i<10;$i++) {
$resultat =
system($Befehl, $retval);
$wert[$i] = $retval;
echo $wert[$i]." als $i<br>\n";
}
error_reporting(1);
$res = (int)($resultat * 10);
$res = 99999;
return $res;
}
/** ********************
* cUSchallSensor::cUSchallSensor
Konstruktor - Hier muss das richtige Skript genannt werden.
- Im Skript sind die zu nutzenden GPIOs eingetragen
**********************/
function cUSchallSensor($iSkript) {
$this->mySkript = $iSkript;
}
}
?>
Dennis berichte bitte mal ob es was zum Positiven, oder Negativ gebracht hat.