#python-3.x #port #pyserial #ubuntu-20.04
#python-3.x #порт #pyserial #ubuntu-20.04
Вопрос:
Я попытался перечислить все com-порты, чтобы я мог подключиться к ним. Я использую Ubuntu 20.04. Я пробовал разные вещи, на которые были даны ответы в stackoverflow. Я попытался из списка из вывода командной строки командной строки
import serial
import serial.tools.list_ports
ports = serial.tools.list_ports.comports()
print(ports)
for port, desc, hwid in sorted(ports):
print('hello')
print("{}: {} [{}]".format(port, desc, hwid))
метод serial.tools.list_ports.comports() возвращает пустой список.
Я перепробовал все и много гуглил, но не могу найти решение.
Пожалуйста, помогите кому-нибудь, потому что в противном случае мой проект остановится.
Комментарии:
1. Что вы получите, если запустите
dmesg | grep -i serial
с терминала?2. [0.555970] Серийный номер: драйвер 8250/16550, 32 порта, включен общий доступ к IRQ [ 0.562116] usb usb1: строки нового USB-устройства: Mfr = 3, Product = 2, SerialNumber = 1 [ 0.562120] usb usb1: SerialNumber: 0000:00:14.0 [ 0.563893] usb usb2: строки нового USB-устройства: Mfr = 3, Product = 2, SerialNumber = 1 [ 0.563896 ] usb usb2: серийный номер: 0000:00:14.0 [1.078359] usb 1-1: Строки нового USB-устройства: Mfr = 1, Product = 2, SerialNumber = 0 [1.333481] usb 1-4: Строки нового USB-устройства: Mfr = 1, Product = 2, SerialNumber = 3
3. Я не вижу
tty
нигде, действительно ли у вас есть com-порт на этом компьютере?
Ответ №1:
Для меня serial.tools.port_lists
показывает «порт не найден», но dmesg
показывает, что ttyS3
порт существует:
[root@localhost ngt]# dmesg | egrep --color 'serial|ttyS'
[00.751594] serial8250: ttyS3 at I/O 0x2e8 (irq = 3) is a 16550A
[0.866102] usbcore: registered new interface driver usbserial
[0.866117] usbcore: registered new interface driver usbserial_generic
[0.866129] usbserial: USB Serial support registered for generic
[root@localhost ngt]# python3 -m serial.tools.list_ports -v
no ports found
Итак, я могу подключиться к этому ttyS3
порту с помощью serial.Serial()
.