Instalando o Java SE Development Kit (JDK)
Para baixar e instalar o JDK siga os seguintes passos:
• Entre no endereço www.java.sun.com/javase/downloads/ index.jsp.
• Clique no botão Download à direita da descrição da última versão disponível.
• Selecione a plataforma de Sis- tema Operacional Windows e marque a opção de aceitação dos termos do contrato de licença e clique no botão Continue.
• Clique sobre o nome do arquivo para download e salve-o no disco.
Após a conclusão do download, inicie a instalação do JDK dando um duplo clique sobre o nome do arquivo baixado (Na versão 6 update 10 o arquivo é o jdk-6u10-windows-i586- p.exe).
Aparecerá uma tela de boas vindas e em seguida o contrato de licença. Após ler o contrato, clique no botão Accept.
Na próxima janela, é possível per- sonalizar a instalação selecionando apenas os componentes desejados. Clique no botão Next para iniciar a instalação.
Em alguns instantes aparecerá outra janela onde é possível mudar a pasta de instalação da Java Runtime Environment (JRE). Clique no botão Next para prosseguir com a instalação.
Para concluir o processo de instalação, clique no botão Finish.
Instalando o NetBeans
Para baixar o NetBeans, entre no endereço www.NetBeans.org/down- loads/index.html e clique no botão Download da versão com os recursos desejados. O download será iniciado automaticamente. Salve o arquivo no computador (Na versão 6.5 o arquivo é o netbeans-6.5-ml-windows.exe).
É recomendável que seja esco- lhida a versão completa (em torno de 250 MB). Ao terminar o download, é necessário executar o assistente de ins- talação do NetBeans dando um duplo clique no nome do arquivo baixado.
Ao iniciar o assistente de instalação aparecerá uma janela de boas vindas com informações sobre ferramentas e componentes agregados a versão baixada.
Clique no botão Personalizar e marque a opção Apache Tomcat 6.0.18. Clique no botão OK e em seguida no botão Próximo.
O NetBeans é instalado automatica- mente com o servidor Web GlassFish, mas pode ser selecionado também o servidor Apache Tomcat. Os dois servidores podem funcionar juntos na máquina usando portas diferentes. O Tomcat é instalado por padrão na porta HTTP 8084 e o GlassFish na porta HTTP 8080.
Na sequência, o contrato de licença será mostrado e a opção de aceitação do contrato deve ser selecionada.
Clique no botão Próximo e selecione a pasta onde o NetBeans será instalado (ou deixar a padrão). Clique no botão Próximo novamente.
Em seguida, clique no botão Pró- ximo três vezes e finalmente, no botão Instalar. Ao término da instalação clique no botão Terminar. Criando um projeto Java
Para desenvolver uma aplicação em Java inicie o NetBeans clicando no menu Iniciar, Todos os programas, NetBeans e NetBeans 6.5. Aparecerá a janela mostrada pela figura 1.
No NetBeans é possível desenvolver qualquer tipo de aplicação Java.
Nesse exemplo, desenvolveremos um pequeno site com dois arquivos: uma página onde selecionaremos o dispositivo onde queremos atuar (index. jsp) e um arquivo (Envia.jsp) que se comunicará com a DLL (arquivo ftd2xx. dll) instalada anteriormente na pasta system32 do Windows com o driver D2XX do chipset FT232BM.
Para criar uma aplicação no Net-Beans é necessário criar um projeto. Para isso, siga a sequência de passos descrita a seguir:
• Clique na opção Arquivo e selecione a opção Novo Projeto.
• Selecione a opção Web na divi- são Categorias, Aplicação Web na divisão Projetos e clique no botão Próximo.
• Dê um nome ao projeto no campo Nome do projeto, selecione o caminho para salvar o projeto no campo Localização do Projeto e clique no botão Próximo. Nesse caso,sugiro um nome fácil, como Dispositivos.
• Selecione o servidor Web no campo Servidor e clique no botão Finalizar. Sugiro o servidor Apache Tomcat.
Observe que o nome do projeto aparece na aba Projetos à esquerda. Clique no sinal de mais à esquerda do nome do projeto (Dispositivos) e observe que na pasta Páginas Web já foi criado automaticamente o arquivo index.jsp. Esse é o arquivo de abertura do site e nele, digitaremos o código para gerar um formulário onde será possível atuar nos dispositivos.
Substitua o código do arquivo index. jsp que aparece no centro da tela pelo código do box 1:
O código acima envia os valores selecionados no formulário para o arquivo Envia.jsp da seguinte forma:
• Se for selecionada a opção Lâmpada da sala, será enviada a palavra “LS” contida no campo nomeDispositivo.
• Se for selecionada a opção Tomada da TV, será enviada a palavra “TV” contida no campo nomeDispositivo.
• Se for selecionado o comando Ligar, a palavra “liga” será enviada contida no campo btnEstado.
• Se for selecionado o comando Desligar, a palavra “desliga” será enviada contida no campo btnEstado.
Para ver como ficou a página, execute a aplicação clicando no menu Executar e na opção Executar Main Project. Se aparecer uma mensagem de segurança do Windows, clique no botão Desbloquear para liberar o ser- vidor Web. A Figura 2 exibe a janela do navegador vista na tela.
Antes de continuar, para acessar os métodos da DLL do driver D2XX que se comunica com o chipset FT232BM pela porta USB, vamos adicionar na pasta Bibliotecas do Projeto a biblioteca jd2xx. jar, disponível para download no ende- reço www.sabereletronica.com.br.
Essa biblioteca foi criada em Java para chipsets da empresa FTDI e foi baixada no endereço http://source- forge.net/projects/ftd2xxj. Hoje, há outra versão da biblioteca disponível nesse endereço. Sugiro baixar a versão disponível no site da revista para evitar problemas de compatibili- dade com o arquivo ftd2xx.dll instalado com o driver D2XX.
A biblioteca jd2xx.jar pode ser utilizada para acessar e controlar chip- sets de conversão USB em serial da empresa FTDI, como o FT232BM que está sendo usado nesse projeto.
Para adicionar a biblioteca jd2xx.jar no projeto, clique com o botão direito do mouse na pasta Bibliotecas e selecione a opção Adicionar JAR/pasta, como mostra a Figura 3. Selecione o arquivo jd2xx.jar e clique no botão Open. A figura 4 apresenta a biblioteca jd2xx. jar já incluída no projeto.
Clicando no sinal de mais (+) à esquerda da biblioteca jd2xx.jar, apa- recerão as classes disponíveis nessa biblioteca, como mostra a figura 4.

Neste projeto, utilizaremos apenas a classe JD2XX.java da biblioteca jd2xx. jar. Essa classe possui métodos que podem ser chamados para abrir a porta USB onde está conectado o dispositivo FT232BM, para enviar comandos de atuação, para receber resultados retor- nados e para fechar a porta USB.
A página index.jsp permite a sele- ção do dispositivo para atuação e do comando de atuação que pode ser Ligar ou Desligar como mostra a Figura 2. Ao clicar no botão Enviar, o comando de atuação é então enviado para o arquivo Envia.jsp que se encarrega de encaminhar esse comando à placa com o chipset FT232BM pela porta USB através da classe JD2XX.java da biblio- teca jd2xx.jar. Essa classe se comunica com o arquivo ftd2xx.dll instalado com o driver D2XX na pasta system32 do Windows. O arquivo ftd2xx.dll possui métodos para o envio do comando de atuação pela porta USB ao dispositivo com chipset FT232BM.
Para criar o arquivo Envia.jsp, clique no menu Arquivo e na opção Novo Arquivo. Na divisão Categorias, selecione Web e em Tipos de Arquivo, selecione JSP. Clique no botão Pró- ximo. Na próxima janela digite Envia no campo Nome do arquivo JSP e clique no botão Finalizar.
No arquivo Envia.jsp, digite o código do box 2.
Na linha 2, a classe JD2XX.java da biblioteca jd2xx.jar é importada permi- tindo o acesso a seus métodos.
Na linha 3, a classe IOException. java da biblioteca java.io é importada permitindo o acesso a métodos de tratamento de exceções (erros) de entrada e saída.
Na linha 16, o valor selecionado no campo btnEstado do formulário index. jsp é recebido e armazenado na vari- ável estado. Essa variável receberá ou o valor liga (value=”liga” ) ou o valor desliga (value=”desliga”).
Na linha 17, o valor recebido do campo nomeDispositivo do formulário index.jsp é armazenado na variável dispositivo. Esse valor poderá ser “LS” (value=”LS”) ou “TV” (value=”TV”).
Na linha 19, um objeto da classe JDXX.java é instanciado para que por meio desse objeto, possam ser aces- sados os métodos open, setBaudRate etc dessa classe.
A linha 20 define o número da porta USB que será utilizada. As portas começam pelo número 0.
A linha 25 abre o dispositivo pelo número da porta por meio do método open, acessado através do objeto jd da classe JD2XX.java.
A linha 26 define o baud rate do dispositivo por meio de uma chamada ao método setBaudRate acessado pelo objeto jd da classe JD2XX.java.
A linha 27 define as características de comunicação do dispositivo, como número de bits de dados (data bits), número de bits de stop (stop bits) e o método de paridade (parity).
A linha 28 define o tipo fluxo de controle, como o modo do fluxo de controle, o character XON e o character XOFF(software handshake).
A linha 29 define os timeouts do dispositivo, como timeout para leitura e timeout para escrita.
A linha 31 obtém o status do modem e verifica se é igual a 0, ou seja, se a porta USB abriu corretamente.
A linha 32 verifica se foi selecionada a opção Ligar (value =”liga”) e o dispo- sitivo Lâmpada da sala (value= “LS”) no formulário index.jsp. Se sim, as linhas de 36 a 47 serão executadas enviando os dados pela porta USB e recebendo o retorno da atuação.
Na linha 36 é definida a String de comando que será enviada pela porta USB. Observe que essa mesma String é recebida e tratada no programa que criamos em Linguagem C, compila- mos e gravamos no microcontrolador PIC16F877A.
A linha 38 envia os bytes contidos na variável msg (“>1AL*”) pela porta USB aberta por meio do método write da classe JD2XX.java.
A linha 39 recebe os bytes de retorno pela porta UwSB e armazena na array rd (definida a recepção de no máximo 25 bytes).
Na linha 40 os bytes recebidos na array rd são convertidos em String e armazenados na variável ret.
A linha 41 fecha a porta USB.
Nas próximas linhas os comandos já explicados anteriormente se repetem, enviando outras Strings de comando pela porta USB para ligar ou desligar os dispositivos.
Observe que todas as funcionalida- des executadas nas linhas anteriores foram por meio de métodos da classe JD2XX.java da biblioteca jd2xx.jar.
Pronto, certifique-se que todo o hardware construído e mostrado na Figura 3 está ligado e clique em Executar, Executar Main Project. Selecione uma das opções de dispositivos na página inicial (Lâmpada da sala ou Tomada da TV), selecione o comando Ligar e clique no botão Enviar. Se tudo correr bem, aparecerá a mensagem “Operação rea- lizada com sucesso”. Se ocorrer algum erro, será mostrada a mensagem “Erro na operação” seguida da mensagem técnica que permite identificar o erro. Considerações finais
No decorrer da história nunca houve um conjunto de tecnologias tão impor- tante quanto as que fazem parte da Internet. A internet integra pessoas e organizações, agiliza as comunicações e os processos e disponibiliza informações em qualquer lugar, a qualquer hora.
A evolução da tecnologia impulsio- nada pela Internet tem levado a uma mudança de paradigma no mundo do desenvolvimento de software e har- dware. Todos estão convergindo para a web, os softwares de controle de processos, os eletrodomésticos, e por que não, a residência.
Este artigo apresentou um sistema que fornece uma Interface entre a Internet que usamos no dia-a-dia com dispositivos de hardware dentro da residência que permitem o controle de dispositivos ligados à rede elétrica. Apresenta apenas um pequeno sistema que pode ser expandido com algumas pequenas modificações nos circuitos e nos programas.