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

Soyez le premier à donner votre avis sur cette source.

Vue 62 914 fois - Téléchargée 3 671 fois

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

Ajouter un commentaire Commentaires
Messages postés
1
Date d'inscription
samedi 11 mai 2013
Statut
Membre
Dernière intervention
23 juin 2013

Hi,

I using PHP5.3.2, for that I am getting error Call to undefined function iol_output(). Please provide me the DLL file for PHP 5.3.2. My email id is LREARTH@hotmail.com

Thanks in advance.

Thank you!
Messages postés
42
Date d'inscription
mardi 27 septembre 2011
Statut
Membre
Dernière intervention
29 septembre 2011

Bonjour,

Cette librairie m'intéresse également vivement du fait que je désire communiquer directement avec un modem en lui envoyant des commandes AT. Malheureusement, j'utilise la version 5.3.0 de Php et j'obtiens également le message suivant au lancement de Wamp :

"PHP Startup : php_iol : Unable to initialize module
Module compiled with module API=20050922
PHP compiled with module API=20090626
These options need to mach"

Dommage, car cette librairie me semble vraiment intéressante
Messages postés
1
Date d'inscription
dimanche 25 avril 2010
Statut
Membre
Dernière intervention
25 avril 2010

Salut,

J'ai bien lu les commentaires concernant "PHP Warning: PHP Startup: ¬4+Ø : Unable to initialize module"
Et j'ai installe PHP 5.0.4

pourtant j'ai le meme probleme:
"Module Compiled with module API=20050922[..]
PHP Compiled with moduloe API=20041030[..]
"

Je presume que le probleme est quand meme la version de PHP.
Y'a t-il qqn qui saurait la version exacte qui a marche? Merci

==========

Basically, even though I complied with author recommendation and installed a php 5.0.x core I still have the same module issues.

I presume my version php 5.0.4 is not quite right. Would anybody who got this to work let me know which version exactly has worked?

Thanks.
Messages postés
1
Date d'inscription
vendredi 9 septembre 2005
Statut
Membre
Dernière intervention
8 mars 2010

Merci pour ce travail bien fait.
J'ai une question, j'ai installé wampserver 2.0 qui utilise le php 5.3 il m'affiche cette erreur au démarrage du service php :

PHP STARTUP : php_iol : unable to initialise module
Module compiled with module API = 20050922
PHP compiled with module API = 20090626
This option need to match

Est ce qu'il serait possible d'avoir une version compiler qui irait mieux avec php 5.3 ?
Si vous avez une autre solution pour corriger ce problème, je veux bien l'appliquer
Merci d'avance
Messages postés
18
Date d'inscription
dimanche 30 octobre 2005
Statut
Membre
Dernière intervention
11 décembre 2009

J'ai trouvé pourquoi (finalement la vérité n'étais pas ailleurs ... )

Il faut activer les extension en les cochant dans Wamp : petite icone en bas à droite, PHP - PHP extensions - cliquer php_iol

ET CA MARCHE :)

ENORMISSIME
Afficher les 60 commentaires

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.