python 无法在android上查看串行端口(ComPorts)

olhwl3o2  于 2022-12-10  发布在  Python
关注(0)|答案(1)|浏览(222)

我在我的安卓手机上安装了Octo4A。它安装了Alpine linux和python3。当我运行python脚本查看串口时。它说没有找到端口,但它确实使用相同的脚本在我的Windows电脑上找到了端口:

import serial.tools.list_ports as ports

def getAvailablePorts():
    availablePorts = list(ports.comports())
    return availablePorts

availablePorts = getAvailablePorts()

for port in availablePorts:
    print("Available port: " + port.device)

Windows上的输出:
可用连接埠:通信3
以下是Octo4a中列出的系列:

我如何才能获得可用端口的列表,并使用python3在Android上连接到它?

ymdaylpp

ymdaylpp1#

如果您查看code,pyserial在Linux中查找端口的方式是尝试查找以下字符串:

/dev/ttyS*     # built-in serial ports
/dev/ttyUSB*   # usb-serial with own driver
/dev/ttyXRUSB* # xr-usb-serial port exar (DELL Edge 3001)
/dev/ttyACM*   # usb-serial with CDC-ACM profile
/dev/ttyAMA*   # ARM internal port (raspi)
/dev/rfcomm*   # BT serial devices
/dev/ttyAP*    # Advantech multi-port serial controllers
/dev/ttyGS*    # https://www.kernel.org/doc/Documentation/usb/gadget_serial.txt

在Octo4A中,串行端口显然被称为/dev/ttyOcto4a,因此list_ports()无法找到它们。
当然,这并不意味着pyserial不能工作,你可以尝试示例化并直接打开你的串口:

import serial

ser = serial.Serial(port='/dev/ttyOcto4a')

ser.isOpen()

我自己没有试过这个,所以我不能保证它会起作用。

相关问题