Módulo Ethernet II
La otra opción es utilizar un módulo ethernet basado en el chip W5100, estos módulos se presentan más completos, ya que suelen venir para montar sobre el Arduino directamente y con un lector de tarjetas microSD.
Para poder utilizar este
módulo necesitamos utilizar 2 librerías:
#include <SPI.h>
#include <Ethernet.h>
Dichas librerías vienen con el compilador de Arduino o sea que este módulo está soportado de forma estandar lo cual es una gran ventaja. Aquí os dejo un ejemplo muy sencillo a través de la web podemos pasarle parámetros al Arduino. En la barra navegación del Navegador podemos poner por ejemplo: http://192.168.5/?Adios
De esta forma el Arduino recibirá el parámetro Adios
// Red W5100 #include "SPI.h" #include "Ethernet.h" // Le asignamos los datos de Red Mac, IP y Puerto. byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; IPAddress ip(192,168,1,5); EthernetServer server(80); //Constantes #define MON_BUF_LEN 128 // Variables EthernetClient ethernet; char buffer[MON_BUF_LEN]; char* params; int bufferSize; void setup() { Serial.begin(9600); // Inicializamos la conexión Ethernet Ethernet.begin(mac, ip); server.begin(); } // Función de Respuesta a peticiones LAN void RespuestaLan(){ EthernetClient ethernet = server.available(); // Tratar comandos botones params = (params + 5); strstr(params, " HTTP")[0] = 0; Serial.print("params: "); Serial.println(params); if ( strstr(params, "?" ) ){ //// Los comandos empiezan por ? si no muestra ficheros params = params + 1; Serial.print("params: "); Serial.println(params); } ethernet.println("Hola Mundo "); ethernet.print("Parametro: "); ethernet.println( params); } void loop() { ethernet = server.available(); buffer[0] = ' '; bufferSize = 0; while (ethernet.connected()) { if (ethernet.available()) { char c = ethernet.read(); if (c == '\n') break; else if (bufferSize < MON_BUF_LEN) buffer[bufferSize++] = c; else break; } } if (buffer[0] != ' ') { Serial.println ("Evento Red recibido, parametros: "); params = buffer; Serial.println (params); RespuestaLan(); ethernet.stop(); } }
Bajar Ejemplo
Un módulo como este se puede comprar por unos 8€, por ejemplo en eBay: Comprar eBay
estimado, ando buscando como conectarme a mi arduino via wifi, la idea es poder controlarlo a traves de una IP pública.
ResponderEliminarla verdad es que no se que componentes necesito ni nada..., alguna ayuda???
Slds
Hola, para dotar al Ardunio de WIFI hay varios componentes en el mercado pero su precio no es económico (unos 50€) busca en eBay y podrás encontrar bastantes modelos.
EliminarUn saludo.