Atualização: você precisa se adicionar ao grupo 'discado' para acessar as portas seriais:
sudo gpasswd --add <your-username> dialout
Obrigado ao @Pilot6 por mencionar isso. Até agora eu estava usando o sudo para usar as portas seriais.
No Linux, todos os dispositivos são representados como arquivos. Por exemplo, seu disco rígido pode ser /dev/sda
. Um pendrive que você conectar aparecerá como /dev/sdx
onde x
poderia ser a, b, c ...
Também no Linux, não usamos o termo COM. Se você conectar um dispositivo serial, ele aparecerá novamente como um arquivo na pasta /dev
. Pode ser algo como /dev/ttyUSB0
ou /dev/ttyACM0
se for um dispositivo serial. Portanto, se você quiser se comunicar com o dispositivo, poderá usar o Equivalente do HyperTerminal chamado picocom
. Existem outras alternativas como o minicom, mas eu uso esse picocom porque é muito fácil de usar.
Instale-o digitando:
sudo apt-get install picocom
Para executá-lo, digite
sudo picocom -b 19200 /dev/ttyUSB0
Aqui eu especifiquei a taxa de transmissão como 115200
e o dispositivo como /dev/ttyUSB0
. Para taxa de transmissão, consulte a documentação do dispositivo que você está conectando. /dev/ttyUSB0
é equivalente ao nome da porta COM e variará cada vez que o dispositivo for conectado e também depende do número de dispositivos seriais conectados (assim como no Windows, onde aparece como COM1 em uma conexão e diz COM2 ao reconectá-lo) ).
Para encontrá-lo, conecte seu dispositivo e execute:
ls /dev/tty*
Deve ser listado conforme mostrado na imagem:
Atualização: Dos comentários, eu entendo que você só precisa ler os dados. Você pode fazer isso no linux sem instalar nenhum software!
Primeiro, conecte o dispositivo e, em seguida, identifique o dispositivo ( ls /dev/tty*
. Além disso, certifique-se de que seu usuário esteja no grupo dialout
. Assumindo que o dispositivo seja /dev/ttyUSB0
, defina a taxa de transmissão assim:
sudo stty -F /dev/ttyUSB0 19200
onde 19200
é a taxa de transmissão.
Agora, para ler a saída, faça o seguinte:
tail --follow /dev/ttyUSB0
Na verdade, você também pode enviar dados do terminal:
echo <data> > /dev/ttyUSB0