UNIVERSIDAD TECNOLÓGICA DE PUEBLA Ing. en Mecatrónica 8° “A” REPORTE DE PROYECTO ETHERNET MATERIA: Sistemas de comunicación electrónica Profesor: León Bonilla Ambrosio Edén MAYO – AGOSTO
UNIVERSIDAD TECNOLÓGICA DE PUEBLA
Ing. en Mecatrónica
8° “A”
REPORTE DE PROYECTO ETHERNET
MATERIA:
Sistemas de comunicación electrónica
Profesor:
León Bonilla Ambrosio Edén
MAYO – AGOSTO
INTEGRANTES DEL EQUIPO
ALAVES ARIAS EISI
APOLINAR VALENCIA NESTOR
ATLATENCO RAMOS JOSE ALFREDO
CALTENCO OLIVA ERICK
CRUZ LEZAMA PEDRO
DE JESUS GONZALES JOSE ARMANDO
HONORATO CASELIN MAURICIO
LOPEZ MORALES JHONATAN
MORALES BASURTO MIGUEL
ORTIZ ROMERO RUTILO
PEREZ AMASTAL RAFAEL EDUARDO
SILVA MORALES LUIS DANIEL
VICENTE PACHECO JESUS
ContenidoOBJETIVO:....................................................................................................................................2
INTRODUCCIÓN:.................................................................................................................................2
La red IP:............................................................................................................................................2
CONECTANDO EL SHIELD:...................................................................................................................4
Shield Ethernet..........................................................................................................................5
OBJETIVO:
Entrar en contacto con el Shield Ethernet para poder tener acceso a una red entre en arduino y el servidor, que en este caso será nuestra computadora, podremos comandar señales para hacer prender o apagar un ventilador, al igual que recibir y leer información tanto analógica o digital.
INTRODUCCIÓN: Hoy en día donde se vive la tendencia de cualquier dispositivo conectarlo a la Red IP sea en una red pequeña o a través de internet, basado en esta tendencia es necesario conectar nuestra plataforma arduino a la red, teniendo esto conecto podemos enviar/recibir información vía IP desde cualquier dispositivo de red, pudiendo ser estos dispositivos PCs, Smartphone, Tablets o cualquiera que soporte el protocolo de red.
Mediante el Shield Ethernet de Arduino conseguimos esta funcionalidad que nuestra dispositivo envié (controla) o recibe (monitorea) información del arduino.
La red IP:
Previo a empezar con el código en el Arduino, haremos una descripción general de un esquema de Red en el cual arduino formara parte, el esquema esta lo más generalizado posible con los
diferentes dispositivos.
Según el Diagrama, los dispositivos que pertenecen a la red son:
Switch: Forma o es parte de la red, permite la comunicación entre los diferentes elementos de red, cabe mencionar que no puede hacer que se comuniquen de una red a otra, sino en la misma red, se le conoce como nivel 2 (L2).
Router: Permite comunicar diferentes redes en este caso conecta una red Local a otra red que es Internet, se le conoce dispositivo de nivel 3 (L3).
Dispositivo de Red: elementos que forman parte de la red como PC, Laptops, Tablet (wifi), Smarphone (Wifi), Impresoras IP, etc.
Los elementos de red se encuentran diferenciados uno de otros mediante lo que son direcciones, estas direcciones se le conocen como Dirección Física (Dirección MAC) que pertenecen propiamente a la Tarjeta de Red (NIC), a su vez se encuentran también con direcciones Lógicas llamadas direcciones IP, estas direcciones IP asignadas a cada elemento de red provienen de la dirección de Red asignada a la red esta trabaja en conjunto con la máscara de red. Las direcciones Fiscas constan de 6 bytes, y la dirección de red así como la máscara de red de 4 bytes el cual tiene el siguiente formato x.y.z.w, donde x,y,z,w entra entre 0 a 255 (son bytes). Los Shield Ethernet de arduino tienen la dirección MAC pegada en la parte trasera de la placa, tenga en consideración que un shield Ethernet que no tenga la dirección MAC pegada es un compatible. Todos los originales sin excepción tienen la MAC en la parte trasera.
CONECTANDO EL SHIELD:
Para iniciar la funcionalidad del Ethernet solo es necesario la ejecución de un comando el cual lleva 4 Argumentos (No todos son Obligatorios).
Ethernet.begin(mac,ip,gateway,netmask); //No olvidar el ; Donde se tiene:
Mac: Dirección Física MAC de la tarjeta, la cual viene impresa en la parte posterior de la tarjeta, cabe mencionar que solo las tarjetas Originales la tienen.
Ip: DirecciónLógicaIp a asignarse al Arduino, debe tener concordancia con la direcciónIp de red así como debe ser única en la red.
Gateway: Puerta de Enlace.
Netmask: Mascara de red.
Para la puesta en marcha debemos Conectar la Ethernet Shield a un ordenador, a un switch o a un enrutador utilizando un cable ethernet standard (CAT5 o CATE con conectores RJ45). La conexión al ordenador puede requerir el uso de un cable cruzado (aunque muchos ordenadores actuales, incluyendo los últimos modelos Mac pueden hacer el cruce de forma interna
Shield Ethernet
Ethernet Shield permite a una placa Arduino conectarse a internet. Está basada en el chip
ethernetWiznetW5100. El WiznetW5100 provee de una pila de red IP capaz de soportar TCP y
UDP. Soporta hasta cuatro conexiones de sockets simultáneas. Usa la librería Ethernet para
escribir programas que se conecten a internet usando la shield.
El shield provee un conector ethernet estándar RJ45. La Ethernet shield dispone de unos
conectores que permiten conectar a su vez otras placas encima y apilarlas sobre la placa
Arduino.
Arduino usa los pines digitales 10, 11, 12, y 13 (SPI) para comunicarse con el W5100 en la
ethernetshield. Estos pines no pueden ser usados para e/s genéricas.
El botón de reset en la shield resetea ambos, el W5100 y la placa Arduino.
La shield contiene un número de LEDs para información:
ON: indica que la placa y la shield están alimentadas
LINK: indica la presencia de un enlace de red y parpadea cuando la shield envía o
recibe datos
100M: indica la presencia de una conexión de red de 100 Mb/s (de forma opuesta a
una de 10Mb/s)
RX: parpadea cuando el shield recibe datos
TX: parpadea cuando el shield envía datos
El jumper soldado marcado como “INT” puede ser conectado para permitir a la placa Arduino
recibir notificaciones de eventos por interrupción desde el W5100, pero esto no está soportado
por la librería Ethernet. El jumper conecta el pin INT del W5100 al pin digital 2 de Arduino.
El slot SD en la shield usa la librería http://arduino.cc/en/Reference/SD para manejarlo.
Para usar la Ethernet Shield solo hay que montarla sobre la placa Arduino. Para cargar los
sketches a la placa conectarla al ordenador mediante el cable USB como se hace
normalmente. Luego conectar la Ethernet a un ordenador, a un switch o a un router utilizando
un cable ethernet standard (CAT5 o CAT6 con conectores RJ45). La conexión al ordenador
puede requerir el uso de un cable cruzado (aunque muchos ordenadores actuales, pueden
hacer el cruce de forma interna).
Puntos a recordar del Ethernet Shield:
Opera a 5V suministrados desde la placa de Arduino
El controlador ethernet es el W5100 con 16K de buffer interno. No consume memoria.
El shield se comunica con el microcontrolador por el bus SPI, por lo tanto para usarlo
siempre debemos incluir la libreriaSPI.h: http://arduino.cc/en/Reference/SPI
Soporta hasta 4 conexiones simultaneas
Usar la librería Ethernet para manejar el
shield: http://arduino.cc/en/Reference/Ethernet
El shield dispone de un lector de tarjetas micro-SD que puede ser usado para guardar
ficheros y servirlos sobre la red. Para ello es necesaria la librería
SD:http://arduino.cc/en/Reference/SD
Al trabajar con la SD, el pin 4 es
Librería Ethernet
Para manejar el Ethernet Shield usaremos la librería Ethernet, deberemos conocer todos los
métodos que nos ofrece la librería para poder usarla.
La librería ethernet se compone de 5 clases, cada una con sus métodos
Ethernet Class: Inicializa la librería ethernet y las configuraciones de red
begin() – Inicializa la librería Ethernet (Constructor)
localIP() – Obtiene la dirección IP. Útil al usar DHCP
maintain() – Solicita una renovación al servidor DHCP
IPAddressClass: trabaja con IPs locales y remotas
IPAddress() – Define una dirección IP
Server Class: crea un servidor que puede mandar y recibir datos de los clientes conectados.
Server() – Constructor de la clase server. No se usa directamente
EthernetServer() – Crea un servidor que escucha por las conexiones entrantes del
puerto definido.
begin() – Le dice al servidor que comience a escuchar.
available() – Devuelve el cliente que está conectado al servidor y tiene datos
disponibles a leer.
write() – Escribe datos a todos los cliente conectados al servidor.
print() – Escribe datos a todos los cliente conectados al servidor.
println() – Escribe datos a todos los cliente conectados al servidor seguido de una
nueva línea.
ClientClass: crea un cliente que se conecta a un servidor y puede mandar y recibir datos
Client – Constructor de la clase client. No se usa directamente
EthernetClient() – Crea un cliente que se conecta a una determinada IP y puerto
if (EthernetClient) – Indica si el cliente Ethernet está preparado
connected() – Devuelve si el cliente está o no conectado
connect() – Conecta a una IP y puerto especificado. Soporta DNS lookup. Devuelve
unos códigos en función del éxito o fallo de la conexión.
write() – Escribe datos al servidor al que está conectado.
print() – Escribe datos al servidor al que está conectado
println() – Escribe datos al servidor al que está conectado, seguido de una nueva línea
available() – Devuelve el número de bytes disponibles para leer.
read() – Lee el siguiente byte recibido desde el servidor.
flush() – Borrar todos los bytes que han sido escritos en el cliente pero no leidos
stop() – Desconecta el cliente del servidor
EthernetUDPClass: habilita el envío y recepción de mensajes UDP
begin() – Inicializar la librería UDP
read() – Lee datos UDP
write() – Escribe datos UDP a la conexión remota.
beginPacket() – Comienza una conexión para escribir paquetes UDP
endPacket() – Finaliza una conexión UDP después de escribir
parsePacket() – Comprueba la presencia de un paquete UDP
available() – Devuelve el nº de bytes disponible para leer en el buffer
stop() – Desconecta del servidor
remoteIP() – Obtiene la IP de la conexión remota
remotePort() – Obtiene el puerto de la conexión remota
Este proyecto está basado en la comunicación Ethernet y el objetivo de la práctica es
monitorear desde una página web la señal de un sensor enviada por el dispositivo
Arduino, .cuando el sensor detecta movimiento activa el motor enviando información al a
página mostrando en esta que el motor a sido activado.
Esto nos ayuda a hacer un control automático el cual monitorea el estado de un sensor que muestran un estado de encendido o apagado.
Esto lo logramos utilizando una comunicación Ethernet que nos ayuda a tener el control de un proceso mediante una página web, la ventaja de este proceso es que lo podemos hacer a distancia.
CONCLUSION
En este proyecto aprendimos a usar la comunicación Ethernet para controlar cualquier dispositivo mediante una página web a distancia, además de aprender la estructura de un programa en htlm para programar en arduino.