He instalado xampp en fedora 13.I estoy tratando de comunicarme con el microcontrolador a través del puerto serie utilizando la clase de serie php. Mi código es ejemplo.phpcomunicación serie php en linux
include("php_serial.class.php");
$serial = new phpSerial();
$serial->deviceSet("0");
$serial->confBaudRate(9600); //Baud rate: 9600
$serial->confParity("none"); //Parity (this is the "N" in "8-N-1")
$serial->confCharacterLength(8); //Character length (this is the "8" in "8-N-1")
$serial->confStopBits(1); //Stop bits (this is the "1" in "8-N-1")
$serial->confFlowControl("none"); //Device does not support flow control of any kind, so set it to none.
//Now we "open" the serial port so we can write to it
$serial->deviceOpen();
$serial->sendMessage("*1"); //sleep(1); // echo "hi"; $serial->deviceClose();
?>
El script php será ejecutado, pero da las siguientes advertencias.
Advertencia: especificado puerto serie no es válido en /opt/lampp/htdocs/xampp/php_serial.class.php en la línea 147 Advertencia: No se puede establecer la velocidad de transmisión: el dispositivo no se establece o se abre en/opt/lampp/htdocs/xampp/php_serial.class.php en la línea 241 Advertencia: no se puede establecer la paridad: el dispositivo no está configurado o abierto en /opt/lampp/htdocs/xampp/php_serial.class.php en la línea 295
... He usado el comando: chmod 0777/dev/ttyUSB0 para otorgar permisos. También traté de agregar el usuario de apache "prudhvi" al grupo de marcación usando el comando: $ usermod -a -g dialout prudhvi
Pero no funciona. Cuando envío un comando directamente desde el terminal usando el comando: echo 1>/dev/ttyUSB0 funciona y '1' se transmite al puerto serie. Pero usando php obtengo las advertencias anteriores.
He usado el "$ whoami" para verificar el nombre del usuario y he agregado ese usuario "prudhvi" al grupo de marcado. Todavía no funciona. Por favor, ayúdenme chicos.
¿Estás seguro de que php está accediendo a ttyUSB0? Podría tratar de usar ttyS0 de manera predeterminada. –