Umas das coisas mais corriqueiras no ramo de automação seja ela residencial ou industrial, é o envio de comandos do computador para o sistema ao qual se deseja automatizar, onde através de um programa no computador o individuo aperta alguns botões e a tarefa é feita numa máquina do ambiente.
Esta comunicação pode ser facilmente feita pela porta serial RS-232 do computador, onde um programa desenvolvido em alguma linguagem de programação (por exemplo, Java) vai enviar informação para a porta e algum dispositivo eletrônico (por exemplo, um microcontrolador) vai receber esta informação e fazer o que tiver que fazer com esta informação.
Para ajudar ainda mais quem pretende fazer esta comunicação via linguagem Java e utilizando o Netbeans eu desenvolvi uma classe com a intenção de facilitar na hora de fazer a comunicação entre PC e dispositivo. A função da classe é diminuir a complexidade abstraindo toda a configuração necessária para por em funcionamento a porta serial.
O nome da classe é PortaSerial que deve ser incluída no projeto. Além de incluir a classe é necessário também incluir o arquivo RXTXcomm.jar ao projeto e em todas classes lib do jdk e jre. É necessário também incluir na pasta Bin do jdk e jre o rxtxSerial.dll, e também na pasta system32 do Windows.
Feito isso é só usar a classe sem precisar se preocupar com nada a respeito da parte de tratamento das variáveis de entradas e saídas e nem das configurações da porta para o funcionamento, que convenhamos é bem chata e cansativa de se fazer.
Basta ler abaixo como é fácil o manuseio da porta serial
Se a classe PortaSerial não estiver no mesmo pacote da classe principal faça:
import (pacote onde está a classe).PortaSerial
Primeiramente criamos um objeto da classe PortaSerial na sua classe principal
PortaSerial portaserial;
O próximo passo é iniciar o objeto
portaserial = new PortaSerial();
agora com o comando abaixo o método ListaPortasCom da classe PortaSerial é executado.
portaserial.ListaPortasCom();
Quando o método anterior é executado ele carrega duas variáveis globais portascom e é do tipo String vetor[] que é publica e pode ser acessada de qualquer classe esta variável tem o nome de todas as portas seriais encontradas no computador, e numero_de_portas que tem o numero total de portas do computador
Veja abaixo como acessar o conteúdo dessas variáveis:
portaserial.portacom[i];
portaserial.numero_de_portas;
tendo o nome de todas as portas na variável portaserial.portacom[i] o próximo passo é abrir a porta a qual deseja efetuar a comunicação
portaserial.abrir_porta(nome_porta, vel);
O comando acima vai executar o método abrir_porta da classe PortaSerial e deve ser passado o nome da porta serial que deseja abrir na variável “nome_porta” que é do tipo String e deve ser tirada da variável “portaserial.portacom[i]”, e a velocidade da conexão na variável “vel” que é do tipo int.
Para enviar uma mensagem basta executar o seguinte comando:
Portaserial.escreve_mensagem(mensagem);
Onde mensagem é o que se deseja enviar pela porta ou seja são os dados a serem transmitidos e é uma variável do tipo String;
E para ler uma mensagem basta executar o comando
Portaserial.le_mensagem();
Feito isso a mensagem quando chegar será visualizada na variável:
portaserial.strEntrada
que é do tipo String
e para fechar a porta basta o seguinte comando:
portaserial.fechar_porta();
Bom é isso pessoal, quem quiser a classe é só entrar em contato comigo pelos comentários ok.