encontra porta serial com

0

Estou usando um CH341-UART Converter para enviar alguns dados de string para a porta USB. Como posso encontrar o número da porta COM para o dispositivo conectado? Por exemplo, neste programa:

import serial      
ComPort = serial.Serial('COM24') # open COM24
ComPort.baudrate = 9600 
ComPort.bytesize = 8  

COM24 é minha porta. Mas como posso encontrar o número de porta correto?

    
por Arash Hatami 30.01.2016 / 17:01

2 respostas

2

No linux, seus dispositivos não têm meta-nomes como com1 ou mais. Seu adaptador usb é adicionado ao /dev -directory com um nome específico do driver. O adaptador usb-uart mais usa o nome /dev/ttyUSB* em que * é um número que começa em 0. A melhor maneira de obter esse nome é visualizar as alterações das mensagens do kernel via dmesg antes e depois do plug-in do adaptador . Você deve conseguir algo assim:

usb 4-2: ch341-uart converter now attached to ttyUSB0

Você precisa usar ' /dev/ttyUSB0 ' em vez de com24 .

Mas o acesso a um nó de dispositivo é restrito ao usuário root. Então você tem que resolver isso.

    
por 30.01.2016 / 21:43
1

Muitas distribuições Linux (tipicamente Debian e derivados) possuem um diretório /dev/serial/by-id . Isso mostra o nome completo do "hardware" do dispositivo USB serial. Assista a este diretório enquanto conecta e desconecta para identificar seu dispositivo.

Crie um link simbólico entre esse nome completo e algum nome conveniente curto no diretório pessoal do usuário. Esse caminho completo (/ home / me / myserial) é a "porta com" para usar em programas. Isso é estável em plug / unplug / reboot devido ao symlink.

Exemplo:

my@host:~$ ls -lA /dev/serial/by-id
total 0
lrwxrwxrwx 1 root root 13 Jun 11 07:21 usb-FTDI_FT232R_USB_UART_ANZ1SMDF-if00-port0 -> ../../ttyUSB2

my@host:~$ ln -s /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_ANZ1SMDF-if00-port0 /home/me/myserial

Isso cria um link simbólico: /home/me/myserial que aponta para o conversor USB / serial sempre que é conectado ao host.

    
por 12.06.2018 / 18:12