camaras lo prado

4
Conexión Ethernet para Arduino con ENC28J60 02/06/2013 23:51 6 comentarios manuel En este artículo usamos una tarjeta conectada a Arduino para habilitar una puerta ethernet e implementar un pequeño servidor web. La primera opción que tenemos es la Ethernet Shield oficial, pero si tenemos una limitación en el costo o en el espacio a ocupar, tenemos que buscar alternativas. Una alternativa para implementar una conexión Ethernet es la tarjeta ENC28J60 que posee interfaz SPI y se aprecia en la figura. Mas información tras el salto Materiales Tarjeta Ethernet ENC28J60 (que puedes adquirir en nuestra tienda ) Arduino Uno IDE Arduino instalado Notebook con Windows 7 Acceso a Internet Cable de Red Cables con conectores macho hembra Instalando Biblioteca Debemos obtener la biblioteca para instalar y usar. los pasos son los siguientes 1. Bajar la biblioteca a tu computador, se obtiene desde la siguiente dirección 2. Se descomprime y se renombra la carpeta cómo “EtherCard” 3. Mover esta carpeta “EtherCard” bajo la carpeta libraries, donde esta el ejecutable de Arduino. 4. Si estaba abierta, reiniciar la aplicación de Arduino, para asegurarnos que se apliquen los cambios realizados. Cuando abrimos el arduino IDE podemos ver la librería instalada y sus ejemplos, eso se muestra en la siguiente figura.

Upload: leorio88

Post on 03-Feb-2016

213 views

Category:

Documents


0 download

DESCRIPTION

camaras de vigilancia vial

TRANSCRIPT

Page 1: Camaras Lo Prado

Conexión Ethernet para Arduino con ENC28J60 02/06/2013 23:51 ⋅ 6 comentarios ⋅ manuel

En este artículo usamos una tarjeta conectada a Arduino para habilitar una puerta ethernet e implementar un pequeño servidor web.

La primera opción que tenemos es la Ethernet Shield oficial, pero si tenemos una limitación en el costo o en el espacio a ocupar, tenemos

que buscar alternativas.

Una alternativa para implementar una conexión Ethernet es la tarjeta ENC28J60 que posee interfaz SPI y se aprecia en la figura.

Mas información tras el salto

Materiales

Tarjeta Ethernet ENC28J60 (que puedes adquirir en nuestra tienda)

Arduino Uno

IDE Arduino instalado

Notebook con Windows 7

Acceso a Internet

Cable de Red

Cables con conectores macho hembra

Instalando Biblioteca

Debemos obtener la biblioteca para instalar y usar. los pasos son los siguientes

1. Bajar la biblioteca a tu computador, se obtiene desde la siguiente dirección

2. Se descomprime y se renombra la carpeta cómo “EtherCard”

3. Mover esta carpeta “EtherCard” bajo la carpeta libraries, donde esta el ejecutable de Arduino.

4. Si estaba abierta, reiniciar la aplicación de Arduino, para asegurarnos que se apliquen los cambios realizados.

Cuando abrimos el arduino IDE podemos ver la librería instalada y sus ejemplos, eso se muestra en la siguiente figura.

Page 2: Camaras Lo Prado

Conexión Física

La conexión física se basa en el uso de los pines para interfaz SPI. Se necesitan seis pines.

La siguiente tabla muestra los pines necesarios,

ENC Arduino

VCC 3.3v

GND GND

SCK Pin 13

SO Pin 12

SI Pin 11

CS Pin 8

La conexión física de los pines se ve en las siguientes figuras

Pruebas

Como prueba usamos la página “Back Soon”

// Present a "Will be back soon web page", as stand-in webserver.

Page 3: Camaras Lo Prado

// 2011-01-30 <[email protected]> http://opensource.org/licenses/mit-license.php

#include <EtherCard.h>

#define STATIC 0 // set to 1 to disable DHCP (adjust myip/gwip values below)

#if STATIC

// ethernet interface ip address

static byte myip[] = { 192,168,1,200 };

// gateway ip address

static byte gwip[] = { 192,168,1,1 };

#endif

// ethernet mac address - must be unique on your network

static byte mymac[] = { 0x74,0x69,0x69,0x2D,0x30,0x31 };

byte Ethernet::buffer[500]; // tcp/ip send and receive buffer

char page[] PROGMEM =

"HTTP/1.0 503 Service Unavailable\r\n"

"Content-Type: text/html\r\n"

"Retry-After: 600\r\n"

"\r\n"

"<html>"

"<head><title>"

"Service Temporarily Unavailable"

"</title></head>"

"<body>"

"<h3>This service is currently unavailable</h3>"

"<p><em>"

"The main server is currently off-line.<br />"

"Please try again later."

"</em></p>"

"</body>"

"</html>"

;

void setup(){

Serial.begin(57600);

Serial.println("\n[backSoon]");

if (ether.begin(sizeof Ethernet::buffer, mymac) == 0)

Serial.println( "Failed to access Ethernet controller");

#if STATIC

ether.staticSetup(myip, gwip);

Page 4: Camaras Lo Prado

#else

if (!ether.dhcpSetup())

Serial.println("DHCP failed");

#endif

ether.printIp("IP: ", ether.myip);

ether.printIp("GW: ", ether.gwip);

ether.printIp("DNS: ", ether.dnsip);

}

void loop(){

// wait for an incoming TCP packet, but ignore its contents

if (ether.packetLoop(ether.packetReceive())) {

memcpy_P(ether.tcpOffset(), page, sizeof page);

ether.httpServerReply(sizeof page - 1);

}

}

El resultado de este sketch se aprecia tanto en la página web donde aparece el mensaje esperado, como via serial donde aparecen

los parámetros de red. Esto se aprecia en la siguiente figura,