jueves, 8 de mayo de 2014

Leer datos de puerto serial en PHP

Hace ratico no paso por aquí y pues de puro chevere les voy a dejar un código para enviar y recibir datos de un puerto serial en un pc...eso si no es perfecto pero si a usted le sirve sin duda espero que me lo haga saber a través de un mensaje en este blog.


Tuve que abrir el com3, pero si usted quiere puede trabajar el com1 pues para las pruebas se uso un "Invento electronico" que retornara unos caracteres despues de 3 segundos...jeje...
Tengo que reconocer buena parte de este código a www.pesadillo.com quien tiene buena parte de este, pero yo le añadi el retorno que no es cosa del otro mundo, sin mas preambulos pues es así:

// La siguiente línea ejecutará una orden en DOS. Esto solo debe ejecutarse una vez.
// Las comillas hacen que lo ejecute Windows directamente

 `mode com3: BAUD=9600 PARITY=N data=8 stop=1 xon=off``;

//Abrimos el puerto com3 $fp = fopen ("COM3","w+");
// si el com3 no esta abierto entonces manda mensaje de error

if (!$fp) {

  echo "Error al abrir COM3";

 //de lo contrario

 } else {

 echo $fp;

//enviar caracteres al cmd

$datos1 = escapeshellcmd("A");

//funcion para enviar los datos

fputs($fp, $datos1);

 //espear 4 segundos

sleep(4);

//recuperar la respuesta

$v=fgets($fp);

//cerrar el puerto

fclose($fp);