HyperTerminal e minicom

O HyperTerminal é o aplicativo de comunicações mais antigo do Windows. Lançado em 1985 como “Terminal”, permitia conectar o computador para uma outra pessoa. Com o lançamento do Windows Vista, não é mais incluído como parte dos Acessórios do Windows, disponível apenas no site oficial da Hilgraeve (desenvolvedor do software) ou copiando alguns arquivos do windows XP para o novo Windows.

Atualmente, ele é mais utilizado para testes de comunicação com portas seriais, utilizadas para conectar diversos equipamentos de hardware. O protocolo de comunicação serial RS-232 vem sendo gradualmente suprimido pelo USB (Universal Serial Bus) para comunicação local, por ser mais rápido, possuir conectores mais simples de usar e ter um melhor suporte por software. Como alternativa, existem adaptadores para portas USB.

Um pouco de eletrônica

A comunicação serial é o processo de enviar dados um bit de cada vez de modo sequencial, num canal de comunicação ou barramento. É usada em toda comunicação de longo alcance e na maioria das redes de computadores, onde o custo de cabos e as dificuldades de sincronização tornam a comunicação paralela (todos os bits de cada símbolo são enviados juntos) impraticável. Mesmo para curtas distâncias, barramentos serial estão se a tornar cada vez mais comuns devido ao ponto em que as desvantagens dos barramentos paralelos (densidade de interconexão) superam as suas vantagens de simplicidade.

A interface (ou porta) serial utiliza o padrão de protocolo RS-232 para troca serial de dados binários entre um terminal de dados (DTE) e um comunicador de dados (DCE). O padrão foi originalmente definido para uma comunicação por meio de 25 fios diferentes. A IBM, ao utilizar o padrão para o seu projeto do IBM-PC, definiu que apenas 9 pinos (DB9) seriam necessários. No entanto, manteve-se o conector DB25 nos computadores por ser um padrão da época. Nem sempre todos os pinos são utilizados. O padrão RS-232 especifica 20 diferentes sinais de conexão, e um conector em forma de D usado de forma comum. São utilizados conectores machos (geralmente nos cabos) e fêmeas (nos dispositivos), estando disponíveis adaptadores m-m e f-f.

Conversor serial/USB, placa serial DB25 com barramento PCI e conversor DB25/DB9. Foto: ViniRoger
Conversor serial/USB, placa serial DB25 com barramento PCI e conversor DB25/DB9. Foto: ViniRoger

A condição de marca é quando o circuito está fechado e a condição de espaço, quando o circuito está aberto. O início de um caractere é sinalizado por um espaço e os bits de parada são marcas. Os fios carregam três tipos de sinais: terra (SG ou GND), transmissão (TD ou TX) / recepção (RD ou RX) e “handshake” (processo pelo qual duas máquinas afirmam uma a outra que a reconheceu e está pronta para iniciar a comunicação).

Dentre as várias configurações de software para conexões seriais, as mais comuns são velocidade e bits de paridade e parada. A velocidade é a quantidade de bits por segundo transmitida de um dispositivo para outro, geralmente a taxas 300, 1200, 2400, 9600, 19200, etc. Tipicamente, ambos os dispositivos devem estar configurados com a mesma velocidade. Paridade é um método de verificar a precisão dos dados. Geralmente é nula (os dados não são modificados), mas pode ser par ou ímpar. Na paridade par, os dados são acomodados de modo que o número de bits 1 (isto é, sua contagem em um byte) seja um número par; isto é feito definindo o bit de paridade (geralmente os bits mais ou menos significativo) como 0 ou 1. Na paridade impar, o número de bits 1 é um número impar. A paridade pode ser usada pelo receptor para detectar a transmissão de erros – se um byte foi recebido com o número errado de bits 1, então ele deve estar corrompido. Se a paridade estar correta, então não deve haver erros, ou então há um número par de erros. Os bits de dados indicam o tamanho do dado (5 a 8 bits). Por fim, bits de parada são enviados no fim de cada byte transmitido com o intuito de permitir que o receptor do sinal se sincronize.

Como funciona o HyperTerminal

Cada porta do computador está identificada por um código: COM1, COM2, etc. Para descobrir a porta que o equipamento foi ligada, verifique no Gerenciador de Dispositivos do Windows (devmgmt.msc) o item “Portas (COM e LPT)”. Depois, abra o programa HyperTerminal (Acessórios -> Comunicação) e siga para a tela de configuração (último botão da barra de ícones). Ou também “properties” e escolha a porta em “Connecting using…” para então clicar em “Configure”.

Tela do HyperTerminal
Tela do HyperTerminal

O HyperTerminal solicita que seja definida a porta de comunicação serial do microcomputador que será usada para comunicar com o equipamento. Informe a porta à qual esteja ligado o equipamento (COM1, COM2, etc). Em seguida, o programa pede que sejam definidos os parâmetros de comunicação a serem usados na comunicação com o equipamento: Bits por segundo (deve ser o mesmo número do equipamento), Bits de dados (geralmente 8), Paridade (geralmente nenhum), Bits de parada (geralmente 1) e controle de fluxo (geralmente nenhum).

Após a configuração, aparece tela de operação do HyperTerminal. Clique no ícone de conectar na barra de ícones. Se o equipamento estiver energizado e corretamente conectado à porta selecionada, será possível a comunicação.

Alternativas no Linux

No Linux, as portas reservadas aos dispositivos são identificadas por “/dev/ttyS0”, “/dev/ttyS1”, etc (em vez de COM1, COM2 … respectivamente). A identificação “/dev/ttyUSB0” é usada caso o computador não tenha serial e a instalação seja feita pela porta USB através de um adaptador USB/Serial. Para descobrir qual porta o dispositivo conectado está utilizando, deve-se utilizar o seguinte comando após ligar o dispositivo:

$ dmesg | grep tty

Existem alternativas livres no Linux ao HyperTerminal, como o minicom. Ele pode ser instalado e executado pelos seguintes comandos:

$ sudo apt-get install minicom
$ sudo minicom -s

A opção “-s” abre direto na tela de configuração (talvez seja preciso entrar como super usuário). Escolha a opção “configuração da porta serial” (teclando ENTER) e tecle a letra “a” para alterar de acordo com sua serial (por exemplo, mudando para “/dev/ttyUSB0”); se for o caso, tecle “e” para acertar a paridade (para 9600 8N1 deve-se teclar “c” depois, por exemplo, conforme aparece na tela). Conclua digitando ENTER a cada janela de diálogo.

Depois, é possível salvar a configuração como um arquivo através de item no menu inicial (“conn_teste”, por exemplo). Se quiser executar diretamente essa configuração, basta digitar o comando “$ sudo minicom conn_teste”).

Tela do minicom
Tela do minicom – geralmente bps é 9600, paridade 8 e “stop bits” 1

De volta ao menu, vá em “sair” para começar a ver se a configuração vigente está funcionando, ou seja, se tem caracteres sendo impressos na tela. Para abrir o menu de opções novamente, digite CTRL+A+Z (o Z um pouco depois) e depois a letra “o”. Para abrir o modo de inserção é o mesmo procedimento, devendo-se digitar “a”; para sair do minicom, digite “x”.

Outra alternativa é o GtkTerm. Ele pode ser instalado e utilizado pelos seguintes comandos:

$ sudo apt-get install gtkterm
$ sudo gtkterm

Na janela aberta, é possível configurar a conexão no menu “Configuration -> Port”.

Veja um script em python para aquisição de dados via USB/serial e como fixar o nome do dispositivo no post do link.

Compartilhe :)

One comment

Leave a Reply

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.