Leer desde puerto serie
Publicado por Alejandro Sánchez (2 intervenciones) el 10/11/2009 18:09:38
Hola a todos,
Os cuento una duda que tengo en relación a la lectura del puerto serie desde una aplicación PHP.
El caso es que tengo un sensor inalámbrico de temperatura. Este sensor tiene una antena que transmite y recibe datos mediante el protocolo Zigbee hacia otra antena conectada por USB a un servidor Linux (Debian-Voyage).
Debo implementar un conjunto de aplicaciones que, por un lado, transmitan determinados parámetros al sensor remoto, y por otro, recojan los datos que éste envía.
Resumiendo, se trata de programar una aplicación PHP que envíe datos por el puerto USB, y otra que reciba datos por el mismo sitio y los vaya mostrando en pantalla. La primera parte funciona correctamente, pero es en la segunda donde estoy teniendo problemas.
A efectos prácticos, tengo entendido que el puerto USB funciona como un puerto serie...
He utilizado la única librería que parece existir en el mundo para trabajar en PHP con el puerto serie, la que hizo Rémy Sánchez en PHPClasses: http://phpclasses.masbytes.es/browse/package/3679.html
El código para leer el puerto serie y mostrar la lectura en pantalla (en el navegador) es:
<?php
set_time_limit(300);
include "php_serial.class.php";
// Creo una nueva instancia:
$serie = new phpSerial;
//Establecimiento del dispositivo:
$serie->deviceSet("COM1");
$serie->confBaudRate(19); // La comunicación es a 19200 baudios
// Abrir puerto:
$serie->deviceOpen();
// Leo puerto serie:
for ($size=1;$size<=50000;$size++) {
$lectura = $serie->readPort();
if ($lectura != "") {
echo $size." ".$lectura."<br>";
}
}
// Cierro el puerto:
$serie->deviceClose();
?>
Mi duda principal está en la parte "Leo puerto serie", no sé si lo estoy haciendo correctamente. El caso es que sabiendo que la antena remota transmite bien, no recibo absolutamente nada.
¿Alguien puede darme alguna idea para monitorizar un puerto serie desde web por medio de una aplicación PHP?
Gracias de antemano. Saludos,
Alejandro Sánchez
Valencia (España)
Os cuento una duda que tengo en relación a la lectura del puerto serie desde una aplicación PHP.
El caso es que tengo un sensor inalámbrico de temperatura. Este sensor tiene una antena que transmite y recibe datos mediante el protocolo Zigbee hacia otra antena conectada por USB a un servidor Linux (Debian-Voyage).
Debo implementar un conjunto de aplicaciones que, por un lado, transmitan determinados parámetros al sensor remoto, y por otro, recojan los datos que éste envía.
Resumiendo, se trata de programar una aplicación PHP que envíe datos por el puerto USB, y otra que reciba datos por el mismo sitio y los vaya mostrando en pantalla. La primera parte funciona correctamente, pero es en la segunda donde estoy teniendo problemas.
A efectos prácticos, tengo entendido que el puerto USB funciona como un puerto serie...
He utilizado la única librería que parece existir en el mundo para trabajar en PHP con el puerto serie, la que hizo Rémy Sánchez en PHPClasses: http://phpclasses.masbytes.es/browse/package/3679.html
El código para leer el puerto serie y mostrar la lectura en pantalla (en el navegador) es:
<?php
set_time_limit(300);
include "php_serial.class.php";
// Creo una nueva instancia:
$serie = new phpSerial;
//Establecimiento del dispositivo:
$serie->deviceSet("COM1");
$serie->confBaudRate(19); // La comunicación es a 19200 baudios
// Abrir puerto:
$serie->deviceOpen();
// Leo puerto serie:
for ($size=1;$size<=50000;$size++) {
$lectura = $serie->readPort();
if ($lectura != "") {
echo $size." ".$lectura."<br>";
}
}
// Cierro el puerto:
$serie->deviceClose();
?>
Mi duda principal está en la parte "Leo puerto serie", no sé si lo estoy haciendo correctamente. El caso es que sabiendo que la antena remota transmite bien, no recibo absolutamente nada.
¿Alguien puede darme alguna idea para monitorizar un puerto serie desde web por medio de una aplicación PHP?
Gracias de antemano. Saludos,
Alejandro Sánchez
Valencia (España)
Valora esta pregunta
0