Kurze Problemschilderung:
Ich soll von einem Gerät über den seriellen Port Daten Auslesen. Hierzu habe ich ein php-Skript geschrieben welches den Port öffnen soll, das Lesecommando senden soll, und dann einen kompletten Antwortstring empfangen soll. Doch jeweil beim öffnen der Ports kriege ich die Fehlermeldung "Permission denied" aufn Schirm. Ich verwende die aktuelle Version von XAMPP-Lite, und irgendwie versteh ich das nicht so recht wie das mit den Rechten zusammenhängt. Wäre nett wenn mir da einer helfen könnte.
Ich hab hier mal meinen Quelltext, Stellungsfehler kann ich eigentlich ausschließen da ich alle anderen Fehler ausgemerzt habe bis dieses Rechte-Problem auftrat:
- Code: Select all
<HTML>
<HEAD>
<TITLE>Oxi3000</TITLE>
<META NAME="Author" CONTENT="Für Forum gelöscht">
</HEAD>
<BODY BGCOLOR=#FFFFFF TEXT=#000000 LINK=#0000FF ALINK=#FF0000 VLINK=#000080>
<form action="<? echo $_SERVER['PHP_SELF'] ?>" method="post">
<?php
$versteckt = $_POST["versteckt"];
echo "Versteckte Variable.$versteckt <br>";
if ($versteckt==1)
{
function rs232init($com,$bautrate)
{
`mode COM1: BAUD=9600 PARITY=N data=8 stop=1 xon=off`;
}
function senden($comport,$zeichen)
{
echo "<br> comport:";
echo $comport;
$fp=fopen("\\.\com1", "w+");
if (!$fp)
{
echo "Port zum Daten-Transfer, speziell schreiben,kann nicht geöffnet werden";
}
else
{
fputs($fp,$zeichen);
fclose($fp);
}
function lesen($comport2,$sekunden)
{
$buffer="";
echo "<br> comport2:";
echo $comport2;
$fp2=fopen("$comport2", "r+");
if(!$fp2)
{
echo "Port kann zum lesen nicht geöffnet werden";
}
else
{
sleep($sekunden);
$buffer .=fgets($fp2,4096);
}
}
}
rs232init("com1","9600");
senden("com1", "CCON");
$lese=lesen("com1","2");
echo "<br>Das Ergebnis";
echo $lese;
}
?>
<br /><input type="hidden" name="versteckt" value="1" />
<input type="submit" name="submit" value="Absenden" />
<a href="index.html"> I N D E X </a>
</BODY>
</HTML>
Abschließend sei noch bemerkt, der Befehl CCON soll den aktuellen Messwert vom Gerät anfordern.
Wäre sehr nett wenn jemand dafür eine Lösung finde könnte, am besten ohne dass ich bei Windows was ändern muss (fremder Rechner).
Mfg EvilBolzen
PS: Sry wegen der Formatierung, aber geht hier im Forum nicht anders.