Extension input output library, acèss direct port parallel et serie

Description

Cet extension permet l'acèss direct au port parallel et serie (rs232) en lecture et écriture par le biais de la dll inpout32.dll sous WinNt et Win9x pour n'importe quel montage. Un exemple d'application concret: Gestion domotique complet avec interface web et php, liaison hardware de toute nature avec les ports comme des montages simple ou compliquer. Une idé simple mais bien pratique que j'ai eu en prenant ma douche ce soir... Module compiler avec delphi 6 pour PHP5.0 à 5.1.2, sources et exemple compris.

This extension allows the direct access the parallel and serial(rs232) port in reading and writing by the DLL inpout32.dll under WIN9x/NT/2000/XP for any assembly. An example of concret application: Complete house automation with web interface and php, connection hardware of any nature with the ports like assemblies simple or to complicate. One idea simple but quite practical... Extension and source was compiled with Delphi 6 for PHP5.0 to 5.1.2, sources and example included.

Source / Exemple :


Functions : 
  
int iol_input(integer pattern) 
boolean iol_output(integer pattern, integer pattern) 
string iol_info() 
  
iol_input(port) 
iol_output(port, value) 
iol_info() 
  
Exemple : 
  
File iol_ouput.php,
<?php 
    // Parallel port output
    require_once("class/php_iol.class.php"); 
    $DemoPhpIOL = new php_iol(); 
  
    for($i=0; $i<255; $i++) { 
        $DemoPhpIOL->WriteIOOutput(888, $i); // 888dec of 378hex 
        usleep(1550); 
    } 
  
    echo "Output port 888(378h) value 0 : "; 
    if($DemoPhpIOL->WriteIOOutput(888, 0)) {echo "Ok";}else{echo "Error";} 
?> 
  
File iol_input.php,
<?php 
    // Parallel port monitor
    require_once("class/php_iol.class.php"); 
    $DemoPhpIOL = new php_iol(); 
    $RcvByte = $DemoPhpIOL->GetIOInput(889); // Base(378h) + 1 = 889 
  
    echo "<b>Input value : ".$rcv."</b><br>"; 
    if($RcvByte > 127) { 
    $RcvByte = $RcvByte -128; 
    echo "Busy : true<br>"; 
    }else{ 
    echo "Busy : false<br>"; 
    } 
  
    if($RcvByte > 63) { 
    $RcvByte = $RcvByte -64; 
    echo "Ack : true<br>"; 
    }else{ 
    echo "Ack : false<br>"; 
    } 
     
    if($RcvByte > 31) { 
    $RcvByte = $RcvByte -32; 
    echo "Pe : true<br>"; 
    }else{ 
    echo "Pe : false<br>"; 
    } 
     
    if($RcvByte > 15) { 
    $RcvByte = $RcvByte -16; 
    echo "Select : true<br>"; 
    }else{ 
    echo "Select : false<br>"; 
    } 
     
    if($RcvByte > 7) { 
    $RcvByte = $RcvByte -8; 
    echo "Error : true<br>"; 
    }else{ 
    echo "Error : false<br>"; 
    } 
?>

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.