我有一个Prolite LED标志,我喜欢设置显示apache日志和其他有趣的统计滚动search查询。 问题是,我的G5没有串口,所以我必须使用USB串口encryption狗。 它显示为/dev/cu.usbserial和/dev/tty.usbserial。
当我这样做的时候,一切似乎都是h </s>的:
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
当我使用串口工具与它交谈时,所有东西都可以工作。
如果我运行这段代码而上面提到的串口工具,everthing也可以。 但是,只要我断开连接工具,连接就会丢失。
#!/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()
所以问题是,在没有串口工具的情况下,需要执行什么样的磁贴才能开始与串口通话? 这是一个权限问题? 另外,/dev/cu.usbserial和/dev/tty.usbserial有什么区别?
不,没有序列号。 问题是,即使使用sudo运行python脚本,问题仍然存在,并且只有在我提到的gui工具中打开连接时,问题才会通过。
/dev/cu.xxxxx
是“标注”设备,这是您建立到串行设备的连接并开始与之通话时所使用的设备。 /dev/tty.xxxxx
是“dialin”设备,用于监视例如传真监听器等来电的端口。
你有没有试过看图形用户界面和串口之间的流量,看是否有某种特殊的命令被发送? 也只是好奇,Python是发送ASCII而不是UTF-8或别的东西吗? 我问的原因是因为我注意到了你的引用字符串的变化,在一些语言中,实际上是ASCII和UTF-8之间的区别。