Pregunta

Tengo un letrero LED Prolite que me gusta configurar para mostrar consultas de búsqueda desplazables desde registros de Apache y otras estadísticas divertidas.El problema es que mi G5 no tiene un puerto serie, por lo que tengo que usar un dongle USB a serie.Aparece como /dev/cu.usbserial y /dev/tty.usbserial .

Cuando hago esto, todo parece ir sobre ruedas:

stty -f /dev/cu.usbserial
speed 9600 baud;
lflags: -icanon -isig -iexten -echo
iflags: -icrnl -ixon -ixany -imaxbel -brkint
oflags: -opost -onlcr -oxtabs
cflags: cs8 -parenb

Todo también funciona cuando uso el herramienta de puerto serie para hablar con él.

Si ejecuto este fragmento de código mientras utiliza la herramienta de puerto serie mencionada anteriormente, todo también funciona.Pero tan pronto como desconecto la herramienta, la conexión se pierde.

#!/usr/bin/python

import serial

ser = serial.Serial('/dev/cu.usbserial', 9600, timeout=10) 
ser.write("<ID01><PA> \r\n") 
read_chars = ser.read(20)
print read_chars

ser.close()

Entonces la pregunta es, ¿qué magia necesito realizar para comenzar a hablar con el puerto serie sin la herramienta de puerto serie?¿Es eso un problema de permisos?Además, ¿cuál es la diferencia entre /dev/cu.usbserial y /dev/tty.usbserial?


No, no hay números de serie.La cuestión es que el problema persiste incluso con la ejecución sudo del script de Python, y lo único que hace que funcione es si abro la conexión en la herramienta gui que mencioné.

No hay solución correcta

Otros consejos

/dev/cu.xxxxx es el dispositivo de "llamada", es lo que usas cuando estableces una conexión con el dispositivo serie y comienzas a hablar con él. /dev/tty.xxxxx es el dispositivo de "marcación", que se utiliza para monitorear un puerto para llamadas entrantes, por ejemplo.un oyente de fax.

¿Ha intentado observar el tráfico entre la GUI y el puerto serie para ver si se envía algún tipo de comando especial?También es curioso que Python envíe ASCII y no UTF-8 o algo más, ¿verdad?La razón por la que pregunto es porque noté que las comillas cambian para las cadenas y, en algunos idiomas, esa es en realidad la diferencia entre ASCII y UTF-8.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top