<html>
<head>
<title> AVR NET IO </title>
</head>
<body>
<form action="index2.php" method="post">
<input type="submit" name="abfrage" value="Statusabfrage"><br>
<input type="submit" name="digout1an" value="Digout1 an">
<input type="submit" name="digout1aus" value="Digout1 aus"><br>
<input type="submit" name="digout2an" value="Digout2 an">
<input type="submit" name="digout2aus" value="Digout2 aus"><br>
<input type="submit" name="digout3an" value="Digout3 an">
<input type="submit" name="digout3aus" value="Digout3 aus"><br>
<input type="submit" name="digout4an" value="Digout4 an">
<input type="submit" name="digout4aus" value="Digout4 aus"><br>
<input type="submit" name="digout5an" value="Digout5 an">
<input type="submit" name="digout5aus" value="Digout5 aus"><br>
<input type="submit" name="digout6an" value="Digout6 an">
<input type="submit" name="digout6aus" value="Digout6 aus"><br>
<input type="submit" name="digout7an" value="Digout7 an">
<input type="submit" name="digout7aus" value="Digout7 aus"><br>
<input type="submit" name="digout8an" value="Digout8 an">
<input type="submit" name="digout8aus" value="Digout8 aus"><br>


<?
// Server
$host="192.168.178.90";
$port = 50290;

if ($_POST['digout1an'])
{
echo "<br> Digitalout1 setzen ";
$ergebnis = digitaloutsetzen($host, $port,1,1);
echo $ergebnis."<br>" ; 
}
if ($_POST['digout1aus'])
{
echo "<br> Digitalout1 loeschen ";
$ergebnis = digitaloutsetzen($host, $port,1,0);
echo $ergebnis."<br>" ; 
}
if ($_POST['digout2an'])
{
echo "<br> Digitalout2 setzen ";
$ergebnis = digitaloutsetzen($host, $port,2,1);
echo $ergebnis."<br>" ; 
}
if ($_POST['digout2aus'])
{
echo "<br> Digitalout2 setzen ";
$ergebnis = digitaloutsetzen($host, $port,2,0);
echo $ergebnis."<br>" ; 
}
if ($_POST['digout3an'])
{
echo "<br> Digitalout3 setzen ";
$ergebnis = digitaloutsetzen($host, $port,3,1);
echo $ergebnis."<br>" ; 
}
if ($_POST['digout3aus'])
{
echo "<br> Digitalout3 loeschen ";
$ergebnis = digitaloutsetzen($host, $port,3,0);
echo $ergebnis."<br>" ; 
}
if ($_POST['digout4an'])
{
echo "<br> Digitalout4 setzen ";
$ergebnis = digitaloutsetzen($host, $port,4,1);
echo $ergebnis."<br>" ; 
}
if ($_POST['digout4aus'])
{
echo "<br> Digitalout4 loeschen ";
$ergebnis = digitaloutsetzen($host, $port,4,0);
echo $ergebnis."<br>" ; 
}
if ($_POST['digout5an'])
{
echo "<br> Digitalout5 setzen ";
$ergebnis = digitaloutsetzen($host, $port,5,1);
echo $ergebnis."<br>" ; 
}
if ($_POST['digout5aus'])
{
echo "<br> Digitalout5 loeschen ";
$ergebnis = digitaloutsetzen($host, $port,5,0);
echo $ergebnis."<br>" ; 
}
if ($_POST['digout6an'])
{
echo "<br> Digitalout6 setzen ";
$ergebnis = digitaloutsetzen($host, $port,6,1);
echo $ergebnis."<br>" ; 
}
if ($_POST['digout6aus'])
{
echo "<br> Digitalout6 loeschen ";
$ergebnis = digitaloutsetzen($host, $port,6,0);
echo $ergebnis."<br>" ; 
}
if ($_POST['digout7an'])
{
echo "<br> Digitalout7 setzen ";
$ergebnis = digitaloutsetzen($host, $port,7,1);
echo $ergebnis."<br>" ; 
}
if ($_POST['digout7aus'])
{
echo "<br> Digitalout7 loeschen ";
$ergebnis = digitaloutsetzen($host, $port,7,0);
echo $ergebnis."<br>" ; 
}
if ($_POST['digout8an'])
{
echo "<br> Digitalout8 setzen ";
$ergebnis = digitaloutsetzen($host, $port,8,1);
echo $ergebnis."<br>" ; 
}
if ($_POST['digout8aus'])
{
echo "<br> Digitalout8 loeschen ";
$ergebnis = digitaloutsetzen($host, $port,8,0);
echo $ergebnis."<br>" ; 
}

if ($_POST['abfrage'])
{
// Status anzeigen
echo "<br>";
$ergebnis = liesstatusdigout($host, $port);
$ergebnis = zeigstatusdigout($ergebnis);
$ergebnis = zeigstatusdigin ($host, $port);
$ergebnis = zeigstatusanalogin ($host, $port);
?>
Serverantwort: <b><? echo $ergebnis; ?></b>
<?
}
?>
</form>
</body>
</html>

<?

function Befehlanport ($h, $p, $b) {
// create socket
$socket = socket_create(AF_INET, SOCK_STREAM, 0) or die("Socket kann nicht erzeugt werden\n");
// connect to server
$result = socket_connect($socket, $h, $p) or die("Serververbindung nicht möglich\n");
// Befehl senden
$Befehl = $b;
socket_write($socket, $Befehl, strlen($Befehl)) or die("Befehl konnte nicht gesendet werden\n");
// Antwort empfangen
$result = socket_read ($socket, 1024) or die("Keine Antwort empfangen\n");
// close socket
socket_close($socket);
$result = trim($result);
//$result = substr($result, 0, strlen($result)-1);
return $result;
}


function digitaloutsetzen($h, $p,$nr,$wert){
$b = "SETPORT ".$nr.".".$wert." \n\r";
echo $b;
$ergebnis = Befehlanport ($h, $p, $b);
return $ergebnis;
}

function liesstatusdigout ($h, $p){
$ergebnis = Befehlanport($h, $p, "GETSTATUS \n\r");
return $ergebnis;
} 

function liesstatusdigin ($h, $p, $nr){
$ergebnis = Befehlanport ($h, $p, "GETPORT ".$nr." \n\r");
return $ergebnis;
} 

function liesstatusanalogin ($h, $p, $nr){
$ergebnis = Befehlanport ($h, $p, "GETADC ".$nr." \n\r");
return $ergebnis;
} 


function Statusvonportdigout($p, $e){
$ze=substr($e,$p,1);
if ($ze == "1" )
  {
   return "an";
   }
  else
  { 
   return "aus";
  }   
}


function Statusvonportdigin ($e){
if ($e == "1")
  {
   return "an";
  }
else
  {
   return "aus";
  }
}      

function Zeigstatusdigin ($h, $p){
for ($i=1;$i<=4;$i++ ){
 $ergebnis = liesstatusdigin($h, $p, $i);
 $status = statusvonportdigin ($ergebnis);
 if ($status == "aus") 
 {
  echo "<font color ='#ff0000'>";
 }
 else
 {
  echo "<font color = '#00ff00'>";
 }
 echo "Digtaler Eingang ".$i." ".$status."<br>";
 echo "<font color = '#000000'>";
 }
 return "ok";
}

function Zeigstatusdigout($e){
for ($i=1;$i<=8; $i++ ){
$status = statusvonportdigout($i,$e);
if ($status == "aus") 
{
echo "<font color ='#ff0000'>";
}
else
{
echo "<font color = '#00ff00'>";
}
echo "Digitaler Ausgang ".$i." ".$status."<br>";
}
echo "<font color = '#000000'>";
return "ok"; 

} 

function Zeigstatusanalogin ($h, $p){
for ($i=1;$i<=4;$i++ ){
 $ergebnis = liesstatusanalogin($h, $p, $i);
 $ergebnis = 0.0048828*$ergebnis;
 echo "Analoger Eingang ".$i." ".$ergebnis."<br>";
 } 
return "ok";
}


?>

