me he encontrado con esto muchas veces en el pasado. Una vez estaba creando una interfaz de administración para un Cisco 2811. Esto puede funcionar para el suyo, aunque no estoy seguro de su versión de IOS (suponiendo que Cisco sea el fwrite();
a través de la consola).
Verifique si su usuario tiene acceso al dispositivo primero. Fácilmente, esto se puede hacer con screen /dev/ttyUSB0
. Ejecute sus comandos, para separarlos, presione ctrl+a
y luego d
.
Uso la familia stream_*
con más frecuencia para algo como esto.
Aquí se muestra un ejemplo:
$stream = stream_socket_client("udg:///dev/ttyUSB0", $errno, $errstr, 30);
fwrite($stream, "enable");
while(true){
$line = stream_get_contents($stream);
if($line == 'exit'){
break;
}
}
Por defecto, stream_socket_client
se inicia en modo de bloqueo, por lo que no necesita manual de palanca ella.
Otra cosa que puede hacer si no le importa instalar una extensión es la extensión DirectIO
. Posee funciones que le permiten establecer la velocidad en baudios y todas las cosas buenas, example here.
Usted puede incluso echar un vistazo a este proyecto: http://code.google.com/p/php-serial/source/browse/trunk/
¿El usuario que ejecuta la secuencia de comandos tienen ondulaciones permanentes de escritura en ese dispositivo? 'ls -l/dev/ttyUSB0' –
Si instala un paquete UUCP, ¿' cu/dev/ttyUSB0' o 'tip/dev/ttyUSB0' funcionan como se esperaba? ('screen' también puede hacer cosas en serie, si no tiene fácil acceso a UUCP ...) – sarnold
No he accedido a un puerto serial en php, pero ¿no debería configurar su baudio, paridad, stopbits, etc. . ¿de algun modo? – hackattack