- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有没有办法获取连接到串口的设备名称?
这段代码只给出了串行端口的名称。但我需要连接到它的设备名称,即诺基亚手机
import serial
import time
ser = serial.Serial('/dev/ttyACM0',
460800,
timeout=5,
xonxoff = False,
rtscts = False,
bytesize = serial.EIGHTBITS,
parity = serial.PARITY_NONE,
stopbits = serial.STOPBITS_ONE)
sere = ser.name
print (ser, sere)
我一直在检查其他可能性,例如 gammu-detect
但我想要一个独立的 python 脚本来执行此操作。有没有办法用 pyserial 来完成它?
最佳答案
是的,当然。
但这与串口本身没有严格的联系。这取决于设备使用的协议(protocol)。
本质上,您向设备发送一些预设的初始数据,设备会以制造商、名称、型号和版本或这些的某种组合进行响应。
我不确定这是否标准化,你必须搜索它。
如果它是标准化的,它很可能是这样的:
1. Open the port with 9600 baud rate
2. Send the request for info
3. Use info to reset the port etc.
我知道有些程序会这样做。当检测算法询问他们是谁时,您甚至可以听到旧的 56K 调制解调器对查询的 react 。
现在,您必须搜索这是标准过程还是每个设备都有自己的过程。
如果您正在搜索手机,那么很可能有一个针对手机版本的手机版本,也许每种操作系统都有,例如 iOS、Symbian、Android、Windows *...
如果您在互联网上找不到该协议(protocol),请为串行端口安装虚拟卡,在循环端口上执行中间人以查看与手机应用程序初始通信时发送的数据。
注意:连接到互联网(即使用手机作为调制解调器)时不要监视数据。您只会看到 AT&T 协议(protocol),这对您没有多大帮助。
如果您想了解它是如何普遍工作的,请对虚拟串行卡使用相同的技术,但当新设备向导检测到新硬件时。
附注我发现了一些东西!
尝试发送:
"\x02S\x00\x00\x00\x00\x03"
您应该返回一些包含设备数字标识符的数据。就像序列号一样。
关于python - 获取连接到端口/dev/ttyACM0的设备名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41521034/
我有一个脚本可以从连接在以下位置的外部爱立信 F3507gw 调制解调器获取信号强度: ttyACM0: mobile broadband data modem ttyACM1: mobile bro
他们的命令是否返回打开的/dev/ttyACM*。在脚本的某个阶段,它断开 USB 连接并重新连接,但 ACM 在此之后递增,因此变量 port =/dev/ttyACM0 现在是 /dev/ttyA
下午好 我有一个外围设备,它通过虚拟串行端口通过 USB 进行通信。使用通用 ACM 串行驱动程序在 Windows 下一切正常,例如:https://www.kernel.org/doc/Docum
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwar
我是一名优秀的程序员,十分优秀!