Clique aqui para voltar à página inicial  http://www.novomilenio.inf.br/ano96/9603aifl.htm
Publicado originalmente pelo editor de Novo Milênio no caderno Informática do jornal A Tribuna de Santos/SP, em 5 de março de 1996
Publicado em Novo Milênio em (mês/dia/ano/horário): 11/27/00 00:01:24
INFORMÁTICA FÁCIL: Ligue seu micro com o mundo... (9)
Os comandos Hayes

Estamos quase chegando lá, em breve você poderá estar se comunicando com outros possuidores de micros, com BBSs e a Internet. Mas, ainda falta um estágio importante, que é conhecer os comandos Hayes. Não é preciso decorá-los, mas ajuda muito saber pelo menos os principais, principalmente naquela hora em que você quer liberar a linha telefônica e o computador resolve mantê-la presa para seu uso exclusivo...

Já explicamos que esses comandos padronizados permitem que o programa de comunicação controle as funções do modem. Porém, nem todos os modems compatíveis com o padrão Hayes (hoje, maioria absoluta) aceitam todos os comandos, e alguns possuem comandos especiais. Além disso, os chamados comandos Hayes estendidos existem apenas em modems que trabalham com velocidade mínima de 2.400 bps. O manual do modem deve conter essas informações e também os valores default (pré-configurados na fábrica). 

Os comandos são dados dentro do programa de comunicação, em modo terminal, ou já estão embutidos no próprio soft de comunicação. Normalmente, começam com os caracteres AT, que fazem o modem prestar atenção ao que é comandado a seguir, podem ter (conforme o modem) de 40 a 255 caracteres na linha de comando e terminam, como qualquer comando em computador, com o sinal <CR> (Carriage Return - sinal obtido quando se pressiona a tecla [Enter] ou [Return]). Você já percebeu, pelo tamanho possível da linha de comando, que é possível enfileirar uma série deles numa só linha, encerrada com o <CR>.

Comando/Conexão - Existem dois conceitos importantes na operação do modem: modo Comando (ou modo Local) e modo Conexão (on-line). No primeiro caso, os sinais enviados através da porta serial do computador são entendidos pelo modem como comandos a serem executados. O modem entra nesse estado toda vez que é ligado. 

Depois de receber os chamados “comandos de inicialização”, ordenando que faça a conexão - e após detectar a presença do modem remoto através da linha telefônica -, é que o modem entra no modo Conexão. Nele, os caracteres passam direto através do modem, tanto na recepção como na transmissão. 

Para que ele volte a receber comandos, é preciso que o usuário tecle o código associado a Escape (normalmente, os sinais +++, tendo antes e depois um intervalo definido internamente no modem).

Na próxima edição mostraremos a relação dos comandos. Agora, vamos nos limitar a um exemplo, Dentro do Windows, e com o modem já instalado e configurado, abra simplesmente o programa Terminal. Você estará diante de um espaço em branco, pronto para receber os comandos. 

Comandos AT digitados na tela do Terminal e respostas
Digite ATZ, comande [Enter], deverá receber a resposta [OK]. Digite ATA, comande [Enter] e possivelmente ouvirá o sinal de linha no alto-falante interno do seu computador. 

Mais um pouco, terá o sinal de linha ocupada, como quando deixa o telefone fora do gancho muito tempo sem discar. Antes que o resto da família comece a reclamar de seu monopólio da linha telefônica, pressione novamente a tecla [Enter]. Se necessário, envie o comando ATH0 (mais [Enter]...), que provoca a desconexão, liberando a linha telefônica. (Obs.: leia acima ATHzero, não confunda 0 com O). 

Bem: em ATA, o segundo A vem de Answer, ou seja, você colocou o modem conectado em modo Resposta. Em ATZ, o caractere Z indica que você está resetando o modem, ou seja, retornando ao estado inicial do equipamento. No comando ATH0, H é o caractere que controla a conexão do modem, em que o zero significa desconexão ou colocar o fone no gancho e o caractere 1 indica o contrário (conexão ou tirar fone do gancho).

Pode ser que você não ouça o som, são vários os motivos: 1) você é surdo; 2) por alguma configuração no seu computador, o speaker está mudo; 3) existe uma falha na instalação do modem que não tenha sido detectada até aqui; 4) existe uma falha no modem ou no equipamento. Existem outras variáveis, mas pode também ser que você precise dar o comando ATL3 (mais [Enter]...) para que o modem fale mais alto. A letra L controla o volume do alto-falante, e é acompanhada de um número: 1 (som baixo), 2 (som médio) e 3 (som alto). Não se preocupe, que com o tamanho do speaker nem o alto consegue ensurdecer alguém...).

Um truque no DOS - Antigamente, os computadores não tinham programas como o Windows, dependiam apenas do sistema operacional DOS (o bom e velho DOS, na opinião de quem o usa). Nem todos sabem, mesmo muitos usuários experientes, que na linha de comando do DOS é possível enviar comandos ao modem. Faça assim, vá ao diretório-raiz do winchester (para garantir o acesso ao programa MODE.COM, que faz parte do DOS). Primeiro, digite MODE COM 2400 > COM2 (substitua sempre nos exemplos a porta COM2 pela que estiver sendo usada pelo modem). Usa-se aqui velocidade 2400, pois com certeza ela será aceita pelo modem que reconheça comandos Hayes, e basta para uma ligação telefônica. Não esqueça do [Enter].

Agora, o segredo em DOS é a palavra ECHO. Digite ECHO ATZ > COM2. O sinal maior-que serve para direcionar o eco do comando (Echo) para a porta de comunicação. Digite ECHO ATDP 130 > COM2, e com um pouco de sorte poderá acertar seu relógio pelo serviço Hora Certa da Telesp, através do som do speaker de seu micro. Você sabe, com a qualidade sonora desse alto-falante, aproveite para mandar um abraço ao Pato Donald... Se a linha não “cair” após a transmissão da Telesp, digite ECHO ATH0 > COM 2 para liberá-la.

Programadores mais experientes já perceberam como é fácil criar arquivos batch para chamar automaticamente os amigos, usando inclusive a técnica de menus. Este editor já construiu um batch que permite digitar o número com esse programa rodando, ‘proeza” que muitos pensam ser impossível nessa linguagem básica do sistema operacional: usa-se neste caso as interrupções Errorlevel para reconhecer as teclas pressionadas e um loop que adiciona cada número reconhecido a uma variável, que depois é enviada como ECHO ATDP(variável) > COM2 ao modem. 

Esse batch pode ser incrementado, para chamar números telefônicos variáveis de dentro de um banco de dados como o Dbase III Plus: dentro do programa, o comando fica sendo RUN ECHO ATDP(variável) > COM2. Mas, isso é conversa para programadores, foge ao tema desta série. Na próxima edição, publicaremos a lista dos principais comandos Hayes.

Colaboram nesta série o Renato “Snake” Ferreira Ribeiro, da Snake BBS, e o Christian Rodrigues Barbosa, da Blue Eagle Consulting, encarregado da estruturação de A Tribuna como provedora Internet.