Hola que tal amigos programadores y buscadores de desafios o con conocimento para compartir.
Tengo una problema que llevo acarreando de un par de dias,
ya intente muchas cosas pero nada me funciona al 100.
Tengo una bascula
Torrey EQ - 10 / 20.
La bascula tiene salida para puerto serie
macho, asi que tengo un
adaptador hembra-hembra y un cable
macho - usb para poder realizar la conexion a la pc.
instale los drivers que venian en caja del cable macho - usb y todo quedo bien por esa parte, este es el nombre que sale en los dispositivos conectados
Prolific USB-to-Serial Comm Port (COM7).
Primero intente lo facil abri el puerto con el fopen.
--- intento 1 ---
checar si podia abrir el puerto si problema Código PHP:
$handler = fopen("COM7:","r+");
y con esto no me daba error.
Lo siguiente que hice fue intentar leer datos de la bascula, le puse algo encima y puse el siguiente codigo.
Código PHP:
$handler = fopen("COM7:","r+");
if($handler){
echo fread($handler,1000);
echo "abierto";
}
else
echo "no abierto";
En este punto al ejecutar lo anterior veo que la bascula parpadea, o sea que recibio la solicitud de datos, pero al ejecutarse la linea
fread()
el script sigue ejecutandose y nunca me recibe los datos, en ocaciones la bascula se queda parpadeando.
(probado con wamp, xxamp en windows 7 64 bits)
--- intento 2 ---
Me meti a la pagina esa de byteworks para descargarme el codigo que tienen para la comunicacion con el puerto serial,etc y dije a chido con esto la armo.
realice todas las configuraciones, meti el archivo
php_ser++.dll en la carpeta
ext de php, reinicie todo y al parecer me funciono al abrir el puerto tambien.
Ahora ejecute este codigo segun las instrucciones de esa libreria.
Código PHP:
$functions = get_extension_funcs($module);
ser_open("COM7", 9600, 8, "None", 1, "None");
$str = ser_read();
echo $str;
//tambien agregue esta linea y esta siempre me tria 119 no importando cuanto peso le pusiera a la bascula
echo ser_readbyte( );
Y yo entusiasmado dije, con este ya la hice, pero cual fue mi sorpresa que la linea
ser_read() no me trajo datos, nada
--- ahi termino mi intento numero 2 ---
--- El intento 3 y 4, fue probar los primeros 2 en
win xp 32 bit ---
--- el ultimo intento ---
Me descarge el programa scale.exe (que solo podia ejecutarse en win xp) y lo
ejecute esperando que en ese al menos recibiera los datos y los mostrara en pantalla en su propio programa claro, sin meterle codigo y nada.
Seleccione el puerto bien y todo pero no me aparecia nada en la pantalla del programa
mas que las opciones de "configurar"
el cuadro negro donde supongo deberia salir el peso de la bascula
y tres radio buttons: enviar, recibir, espera.
de los cuales solo los de recibir y espera se cambiaban entre si.
-----
Esta es toda la informacion que tengo, si alguien pudiese tener la amabilidad y claro si ha configurado este tipo de bascula o similares me podria orienta acerca de como hacerlo bien.
Tambien tengo la duda de que si la bascula sirve para enviar datos del pesos a la pc, por que al parecer estuvo arrumbada cierto tiempo y no la usaban.
Gracias por todos los que se tomaron la molestia de leer hasta el final.
Pero para no dar informacion incompleta, mejor decirles todo lo que hice para no
generar mas dudas.
Gracias.