Go Down

Topic: Configurar una ethernet shield W5100 (Read 431 times) previous topic - next topic

B3rton1c0

Mar 13, 2015, 08:05 pm Last Edit: Mar 14, 2015, 12:21 pm by B3rton1c0
Los pasos a seguir son muy simples

Lo primero es comprar la tarjeta de arduino ethernet shield "Controller: W5100"

pasamos a la imagen para ver un detalle importante ..



En el revés de la tarjeta muestra una pegatina que identifica la mac adres : 90:A2:DA:0F:CC:2F // en este caso //

bien el siguiente paso es configurar el router ..

En Linux en la consola  ifconfig

En windows desde cmd ipconfig

Ahora podemos ver la puerta de enlace .. que normal mente es 192.168.1.1

Abrimos un navegado /Firefox/Microsof explorer  /Chrome/etzz/ escribimos la puerta de enlace que nos dio la consola en este caso .. 192.168.1.1



pide usuario y contraseña ..

si no la sabes tienes que buscar información sobre el router ..pero casi seguro que  la contraseña por defecto es..
usuario :1234   usuario : admin   user: admin
pass:1234        Pass:    admin    pass: 1234
------------------

una vez dentro del router ..

hay que configurar el DHCP  esto se suele encontrar en la configuración por el apartado de LAN..



en mi router hay un botón donde dice "add entries" le damos . Pide mac y ip la mac

mac: //de la tarjeta en mi caso :  90:A2:DA:0F:CC:2F
ip : // ip que le queremos asignar  : 192.168.1.135  // puedes hacer un pin 192.168.1.135 para ver que no hay nada .. xD

Aplica los cambios al router . hay que abrir el puerto 80 que es el de servidor web ..

dentro del router hay un apartado donde dice NAT  



una vez configurado le aplicamos los cambios y ya tienes el router configurado..

pero si quiero acceder desde fuera de mi red Lan no funciona .. claro ..

la solucion es crear una cuenta "NO-IP".. vamos al lio entramos en la web https://www.noip.com/sign-up

una vez registrado entras para configurar un add host ;)






creo una host casajopapa                   no-ip.org

En esta imagen donde dice IP adres pone la IP publica yo la he borrado para que no veáis mi IP . pero no la borréis vosotros

le damos a add host esta un pelo mas abajo ;)


casajopapa.no-ip.org    ahora desde un navegador fuera de tu red puedes acceder .....





192.168.1.135   y esta para dentro de tu red ;-)










tenemos que unir la tarjeta arduino uno con la ethernet shield esto es muy simple  // no ser bestia
conecta el cabe usb : y carga este Sketch
configura el Sketch con tu mac y ip...

Code: [Select]
#include <SPI.h>
#include <Ethernet.h>

//Declaración de la direcciones MAC e IP. También del puerto 80
byte mac[]={0x90,0xA2,0xDA,0x0F,0xCC,0x2F}; //MAC
IPAddress ip(192,168,1,135); //IP
EthernetServer servidor(80);

int PIN_LED1=8;
String readString1=String(30);
String state1=String(3);
int PIN_LED2=9;
String state2=String(3);


void setup()
{
  Ethernet.begin(mac, ip); //Inicializamos con las direcciones asignadas
  servidor.begin();
  pinMode(PIN_LED1,OUTPUT);
  digitalWrite(PIN_LED1,HIGH);
  state1="OFF";
  pinMode(PIN_LED2,OUTPUT);
  digitalWrite(PIN_LED2,HIGH);
  state2="OFF";
  
}

void loop()
{
  EthernetClient cliente= servidor.available();
  
  if(cliente)
  {
    boolean lineaenblanco=true;
    while(cliente.connected())//Cliente conectado
    {
      if(cliente.available())
      {
        char c=cliente.read();
        if(readString1.length()<30)//Leemos petición HTTP caracter a caracter
        {
          readString1.concat(c); //Almacenar los caracteres en la variable readString
        
        }
        if(c=='\n' && lineaenblanco)//Si la petición HTTP ha finalizado
        {
          int LED1 = readString1.indexOf("LED1=");
          int LED2 = readString1.indexOf("LED=");
          if(readString1.substring(LED1,LED1+6)=="LED1=T")
          {
            digitalWrite(PIN_LED1,LOW);
            state1="ON";
          } else if (readString1.substring(LED1,LED1+6)=="LED1=F")
          {
            digitalWrite(PIN_LED1,HIGH);
            state1="OFF";
          }
          if(readString1.substring(LED2,LED2+5)=="LED=T")
          {
            digitalWrite(PIN_LED2,LOW);
            state2="ON";
          } else if (readString1.substring(LED2,LED2+5)=="LED=F")
          {
            digitalWrite(PIN_LED2,HIGH);
            state2="OFF";
          }  
          
          //Cabecera HTTP estándar
          cliente.println("HTTP/1.1 200 OK");
          cliente.println("Content-Type: text/html");
          cliente.println();        
          //Página Web en HTML
          cliente.println("<html>");
          cliente.println("<head>");
          cliente.println("<title>LAMPARA ON/OFF</title>");
          cliente.println("</head>");
          cliente.println("<body width=100% height=100%>");
          cliente.println("<center>");
          cliente.println("<h1>LAMPARA ON/OFF</h1>");
          cliente.print("<br><br>");
          cliente.print("Estado de la lampara: ");
          cliente.print(state1);
          cliente.print("<br><br><br><br>");
          cliente.println("<input type=submit value=ON style=width:200px;height:75px onClick=location.href='./?LED1=T\'>");
          cliente.println("<input type=submit value=OFF style=width:200px;height:75px onClick=location.href='./?LED1=F\'>");
          cliente.print("<br><br>");
          cliente.print("Estado de la lampara: ");
          cliente.print(state2);
          cliente.print("<br><br><br><br>");
          cliente.println("<input type=submit value=ON style=width:200px;height:75px onClick=location.href='./?LED=T\'>");
          cliente.println("<input type=submit value=OFF style=width:200px;height:75px onClick=location.href='./?LED=F\'>");
          cliente.print("<br><br>");
          cliente.println("</center>");
          cliente.println("</body>");
          cliente.println("</html>");
          cliente.stop();//Cierro conexión con el cliente
          readString1="";
        }
      }
    }
   }
  }




montar igual que en la imagen ..








una vez el montaje realizado y cargado el Sketch en tu arduino.
conectas el cable RJ43 en tu tarjeta ethernet sheild y al router .. // vigila por que tiene que ser este cable RJ43 ..
conecta el arduino uno al usb de un pc .. mi router tiene conexion de usb a si que lo conecto en el usb del router ..


abrimos un navegador /Firefox/Microsof explorer  /Chrome/etzz y escribimos la dirección ip que le asignaste a la tarjeta ethernet :192.168.1.135  // si estas dentro de tu red

fuera de tu red es tu no-ip ;) casajopapa.no-ip.org




ahora ya puedes apagar los leds ;-)

surbyte

De una duda personal surge un tutorial completo como éste.
Valoro mucho este tipo de experiencias que prueban que todos pueden aportar a la comunidad desde sus vivencias.
Muy buen trabajo B3rton1c0!!

Jopapa

No comprendo la necesidad de toda esa configuración del router que señalas.
Y además puede intimidar y confundir a un novato.
No se necesita asignar NADA en el router.
La configuración se hace en el mismo Sketch del programa. Asignamos IP y puerto y punto pelota.
Y para liar mas, dices que hay que abrir el puerto 80.
Señor, el puerto 80 SIEMPRE esta abierto en los router. ¡¡Es el puerto de navegación de Internet!!
Si usas otro puerto, para acceder desde dentro de tu Red, basta con poner 192.168.1.xxx:puerto
Y tampoco hay que abrir nada en el router.
Jopapa
www.jopapa.me

surbyte

Bueno, no fue hasta leer a Jopapa que me doy cuenta de lo que habla.

Pensé que todo el tutorial daba los pasos para enviar/recibir datos desde una dirección de internet y no desde la propia LAN.

Tendremos que ayudar y dar los pasos restantes para que sea un tutorial ilustrativo como debe ser.




Jopapa

#4
Mar 13, 2015, 10:03 pm Last Edit: Mar 13, 2015, 10:07 pm by Jopapa
surbyte, los pasos para acceder desde fuera de nuestra red, están puestos en mi tutorial Control de Arduino con el móvil por Internet

Lo que mas me preocupa es el enviar información falsa o innecesaria al pobre novato (hablo en carne propia)
Jopapa
www.jopapa.me

Metaconta

Hola:

Lo que tiene que configurar en el router es la salida y entrada hacia el público, para que te puedan entrar, así lo tienes solo para red local.

En cuanto al tutorial. Buen trabajo. ;)

PD: En mi caso uso Raspberry Pi 2 para cosas de servidores, está mejor. Pruebas los dos y te das cuenta. ;) Repito, en mi caso, mi punto de vista.

B3rton1c0

#6
Mar 13, 2015, 11:31 pm Last Edit: Mar 13, 2015, 11:33 pm by B3rton1c0
No comprendo la necesidad de toda esa configuración del router que señalas.
Y además puede intimidar y confundir a un novato.
No se necesita asignar NADA en el router.
La configuración se hace en el mismo Sketch del programa. Asignamos IP y puerto y punto pelota.
Y para liar mas, dices que hay que abrir el puerto 80.
Señor, el puerto 80 SIEMPRE esta abierto en los router. ¡¡Es el puerto de navegación de Internet!!
Si usas otro puerto, para acceder desde dentro de tu Red, basta con poner 192.168.1.xxx:puerto
Y tampoco hay que abrir nada en el router.

Si señor tiene razón no hace falta tocar nada para del router..

?Si no asigno DHCP  ip de mi arduino. no me la cambiara el router ¿ // es deciur no tiene fecha de caducidad??

Modificare el Tutorial ..para no liar ;)

Jopapa

El router usa DHCP para asignar una IP a alguien que quiere conectarse a él por WIFI.
Si tu configuras una en Arduino, esa tendrás (si no esta ocupada, claro)
Jopapa
www.jopapa.me

Metaconta

Para poder acceder desde Internet hacie ese arduino, tiene que tocar el router o si no, no pueden hacer nada, no los detecta, hablo de la IP publica.

B3rton1c0

Ahora creo que esta bien ;) happy Arduino

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy