PHP - Comunicacion puerto serial con PHP

   
Vista:

Comunicacion puerto serial con PHP

Publicado por Hugo Armando Cadena Mantilla (3 intervenciones) el 15/05/2008 00:05:55
Buenas, a todos

Mi pregunta es la siguiente estoy realizando una aplicacion en php que se debe comunicar con una consola que esta conectada al puerto serial.

He logrado escribir los comandos en el puerto con manejo de archivos así:

<?php
$fp = fopen ("COM1:", "w+");
if (!$fp) {
echo "El puerto no esta abierto";
} else {
$string = ":01R";
echo $string;
$res=fputs ($fp,$string);
}
?>
donde $string es uno de los comandos que se le pueden enviar a la consola; esto funciona perfectamente y la consola rcibe los datos y los puede manipular.

El problema es cuando se le envie el comando para que ella etorne informacion el comando se le enviaria igual pero no se como poder obtener la cadena que me rtorna la aplicacion.

He intentado con algo como esto:

<?php
$fp = fopen ("COM1:", "rw");
if (!$fp) {
echo "El puerto no esta abierto";
} else {
$string = ":01I";
echo $string;
$res=fputs ($fp,$string);
while (($char = fread($fp,10)) != chr(13)) {
echo $char;
}
fclose ($fp);
}
?>
aca tambien $string es el comando que le envio para que retorne la informacion y en $char intento capturar la cadena que devuelva.

pero no funciona tambien he visto una librerias llamada php-ser creo pero resulta que esta libreria no lee el puerto cuando se ejecuta bajo windows funciona perfectamente en linux.

pero la aplicacion correra bajo windows.

Espero me puedan ayudar y agradesco que puendan ayudarme lo mas pronto de anemano muchas gracias y esepero me puedan colaborar.

Salu2!!! a to2!!!!!!!!!!.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Comunicacion puerto serial con PHP

Publicado por Omar Yépez (224 intervenciones) el 15/05/2008 00:46:20
Hola Hugo Armando Cadena Mantilla thebossman_96<at>hotmail<punto>com

Si estas haciendo la conexion con PHP Serial Class. como digiste no soprta conexiones con windows

Para la conexion con windows esta PHP Serial Extension

http://www.easyvitools.com/phpserial/index.html

Lo que tienes que hacer es implementar la clase que necesites dependiendo de SO del servidor para que no tengas que estar cambiando codigo si algun dia llegan a migrar el SO del servidor a Unix o Linux
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Comunicacion puerto serial con PHP

Publicado por Hugo Armando Cadena (3 intervenciones) el 15/05/2008 01:09:02
ya he probado con ese script PHP Serial Extension

pero no funciona el comando de lectura ser_read(n)

aunque no se si este colocando un valor correcto a n imagino que es la cantidad de caracteres

igual la consola me devuelve una cadena de 15 caracteres no se como colocar

tal vez me este equivocando

gracias si me pueden colaborar
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Comunicacion puerto serial con PHP

Publicado por Omar Yépez (224 intervenciones) el 15/05/2008 16:33:20
La documentacion dice que para escribir se hace

<?php

ser_write( "Hello from PHP" );

?>

Y para leer el "Hello from PHP" seria

<?php

ser_read(512); // <- 512 numero de caracteres a recibir. Por que ponen 512? no se.
echo "Received: $str";

?>

Te da error te timeout o algo asi?........
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Comunicacion puerto serial con PHP

Publicado por Hugo Armando Cadena Mantilla (3 intervenciones) el 15/05/2008 23:55:22
pues la verdad no vota ningun error

queda la pantalla en blanco y he intentado colocando valores desde 1 hasta los 512 que esta en la documentacion y nada
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Comunicacion puerto serial con PHP

Publicado por Omar Yépez (224 intervenciones) el 16/05/2008 00:24:50
Que raro poque si no muestra error de alert o execpciones entonces es que el puerto no tiene nada para devolverte o lo que te devuelve es null

Averigua si la instalacion esta tal cual dice el archivo install.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Comunicacion puerto serial con PHP

Publicado por Zeros (6 intervenciones) el 07/01/2009 17:22:01
Disculpe. Podria decirme como logro instalar la extension de php_ser.dll?

Yo instale el php com modulo CGI como dice el manual, copie el archivo php_ser.dll en la carpeta ext de php y agrege la extension el documento php.ini.

A mi me da este error, cuando ejecuto la pagina de prueba que trae la extension, este es el error:

PHP serial extension test page
Module win_serial_port is not compiled into PHPPHP Warning: PHP Startup: win_serial_port: Unable to initialize module Module compiled with module API=20050922, debug=0, thread-safety=1 PHP compiled with module API=20060613, debug=0, thread-safety=1 These options need to match in Unknown on line 0

Por lo que veo el modulo win_serial_port no esta compilado pero nose como compilarlo.
Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Comunicacion puerto serial con PHP

Publicado por Matías (1 intervención) el 04/04/2011 19:10:08
Tenés que habilitarlo en el php.conf o php.ini
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar