Eu tenho um FT232RL Adaptador USB para serial que eu conecto a um microcontrolador (esp8266 esp-01). Ele funciona bem no Windows 10, se eu abrir uma comunicação serial com putty em COM3
com taxa de transmissão 76800
mostra a saída esperada. Mas quando eu tento fazer isso no Linux só vejo lixo.
Os passos que eu segui no Ubuntu são os seguintes:
$ dmesg | grep FTDI
[ 1.918717] usb 1-1.1: Manufacturer: FTDI
[ 10.766450] usbserial: USB Serial support registered for FTDI USB Serial Device
[ 10.766485] ftdi_sio 1-1.1:1.0: FTDI USB Serial Device converter detected
[ 10.766889] usb 1-1.1: FTDI USB Serial Device converter now attached to ttyUSB0
Também adicionei meu usuário aos grupos dialout
e tty
, mas ainda preciso de sudo
para abrir o terminal serial.
sudo usermod -aG dialout username
sudo usermod -aG tty username
Em seguida, corro sudo putty
, seleciono serial e conecto a /dev/ttyUSB0
e baud rate 76800
. Mas sempre que eu reinicio o microcontrolador (quando eu deveria ter alguma saída no console serial) eu só recebo caracteres ilegíveis.
A saída de lsusb
é a seguinte: Bus 001 Device 003: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
E caso seja necessário:
$ uname -a
Linux pcname 4.13.0-26-generic #29~16.04.2-Ubuntu SMP Tue Jan 9 22:00:44 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
Acho que tem algo a ver com o driver, mas não tenho ideia de como corrigi-lo.
UPDATE : parei de usar o Putty e comecei a usar python -m serial.tools.miniterm /dev/ttyUSB0 76800
e isso resolveu o problema. Alguém pode me dizer o porquê? Qual é a configuração diferente que esses dois programas têm para comunicação serial?