Sunteți pe pagina 1din 17

CONEXIN CON ETHERNET SHIELD Y ARDUINO MEGA 2560

Proyecto de Diseo Digitales

UTP Rosmely Rodrguez

Rosmely R. Rodrguez R.
ING. EN SISTEMAS Y COMPUTACIN

UNIVERSIDAD TECNOLOGICA DE PANAM CENTRO REGIONAL DE VERAGUAS FACULTAD DE INGENIERIA DE SISTEMAS COMPUTACIONALES LICENCIATURA EN INGENIERIA DE SISTEMAS Y COMPUTACIN PROYECTO DE DISEO DIGITALES COD: 8464 CONEXIN CON ETHERNET SHIELD Y ARDUINO MEGA 2560 PROFESOR: EUCLIDES QUIEL

ESTUDIANTE: ROSMELY RODRIGUEZ 9-732-2108 GRUPO: 4IL141 NIVEL: IV AO II SEMESTRE

Rosmely R. Rodrguez R.
ING. EN SISTEMAS Y COMPUTACIN

Tabla de contenido
INTRODUCCIN....................................................................................................................... 3 Conexin con Ethernet Shield y Arduino mega 2560................................................................ 4 Introduccion a HTML ............................................................................................................ 4 Introduccin a mysql?............................................................................................................. 4 Introduccin a servidores web ............................................................................................... 4 Conexin del Arduino en rea Local ........................................................................................ 4 Materiales necesarios: ............................................................................................................. 4 Hardware ............................................................................................................................... 4 Software ................................................................................................................................ 5 Codigo....................................................................................................................................... 6 Pasos para la conexin de manera local ................................................................................ 8 Configuracin Detallada conectado a Router ..................................................................... 11 CONCLUSION .......................................................................................................................... 15 Bibliografa .................................................................................................................................. 16

Rosmely R. Rodrguez R.
ING. EN SISTEMAS Y COMPUTACIN

INTRODUCCIN
Las placas robticas Arduino son muy polifacticas y nos brindan una gama de completos que nos permiten su especializacin y utilizacin para distintos proyecto segn la creatividad, necesidad o conocimiento del usuario. Una de estas muchas aplicaciones es el poder enviar datos desde nuestro Arduino y acceder a ellos de manera remota ya sea en una misma o a travs de servidores web. Para la conexin Arduino a una red se usa el Shield Arduino Ethernet. De forma que podremos acceder a contenidos web como cliente, usar Arduino como servidor web desde una pgina web sencilla. En este trabajo encontrarnos todos los trminos relaciones a la explicain para comprender mejor lo que se nos pide, una lista de materiales para cada tipo de conexin. Tambin veremos un ejemplo sencillo para familiarizarnos con la shield Ethernet. Una conexin de manera local, donde podremos visualizar su funcionamiento dentro de una misma red y una gua para realizar una conexin a travs de servidores.

Rosmely R. Rodrguez R.
ING. EN SISTEMAS Y COMPUTACIN

Conexin con Ethernet Shield y Arduino mega 2560


Introduccion a HTML HTML, siglas de HyperText Markup Language es un estndar que, en sus diferentes
versiones, define una estructura bsica y un cdigo (denominado cdigo HTML) para la definicin de contenido de una pgina web, como texto, imgenes, etc. (Wikipedia, n.d.)

Introduccin a mysql? Es un software libre fcil de utilizar y se acopla bien a la utilizacin con php, ventajas, que bien pueden ser la razn por la cual es la base de datos de cdigo fuente abierto ms usada del mundo. Es decir Open Source representa que el usuario puede usarle libremente y hacer ajustes en el cdigo para maximizar su funcionamiento, anexando mejoras a la base de datos. De acuerdo a lo que se sabe de los programas de cdigo abierto, se tiene la experiencia de que su xito depende en mucho del concepto abierto. Introduccin a servidores web Un servidor web no es ms que un dispositivo que atiende peticiones de otro dispositivo cliente a travs de una direccin IP, es decir, si nosotros accedemos a la IP de Arduino (proporcionada por la Ethernet Shield) mediante un navegador, estaremos solicitando una informacin, Arduino como servidor, nos servir la informacin solicitada.

Conexin del Arduino en rea Local


Materiales necesarios: Hardware 1. Placa Robotica Arduino (mega, Uno, etc.). Fig1 2. Arduino Ethernet Shield. Fig2

Rosmely R. Rodrguez R.
ING. EN SISTEMAS Y COMPUTACIN

3. Cable Ethernet. Fig3 4. Router Software 1. XAMPP (link de descarga: http://www.apachefriends.org/es/xampp.html) 2. MySql (incluido en el XAMPP) 3. Arduino Software (link de descarga: http://arduino.cc/en/Main/Software) Fig 1 Arduino Mega

Fig 2 Arduino Ethernet Shield

Rosmely R. Rodrguez R.
ING. EN SISTEMAS Y COMPUTACIN

Fig 3 Cable Ethernet

Codigo
01.#include <SPI.h> 02.#include <Ethernet.h> 03. 04.// Configuracin de direccion MAC e IP. 05.byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };// MAC del shield 06.IPAddress ip(192,168,1,177);// Debe ser igual a la ya establecida en el router 07. 08.// Inicia la libreria Ethernet server con el puerto 80 (por defecto el puerto HTTP). 09.EthernetServer server(80); 10. 11.void setup() { 12.// Inicia el puerto serie. 13.Serial.begin(9600); 14. 15.// Inicia la conexin Ethernet y el servidor. 16.Ethernet.begin(mac, ip); 17.server.begin(); 18.Serial.print("IP local del servidor "); 19.Serial.println(Ethernet.localIP()); 20.} 21. 22.void loop() { 23.EthernetClient client = server.available(); // Escucha a los clientes entrantes. 24. 25. 26.if (client) { // Si un cliente se conecta al servidor: 27.Serial.println("Nuevo cliente"); 28.boolean currentLineIsBlank = true; // Marcador para enviar la respuesta desde el servidor. 29.while (client.connected()) { // Repite mientas existe clientes conectados: 30.if (client.available()) { 31.char c = client.read();

Rosmely R. Rodrguez R.
ING. EN SISTEMAS Y COMPUTACIN 32.Serial.write(c); // Imprime por el puerto serie la peticin del cliente (caracter a caracter) 33.if (c == '\n' && currentLineIsBlank) { // Se envia la respuesta a una peticin de un cliente cuando a finalizado la peticin: 34.// Respuesta: 35.client.println("HTTP/1.1 200 OK"); // Enviar un encabezado de respuesta HTTP estndar 36.client.println("Content-Type: text/html"); 37.client.println("Connection: close"); // Se cerrar la conexis despues de enviar la respuesta. 38.client.println("Refresh: 5"); // Refrescar automticamente la pgina despus de 5 segundos. 39.client.println(); 40.client.println("<!DOCTYPE HTML>"); // Tipo de documento. 41.client.println("<html>"); // Etiqueta html inicio del documento. 42.client.print("Hola soy Arduino!! - "); 43.client.print(millis()); // Tiempo de funcionamiento en ms. 44.client.print("ms encendido. "); 45.client.println("<br />"); // Etiqueta html salto de linea. 46.client.println("</html>"); // Etiqueta html fin del documento. 47.break; 48.} 49.if (c == '\n') { // Si el caracter es un salto de linea: 50.currentLineIsBlank = true; // La peticin a terminado, se respondera a dicha peticn en el sigueitne ciclo. 51.} 52.else if (c != '\r') { // Si el caracter no es un retorno de carro (la peticin no a terminado). 53.currentLineIsBlank = false; // Seguimos escuchando la peticin. 54.} 55.} 56.} 57.delay(1); // Espera para dar tiempo al navegador a recivir los datos. 58.client.stop(); // Cierra la conexin. 59.Serial.println("Cliente desconectado"); 60.Serial.println(); 61.} 62.}

--------------------------------------------------------------------

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; Es la configuracin del identificador nico MAC del adaptador de red (Arduino Ethernet Shield), este debe ser el que esta en el Shield. IPAddress ip(192,168,1,177); Es la IP que Arduino le podremos la que le servidor no ha asignado. #include Librera para usar la shield Ethernet (incluida en la IDE de Arduino). <Ethernet.h>

Este cdigo imprime informacin a travs de dos medios. Una a travs del puerto serie y otra como servidor a travs del navegador. Por esto, cuando existe un cliente solicitando informacin, primero imprime (carcter a carcter) la informacin que el cliente solicita a travs del puerto serie y luego atiende la peticin imprimiendo los datos en el navegador.

Rosmely R. Rodrguez R.
ING. EN SISTEMAS Y COMPUTACIN

Pasos para la conexin de manera local

Conectaremos la Shield sobre Arduino.

Y conectaremos el cable USB y Ethernet.

Rosmely R. Rodrguez R.
ING. EN SISTEMAS Y COMPUTACIN

Una vez cargado el cdigo en Arduino, si todo est correcto, debe aparecer la IP del servidor en el monitor serie.

Accederemos mediante un navegador a la IP del ahora servidor web Arduino.

Rosmely R. Rodrguez R.
ING. EN SISTEMAS Y COMPUTACIN

Si todo est correcto, aparecer un mensaje como el de la foto, junto al tiempo trascurrido desde que se encendi Arduino en milisegundo. Esta informacin se refrescar cada 5 segundos. En el puerto serie podremos ver las peticiones del cliente. El simple hecho de acceder a la direccin IP de Arduino ya es una peticin.

Rosmely R. Rodrguez R.
ING. EN SISTEMAS Y COMPUTACIN

Configuracin Detallada conectado a Router


Configuracin del Router para conectar el arduino Ethernet shield

Se busca en la opcin DHCP y se aade una Mac y IP la cuales se van a utilizar en el arduino

Rosmely R. Rodrguez R.
ING. EN SISTEMAS Y COMPUTACIN

Se verifica cual es el rango de la ip

Cdigo Arduino, HTML Este cdigo est diseado para mandar datos a la direccin IP dada al inicio del mismo la cual puede ser configurada local mente en router o directamente a la pc, est en lo ms bsico de la plantilla HTML la cual puede ser modificada fcilmente, se estn mandando datos de registro de el tiempo encendido del arduino. Se usa el mismo cdigo que ya probamos anteriormente. Al correrlo y acceder de la ip asignada a el Arduino veremos en el navegador la pagina que hemos creado, ahora accediendo desde la ip del router dentro de la misma red.

Rosmely R. Rodrguez R.
ING. EN SISTEMAS Y COMPUTACIN

Cdigo PHP de insertar base de datos -------------------------------------------------------------------------------<?php $conexion = mysql_connect("localhost","root",""); // servidor, usuario, contrasea mysql_select_db("arduino",$conexion); // nombre de la base de datos if(!$conexion){ die('Se Produjo un Error en el Sistema!, Porfavor intente acceder mas tarde.'); } else{mysql_select_db("arduino",$conexion);} //Consulra $sql = "INSERT INTO `variable`(`fecha`, `id`) VALUES (NOW(),'dato')";//fecha , dato a inserter mysql_query($sql); ?> -----------------------------------------------------------------------------------Con este cdigo PHP se puede insertar datos a la tabla y BD especificado tambin con cdigo aparte puede catar datos mediante un comando llamado GET

Rosmely R. Rodrguez R.
ING. EN SISTEMAS Y COMPUTACIN

XAMPP Este programa es un servidor local el cual puede ejecutar paginas PHP y tener acceso a crear base de datos a travs del mismo.

PHP myadmin Es un mysql va web, configurable y con funciones explcitamente hacia web.

Rosmely R. Rodrguez R.
ING. EN SISTEMAS Y COMPUTACIN

CONCLUSION

Arduino es una familia muy extensa, la cual nos permite realizar proyecto de bajo costo y funcionales. Para esto necesitamos tener conocimientos en el rea a implementar. En este proyecto usando el Ardunio mega y el Shield Ethernet, descubrimos que es muy complejo realizar una conexin a internet y actualizar datos si no tenemos

conocimientos en rea web (HTML,PHP,etc), que son bsicos para guardar datos en servidores remotos y locales. Pero con un poco de investigacin podemos salvar datos desde arduino a un servidor de manera local, sin tener conocimientos avanzados en servicios web.

Rosmely R. Rodrguez R.
ING. EN SISTEMAS Y COMPUTACIN

Bibliografa
apachefriends. (s.f.). xampp. Obtenido de http://www.apachefriends.org/es/xampp.html Arduino . (s.f.). ArduinoEthernetShield. Obtenido de http://arduino.cc/es/Main/ArduinoEthernetShield Slideshare. (s.f.). Ventajas para considerar el uso de de MySql omo base de datos. Obtenido de http://www.slideshare.net/Ing-D-SW-TorresKhano--ME/ventajas-del-por-qu-usarmysql-como-sistema-gestor-de-bases-de-datos Wikipedia. (s.f.). Obtenido de Wikipedia: http://es.wikipedia.org/wiki/HTML

S-ar putea să vă placă și