Você precisará de um Arduino ou um clone seguindo o exato projeto para que o shield possa ser acoplado sem problemas.
Um Arduino:
O clone, Tatuino:
Precisará
também do escudo para rede sem fios (wifi shield). Para este tutorial
utilizei o shield Microchip que alé de ser baixo custo pode ser
encontrado facilmente na Internet com venda pela Tato Equipamentos Eletrônicos.
Acople o shield sobre o Arduino ou o clone:
Note que sobram dois pinos, do lado dos pinos de alimentação. Minha opção foi não cortá-los, pois não na acoplagem. Mas cuidado! Caso resolva cortá-los não vá cortar pinos errados!
Obviamente
também terá que ter uma rede fio composta de um access point ou
roteador para que o shield possa ser conectado a ela para nossos testes.
Baixe a biblioteca WiShield-master de www.seucurso.com.br/downloads/wifishield.zip.
Descompacte o conteúdo do arquivo baixado na pasta libraries do local onde estiver a instalação do Arduino.
Minha
sugestão de código é usar o exemplo WebServer que é bem simples e auto
explicativo. Você pode encontrá-lo no menu File, opção Examples e
sub-opção wifishield:
O código é:
Para
que esse código funcione você terá que alterar algumas variáveis para
que reflitam a configuração de sua rede sem fio. Sendo elas:
O número IP a ser designado para seu shield:
O número IP do gateway:
A máscara de sub-rede:
O SSID (identificação) da sua rede:
O tipo de segurança utilizada, sendo 0 para rede aberta (open), 1 para WEP, 2 para WPA e 3 para WPA2:
A senha para sua rede sem fio, no caso deste tutorial para WPA2:
Se
você ainda usa WEP, primeiro pense em mudar para WPA ou WPA2 que são
criptografias mais seguras, depois se ainda assim quiser usar WEP terá
que mudar a variável abaixo com as chaves em valores hexadecimais:
Agora
é compilar e enviar para o seu Arduino. Feito isso o shield irá
conectar-se em sua rede sem fio em alguns segundos e o LED indicativo de
WIFI ON deve acender:
Para testá-lo entre em seu navegador de Internet preferido e aponte para o IP que designou ao seu shield:
Caso
queira usar qualquer outro exemplo deste shield lembre-se de editar o
arquivo apps-conf.h e comentar ou descomentar a aplicação que deseja
utilizar. O código desse arquivo para este tutorial ficou como segue.
Note que está descomentada a linha #define APP_WEBSERVER, pois é o
exemplo que estamos utilizando. As demais continuam comentadas.
/****************************************************************************** Filename: apps-conf.h Description: Web application configuration file ****************************************************************************** TCP/IP stack and driver for the WiShield 1.0 wireless devices Copyright(c) 2009 Async Labs Inc. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of version 2 of the GNU General Public License as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. Contact Information: Author Date Comment --------------------------------------------------------------- AsyncLabs 05/29/2009 Initial port *****************************************************************************/ #ifndef __APPS_CONF_H__ #define __APPS_CONF_H__ // ---------------------------------------------------------------------------- // -- Begin uIP/WiShield stack configuration settings // // Application type defines; uncomment to enable APP_TYPES // APP_UDPAPP is used for UDP only apps as well as DNS and DHCP apps; if your app will use // DNS and/or DHCP then your APP_TYPE (e.g. APP_WISERVER) AND APP_UDPAPP must be defined // (uncommented). Currently only APP_UDPAPP may be defined at the same time as any other APP_TYPE // #define APP_WEBSERVER //#define APP_WEBCLIENT //#define APP_SOCKAPP //#define APP_UDPAPP //#define APP_WISERVER // // Add on features; uncomment to enable additional functionality // //#define UIP_DNS // Add DNS capabilities - APP_UDPAPP must be defined! //#define UIP_DHCP // Add DHCP capabilities - APP_UDPAPP must be defined! //#define UIP_SCAN // Add Access Point scan capabilities // // Commonly accessed WiServer settings // #define WISERVER_GET_STRING_MAX 64 // Length of buffer which holds URL/GET passed to WiServer // SimpleServer sendMyPage() page serving function // // Commonly accessed uIP stack settings // #define UIP_WEP_KEY_LEN 13 // WEP Key length: 5 bytes (64-bit WEP); 13 bytes (128-bit WEP) #define UIP_WEP_KEY_DEFAULT 0 // Default WEP key ID: Key 0, 1, 2, 3 #define MAX_TCP_CONNS 2 // Max TCP connections desired #define MAX_TCP_LISTENPORTS 2 // Max TCP listening ports #define MAX_UDP_CONNS 1 // Max UDP connections desired // Don't play with UIP_CLOCK_DIV unless you know what you are doing! #define UIP_CLOCK_DIV 2 // Referenced in stack.c; default 2 // -- End uIP/WiShield stack configuration settings // ---------------------------------------------------------------------------- #ifdef APP_WEBSERVER #include "webserver.h" #endif #ifdef APP_WEBCLIENT #include "webclient.h" #endif #ifdef APP_SOCKAPP #include "socketapp.h" #endif #ifdef APP_UDPAPP #include "udpapp.h" #define UIP_UDP_ENABLED 1 #else #define UIP_UDP_ENABLED 0 #endif #ifdef APP_WISERVER #include "server.h" #endif #ifdef UIP_DHCP #include "uip_dhcp.h" #endif #ifdef UIP_DNS #include "uip_dns.h" #endif #endif /*__APPS_CONF_H__*/
Com um pouco de conhecimento de HTML e TCP/IP agora é só usar a imaginação para resolver seu problema ou criar sua aplicação!
0 comentários:
Postar um comentário