WebMobile Edição 12
Esse artigo faz parte da revista WebMobile Edição 12. Clique aqui para ler todos os artigos desta edição

Configurando uma rede WIFI pela aplicação

 

Hoje em dia está se tornando cada vez mais comum a utilização de redes sem fio em todos os lugares, e a oferta de equipamentos com esse recurso também aumenta em um ritmo acelerado. Assim é também grande a necessidade de construir aplicações que façam uso dessa tecnologia, que permitam conectar rapidamente e manter a conexão.

Garantir que a sua aplicação tenha um mecanismo eficiente para isso, pode ser uma tarefa um tanto complicada, mas neste artigo desmistificaremos a técnica e criaremos um conjunto de rotinas reutilizáveis, que darão grande flexibilidade ao desenvolvimento de aplicações altamente conectadas.

Usando as técnicas apresentadas neste artigo, você será capaz de criar um mecanismo de conexão WIFI na sua aplicação, tornando a interface mais amigável e intuitiva ao usuário. Alguns cenários possíveis são:

·         Você tem uma aplicação que trabalha conectada em uma rede WIFI, é normal que a conexão se perca por diversos motivos (falta de bateria, perda de sinal, etc), neste momento é importante o usuário ser capaz de restabelecer a comunicação usando uma interface simples e funcional;

·         Uma outra situação possível é o usuário querer se conectar a outro Access Point diferente do inicialmente conectado, neste caso sua aplicação poderá listar os Access Points disponíveis e o usuário poderá escolher o que estiver próximo dele, conectando a aplicação novamente.

 

Tecnologia Wireless

O Windows Mobile possui toda uma infra-estrutura de APIs que permite o gerenciamento das conexões WIFI. Infelizmente manipular essas APIs não é uma tarefa fácil, pois a maioria dos códigos está em C++ e são muito difíceis de serem portados para a plataforma .NET.

Felizmente existem um conjunto de classes (biblioteca), chamada OpenNetCF (www.opennetcf.org), open source que implementa praticamente todas as funcionalidades para o gerenciamento de rede no PocketPC.

Antes de criarmos a aplicação será necessário baixar e instalar a versão 2.0 do OpenNetCF, que pode ser obtida no endereço: www.opennetcf.org/PermaLink.aspx?guid=d57ace50-2762-4b19-b07d-39421829d410 através do link Download the Free Smart Device Framework 2.0 Community Edition.

Para o nosso projeto, precisaremos somente de duas DLLs que fazem parte do OpenNetCF, sendo elas: OpenNetCF.dll e OpenNetCF.Net.dll. As demais realizam diversas funções que poderão ser consultadas na documentação que acompanha o pacote.

 

Procedimentos para conectar em uma rede WIFI

Para conectar em uma rede sem fio, existe um roteiro básico, que seguiremos durante o artigo, sendo ele:

·         Descobrir se existe uma placa de rede WIFI;

·         Listar os Access Points disponíveis;

·         Escolher um Access Point;

·         Escolher o tipo de Segurança/Chave;

·         Definir o IP do Pocket (IP, Máscara, Gateway e DNS ou DHCP);

·         Realizar a conexão;

·         Testar a conexão;

Criaremos o nosso projeto e implementaremos cada um dos tópicos anteriores.

 

Iniciando o projeto da aplicação

Para iniciarmos, crie um novo projeto SmartDevice>Device Application, dando o nome de “AplicacaoWIFI”. Você pode usar o Visual Studio 2003 ou 2005 (Figura 1).

 

imagem

Figura 1. Criando um projeto SmartDevice no Visual Studio 2005

 

Depois de criar o projeto, adicione uma classe (menu Project>Add Class) chamada “WIFITools.cs” (Figura 2).

 

imagem

Figura 2. Adicionando a classe ao projeto

 

Adicionando a referência para a OpenNetCF

Adicione uma referência (menu Project>Add Reference) para as DLL: OpenNetCF.dll e OpenNetCF.Net.dll, que podem ser encontradas no diretório de instalação do OpenNetCF. Uma dica interessante é copiar as DLL para o diretório do projeto, garantido assim a que a versão utilizada no projeto não será substituída por um upgrade de versão (Figura 3).

 

...

Quer ler esse conteúdo completo? Tenha acesso completo