Cookie
Electronic Team, Inc. uses cookies to personalize your experience on our website. By continuing to use this site, you agree to our cookie policy. Click here to learn more.

Portas Série no Linux – Guia Completo

Editorial Team Editorial Team
Atualizado: Dec 3, 2025

Aqui pode aprender como ligar um dispositivo série no Linux, bem como um método simples para disponibilizar portas série ligadas a um computador remoto. Usaremos como exemplo uma impressora de talões compatível com ESC/POS.

Teste Gratuito de 14 dias disponível
O preço da licença começa em $259.95
Disponível para
usb para ambiente de trabalho remoto

Verificar as Suas Portas

As portas série são um tipo de dispositivo série. O comando dmesg permite verificar se um dispositivo série foi detetado e reconhecido pelo sistema operativo. Caso tenha sido, surgirá listado no resultado do comando.

Como o dmesg mostra todos os dispositivos do sistema, vamos filtrar a saída através do grep, que procura linhas contendo a palavra-chave indicada. Os nomes de portas série no Linux começam com “ttyS”, pelo que iremos usar esse termo na pesquisa. A saída do dmesg pode ser enviada para o grep utilizando um pipe (o símbolo |). Como são necessárias permissões de superutilizador, será preciso usar sudo. O comando final é:

sudo dmesg | grep tty
ecrã 1
Os dispositivos serão listados juntamente com os respetivos ficheiros de dispositivo. Estes ficheiros existem em /dev — por exemplo, ttyS0 ou ttyS1 — e podem ser usados posteriormente como argumentos noutros comandos para especificar que porta série deve ser utilizada. Além disso, o dmesg pode indicar um problema técnico caso o dispositivo não apareça.

Interagir com Dispositivos Série

Utilizando utilitários padrão

No Linux, as portas série são representadas como ficheiros, pelo que utilitários comuns como echo e cat podem ser usados para interagir com elas. O comando stty permite alterar configurações da porta. Eis como cada ferramenta funciona.

Com stty, pode definir parâmetros como a taxa de transmissão (baud rate), número de bits de dados, paridade, tipo de handshake (controlo de fluxo), entre outros. Estes parâmetros têm de coincidir com os do dispositivo para que a ligação funcione corretamente.

Para ver as configurações atuais da porta, utilize:

sudo stty -a -F <your port>
ecrã 2
Eis um comando de exemplo que define a taxa de transmissão da porta ttyS0 para 9600, 8 bits de dados e ativa o handshake RTS/CTS:

sudo stty -F /dev/ttyS0 9600 cs8 crtscts

Com as configurações definidas, podemos enviar dados para o dispositivo usando echo. É possível enviar texto simples para a porta série:

echo ‘TEXT’ > /dev/ttyS0

Contudo, isto requer sessão de superutilizador, que pode ser iniciada com “su -”.

Alguns dispositivos — como a nossa impressora — necessitam de códigos ASCII especiais como ESC ou Carriage Return. Uma forma de os enviar é usar echo -e com sequências de escape, que começam com \x seguidas de um valor hexadecimal.
Por exemplo, é assim que a palavra “TEXT” pode ser impressa utilizando sequências de escape:

echo -e '\x54\x45\x58\x54'‘

Vamos enviar as seguintes mensagens:

1B 40 (ESC @, Inicializar)
1B 6D (ESC m, Corte Completo)
4C 49 4E 45 20 31 ("LINE 1")
1B 21 80 (Ativar Sublinhado)
4C 49 4E 45 20 32 ("LINE 2")
0D 0A (CR FF, Nova Linha)
1B 40 (Corte Completo)


O argumento -e é necessário para que as sequências de escape hexadecimais “\x” sejam interpretadas corretamente. É assim que o comando aparece no terminal e no talão impresso:
ecrã 3
Embora o comando echo permita enviar dados através da ligação série, o comando cat pode ser utilizado para os receber. No nosso caso, a impressora responde a pedidos ESC/POS padrão de estado e identificação, pelo que precisamos de capturar essas respostas. Para começar, executamos o cat a escutar o dispositivo ttyS0 e redirecionamos a saída para um ficheiro de texto:

cat /dev/ttyS0 > examplefile

A aplicação deve permanecer em execução para receber os dados, por isso é necessário abrir uma nova janela ou separador do Terminal para enviar comandos ao dispositivo. Usaremos echo para enviar o seguinte:

1D 49 31 (Request model ID)
1D 49 32 (Request type ID)
Como as respostas são fornecidas em formato hexadecimal, o conteúdo gravado pelo cat no ficheiro “examplefile” não será legível diretamente. Assim, iremos processar o ficheiro com o comando hexdump:
ecrã 4

A usar o gtkterm

O Linux disponibiliza terminais série como o minicom e o gtkterm, capazes de interagir de forma completa com portas série, gerindo entrada e saída de dados, oferecendo opções avançadas de formatação e simplificando bastante o processo.

Como exemplo, iremos utilizar o gtkterm. Tal como o stty, o gtkterm deve ser iniciado com argumentos na linha de comandos para configurar a ligação, caso as definições padrão não sejam adequadas.
ecrã 5
Entre as opções mais úteis encontram-se o local echo (que duplica no ecrã os dados enviados), o registo de comunicação, a visualização em hexadecimal e o envio de dados em formato hex. Repare também nos indicadores no canto inferior direito — mostram o estado das linhas DTR, RTS, CD, DSR e RI, sendo mais uma forma de confirmar que o dispositivo está ligado e pronto a comunicar.
ecrã 6

Ligar a uma Porta Série na Sua Rede Local

Tem um dispositivo série que precisa de ser partilhado entre vários computadores? Ou necessita de estabelecer uma ligação série entre duas aplicações remotas? O Serial to Ethernet Connector para Linux é uma solução simples e eficaz. Além de ligar portas físicas, a aplicação permite criar portas virtuais que podem ser acedidas por qualquer software compatível.

Intuitivo e repleto de funcionalidades, o Serial to Ethernet Connector pode ser configurado em apenas alguns minutos. Conta com documentação detalhada, guias do utilizador e apoio técnico especializado. Além disso, está disponível uma versão de avaliação gratuita de 15 dias — uma oportunidade sem riscos para testar a solução.

Como Usar o Serial to Ethernet Connector

1
Registe-se para a versão de teste gratuita nesta página. Aguarde que a chave de ativação chegue ao seu email.
Inscreva-se para um teste gratuito
2
Aceda ao Centro de Transferências e selecione o instalador adequado para a sua distribuição Linux e arquitetura do sistema.
Dirija-se ao Centro de Transferências
3
Abra o Terminal, navegue até ao ficheiro e utilize os seguintes comandos em sistemas baseados em Debian (necessitará de privilégios de superutilizador):

dpkg -i serial_ethernet_connector_64.deb
apt-get install -f


Ou utilize este comando no Fedora ou CentOS:

sudo rpm -i serial_ethernet_connector_64.rpm

Depois de concluída a instalação, reinicie o computador.
4
Ative o software utilizando o seguinte comando:

evesecli register <your activation code>

Pode confirmar a ativação executando:

evesecli license

Estes passos de instalação e ativação precisam de ser realizados em ambas as máquinas que irão comunicar entre si.
Use o seu código de ativação
5
Como iremos trocar mensagens entre duas aplicações, será necessário criar portas virtuais tanto no servidor como no cliente. No servidor, comece por executar o seguinte comando:

evesecli add -v /tmp/ttyLS0 server --local 5000

O comando “start” irá abrir a ligação:

evesecli start /tmp/ttyLS0

Além disso, precisará do endereço IP da sua máquina na rede local. Execute “hostname -I” (i maiúsculo).
criar portas virtuais tanto para o servidor como para o cliente
6
No computador cliente, execute:

evesecli add -v /tmp/ttyRS0 client --remote <your IP address>:5000
evesecli start /tmp/ttyRS0


Pode confirmar se a ligação foi estabelecida com sucesso através do comando “evesecli list”. Deverá surgir uma ligação ativa.
verificar se a ligação foi bem-sucedida
7
Finalmente, como ambas as portas são virtuais, podem ser testadas da mesma forma que antes, utilizando os comandos cat e echo.
uma vez que as portas ligadas são ambas virtuais, podem ser testadas
Não se esqueça de que pode usar “man evesecli” para consultar todas as opções e comandos disponíveis. Existe também um guia do utilizador com exemplos práticos e informação detalhada sobre como tirar o máximo partido do Serial to Ethernet Connector.
Serial to Ethernet Connector
Access remote serial port over IP Network for Windows
Teste Gratuito de 14 dias disponível
O preço da licença começa em $259.95
Disponível para