为了账号安全,请及时绑定邮箱和手机立即绑定

以编程方式与OS X或Linux中的串行端口通信

以编程方式与OS X或Linux中的串行端口通信

慕莱坞森 2021-03-22 09:48:31
我想设置一个Prolite LED标志,以显示来自Apache日志和其他有趣统计信息的滚动搜索查询。问题是,我的G5没有串行端口,因此我必须使用USB来串行加密狗。它显示为/dev/cu.usbserial和/dev/tty.usbserial。当我这样做时,一切似乎都是笨拙的:stty -f /dev/cu.usbserialspeed 9600 baud;lflags: -icanon -isig -iexten -echoiflags: -icrnl -ixon -ixany -imaxbel -brkintoflags: -opost -onlcr -oxtabscflags: cs8 -parenb当我使用串行端口工具与之通信时,一切也正常。如果我在上面提到的串行端口工具上运行这段代码,那么一切都可以。但是,一旦我断开工具的连接,连接就会丢失。#!/usr/bin/pythonimport serialser = serial.Serial('/dev/cu.usbserial', 9600, timeout=10) ser.write("<ID01><PA> \r\n") read_chars = ser.read(20)print read_charsser.close()因此,问题是,在不使用串行端口工具的情况下开始与串行端口通信时,我需要执行哪些操作?这是权限问题吗?另外,/ dev / cu.usbserial和/dev/tty.usbserial有什么区别?不,没有序列号。事实是,即使使用sudo运行python脚本,问题仍然存在,并且如果我在提到的gui工具中打开连接,唯一的问题就解决了。
查看完整描述

2 回答

?
慕盖茨4494581

TA贡献1850条经验 获得超11个赞

/dev/cu.xxxxx是“标注”设备,它是您与串行设备建立连接并开始与之交谈时使用的设备。/dev/tty.xxxxx是“ dialin”设备,用于监视端口的传入呼叫,例如传真侦听器。


查看完整回答
反对 回复 2021-03-22
?
FFIVE

TA贡献1797条经验 获得超6个赞

您是否尝试过观察GUI和串行端口之间的流量,以查看是否发送了某种特殊命令?同样奇怪的是,Python正在发送ASCII而不是UTF-8或其他内容,对吗?我问的原因是因为我注意到您的字符串和某些语言的引号更改实际上是ASCII和UTF-8之间的区别。


查看完整回答
反对 回复 2021-03-22
  • 2 回答
  • 0 关注
  • 196 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号