Eu tenho um Raspberry Pi rodando Linux - Raspbian.
O problema é que estou vendo um comportamento estranho quando tento ler a porta USB. Dá resultados intermitentes.
Ontem à noite funcionou, esta manhã não - exatamente o mesmo código.
dmesg | grep tty
retorna-
[ 0.000301] console [tty1] enabled
[ 0.812585] 3f201000.serial: ttyAMA0 at MMIO 0x3f201000 (irq = 81, base_baud = 0) is a PL011 rev2
[ 0.814150] 3f215040.serial: ttyS0 at MMIO 0x0 (irq = 53, base_baud = 31250000) is a 16550
[ 4.867127] cdc_acm 1-1.5:1.0: ttyACM0: USB ACM device
Meu dispositivo está na porta ttyACM0
.
Posso confirmar que a porta está aberta quando verifiquei com ser.isOpen()
.
Quando abro um terminal Python3, executo o seguinte:
import serial
port = "ttyACM0"
ser = serial.Serial("/dev/%s" % port, 9600, timeout=0.5)
while True:
line = ser.readline()
print(line)
print(line.decode())
Ontem à noite ele retornou ao porto o que eu estava escrevendo.
Esta manhã tudo retorna:
b''
b''
b''
Troquei o cabo USB e verifiquei se o dispositivo que está gravando na porta está gravando dados.
Meu único palpite é que seja algo dentro do Linux/Raspbian, mas não tenho certeza.
Alguma idéia de como depurar isso ainda mais?