raspberry - python y arduino pdf
Hablando programáticamente con un puerto serie en OS X o Linux (2)
/dev/cu.xxxxx
es el dispositivo de "llamada", es lo que usa cuando establece una conexión con el dispositivo serie y comienza a hablar con él. /dev/tty.xxxxx
es el dispositivo "dialin", que se usa para monitorear un puerto para llamadas entrantes, por ejemplo, para un oyente de fax.
Tengo un letrero Prolite LED que me gusta configurar para mostrar las consultas de búsqueda de desplazamiento de los registros de Apache y otras estadísticas divertidas. El problema es que mi G5 no tiene un puerto serie, así que tengo que usar un dongle de usb a serial. Se muestra como /dev/cu.usbserial y /dev/tty.usbserial.
Cuando hago esto, todo parece ser hunky-dory:
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 la herramienta de puerto serie para hablar con él.
Si ejecuto este fragmento de código con la herramienta de puerto en serie mencionada anteriormente, también funciona todo. 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é magicks debo hacer 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. El problema es que el problema persiste incluso con sudo-ejecutar el script de python, y lo único que lo hace funcionar es abrir la conexión en la herramienta de GUI que mencioné.
¿Has intentado ver el tráfico entre la GUI y el puerto serie para ver si hay algún tipo de comando especial que se envíe? También es curioso, Python está enviando ASCII y no UTF-8 u otra cosa, ¿verdad? La razón por la que pregunto es porque noté los cambios de cotizaciones para las cadenas y en algunos idiomas que realmente es la diferencia entre ASCII y UTF-8.