Foros del Web » Programando para Internet » PHP »

Problema con lectura puerto serial

Estas en el tema de Problema con lectura puerto serial en el foro de PHP en Foros del Web. Hola a todos. Me encuentro programando una aplicacion en php que genera lectura (a traves de puerto serial, especificamente COM3) de señales que envia un ...
  #1 (permalink)  
Antiguo 25/11/2011, 14:17
 
Fecha de Ingreso: agosto-2009
Mensajes: 45
Antigüedad: 15 años, 3 meses
Puntos: 2
Problema con lectura puerto serial

Hola a todos.

Me encuentro programando una aplicacion en php que genera lectura (a traves de puerto serial, especificamente COM3) de señales que envia un puerto.

Implementé uno de los codigo más famosos que existe en la web "Php serial extension", pero me topé con un problema: No hace absolutamente ninguna lectura de información, inclui en la carpeta "ext" la dll "ser_php.dll" y nada, me envia el mensaje "Fatal error: Call to undefined function ser_version()".

Para que se entienda, incluyo el codigo:


Código:
<?php
echo "PHP serial extension version ".ser_version();
echo "<br>\r\n";

$functions = get_extension_funcs("win_serial");
echo "Functions available in the $module extension:<br>\n";
foreach($functions as $func) {
    echo $func."<br>";
}
echo "<br>";

if (ser_isopen() == true )
    echo "Port is open<br>\r\n";
else
    echo "Port is closed<br>\r\n";

echo "Opening the port ...\r\n";
echo "<br>\r\n";
echo "Result = ";
echo ser_open("COM1", 9600, 8, "None", "1", "None");
echo "<br>\r\n";

if (ser_isopen() == true )
    echo "Port is open<br>\r\n";
else
    echo "Port is closed<br>\r\n";

echo "Writing (string) AT\\r ...\r\n";
echo "<br>\r\n";
echo "Result = ";
echo ser_write("AT\r");
echo "<br>\r\n";

echo "Sleeping ...\r\n";
echo "<br>\r\n";

sleep(1);

echo "Bytes available for reading: ".ser_inputcount()."<br>\r\n";
/* Flush test
ser_flush(true, true);
echo "Bytes available for reading: ".ser_inputcount()."<br>\r\n";
*/

echo "Reading (string) ...\r\n";
echo "<br>\r\n";
echo "Result = ";
echo ser_read();
echo "<br>\r\n";

echo "Bytes available for reading: ".ser_inputcount()."<br>\r\n";

// Once again, with byte operations

echo "Writing (byte) AT\\r ...\r\n";
echo "<br>\r\n";
ser_writebyte(0x41); ser_writebyte(0x54); ser_writebyte(0xD);

sleep(1);

echo "Bytes available for reading: ".ser_inputcount()."<br>\r\n";

echo "Reading (byte) ...\r\n";
for ($i=0; $i<10; $i++)
{
    $j = ser_readbyte(); 
    echo sprintf("%c", $j);
}
echo "<br>\r\n";

echo "Bytes available for reading: ".ser_inputcount()."<br>\r\n";

// Test RTS, DTR signals

ser_setRTS(true);
ser_setDTR(true);
sleep(1);
ser_setRTS(false);
ser_setDTR(false);


echo "Closing the port ...\r\n";
echo "<br>\r\n";
echo "Result = ";
echo ser_close();
echo "<br>\r\n";

if (ser_isopen() == true )
    echo "Port is open<br>\r\n";
else
    echo "Port is closed<br>\r\n";

?>
Hay alguien que ha trabajado con algo parecido que tenga un codigo para facilitarme? Saludos.
  #2 (permalink)  
Antiguo 25/11/2011, 14:34
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 3 meses
Puntos: 1532
Respuesta: Problema con lectura puerto serial

debes activar la librería en el PHP.ini para usarla, o cargarla dinámicamente
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 25/11/2011, 15:16
 
Fecha de Ingreso: agosto-2009
Mensajes: 45
Antigüedad: 15 años, 3 meses
Puntos: 2
Respuesta: Problema con lectura puerto serial

Fué lo primero que hice, seguí todos esos procedimientos. A que te refieres con "cargarla dinamicamente"? Saludos.
  #4 (permalink)  
Antiguo 25/11/2011, 17:29
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 3 meses
Puntos: 1532
Respuesta: Problema con lectura puerto serial

¿reiniciaste apache (o el server que uses)?: de otra forma no re-leerá el archivo.

cuando digo carga dinámica me refiero a que PHP provee de funciones para cargar módulos en tiempo de ejecución.

de todas formas el DLL puede fallar dependiendo de la versión de windows, y más si no se registra debidamente la dll (si lo requiere)
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #5 (permalink)  
Antiguo 28/11/2011, 12:42
 
Fecha de Ingreso: agosto-2009
Mensajes: 45
Antigüedad: 15 años, 3 meses
Puntos: 2
Respuesta: Problema con lectura puerto serial

Entonces, puede que el problema sea producido por el SO (actualmente estoy trabajando bajo Windows 7) y la dll trabaja quizas bajo plataforma XP.

De todas formas, ninguno a trabajado con otro metodo para captura de datos a través de puerto con php? Saludos.

Etiquetas: lectura, puerto, serial
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:03.