Pages: [1] 2   Go Down
Author Topic: Ayuda con Ethernet e Internet (Solucionado)  (Read 4421 times)
0 Members and 1 Guest are viewing this topic.
Collbató, Barcelona
Offline Offline
Full Member
***
Karma: 1
Posts: 115
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Buenas, he comprado un módulo Ethernet, en concreto este:
.
Lo he conectado al Arduino, he conseguido las Librerias y he cogido algún ejemplo y todo correcto.
Programo para Android y he echo una aplicacion básica para poner activar los Pines digitales, la cual iré perfeccionando para poder controlar todos los pines del arduino.

Ahora viene mi problema:
En Red local todo funciona correctamente, (ip: 192.168.1.15), pero no consigo conectar desde internet.
He probado con una cuenta no-ip ya que dispongo de una IP Dinamica, directamente colocando la ip publica en el programa de android y tampoco hay manera.
¿Como puedo configurar mi Router para poder acceder al Arduino desde Internet?
Espero vuestra Ayuda y por supuesto en el momento que todo esté operativo subiré la App de Android para que todos podais usarla y hacer las mejoras que veais.
Un Saludo
Jomagom
« Last Edit: June 12, 2012, 12:16:09 pm by Jomagom » Logged

Spain
Offline Offline
Full Member
***
Karma: 0
Posts: 191
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

El problema parece claramente de configuración del router. El hecho de que utilices un Arduino como, supongo, servidor web no influye en la configuración del router.

Todo depende de los puertos que estés utilizando y como los tienes redireccionados en el router.

Como no pones el código del servidor web, no sabemos con que puerto estás trabajando.

Como no pones la configuración del router, no se puede saber que está haciendo.

Logged

Collbató, Barcelona
Offline Offline
Full Member
***
Karma: 1
Posts: 115
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Muchisimas Gracias por responder tan rápido, tienes razón te pongo la configuración del Arduino:

static uint8_t mac[6] = {0x54, 0x55, 0x58, 0x10, 0x00, 0x24};   
static uint8_t ip[4] = {192, 168, 1, 15};                   
static uint16_t port = 80;

La configuración del Router no la he cambiado solo he abierto el puerto 80.
Solo utilizo el servicio no-ip para redireccionar la ip Dinámica.

Tampoco se, como redireccionar el Router.
Espero que me ayudeis en lo que podais y de nuevo muchas gracias.
Un Saludo
Jomagom
Logged

Spain
Offline Offline
Full Member
***
Karma: 0
Posts: 191
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Tampoco se, como redireccionar el Router.
Espero que me ayudeis en lo que podais y de nuevo muchas gracias.

Una pequeña oración a San Google con la marca y modelo de tu router más el texto "abrir puertos" seguro que te ayuda mejor y más rápido que este foro.

Lo que necesitas hacer es prácticamente lo mismo que abrir los puertos para usar programas P2P: Redireccionar un puerto (80) a una dirección IP en concreto (la del Arduino, 192.168.1.15)
Logged

Collbató, Barcelona
Offline Offline
Full Member
***
Karma: 1
Posts: 115
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Nada, no lo consigo, he cambiado el puerto en el Arduino por el 8080, he abierto el puerto en el Router con la ip del Arduino (192.168.1.15), he desactivado el FireWall de Windows y he quitado el anitivirus y no hay manera, seguire investigando a ver si consigo algo, muchisimas gracias por contestar


Un Saludo
Jomagom
Logged

Spain
Offline Offline
God Member
*****
Karma: 25
Posts: 958
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Vamos a ver...

No solo es abrir el puerto...

Tu router tendra aproximadamente 4 bocas rj45, y de el puede colgar sin mas 4 equipos, bien, tu router tiene un ip publica, pongamos por ejemplo:

ip router publica:      214.135.89.35

Tus ordenadores y el arduino por estar detras de un router tendran un ip de clase C o sea una ip de andar por casa, pongamos por ejemplo:

Ip PC con el que lees este foro:         192.168.1.2
Ip del arduino conectado al router:    192.168.1.3
Ip restantes....                              192.168.1.4    al     192.168.1.5

Tu router, del lado casa tiene una ip del tipo C que es la que los PC y el arduino empleara como puerta de enlace o gateway, por ejemplo:
Ip del router interna lado casa:         192.168.1.1

Con lo cual tienes que:
  Poner a todos los PC's arduinos y demas una ip que pueden ser las que te he puesto arriba, tambien una mascara de subred del tipo 255.255.255.0 y ademas una puerta de enlace que tiene que ser la IP del router pero del lado casa, no la publica, o sea, en el ejemplo la 192.168.1.1 porque el puente para que cualquier equipo salga a internet en tu casa es a traves del router y este tiene una IP que es la que tenemos que decirle a los equipos.

Bien con todo esto y añadiendo las IP's de los DNS tendria cualquier equipo configurado para salir a internet, ahora, si quieres que desde internet entren a tu equipo o arduino tienes que crear unas reglas en el router.

Me explico, desde internet a ti solo te ven con la ip publica (214.135.89.35) y hacen llamadas a un servidor web en el puerto 80 para que este sirva las paginas pero la llamada la hacen a la ip publica o sea a la 214.135.89.35 pero tu servidor web esta escuchando, eso si, en el puerto 80 pero esta detras del router, entonces tienes que decirle al router que todas las "llamadas" al puerto 80 las redirija a la ip del arduino, o sea 192.168.1.3

Esto cambia el menu en cada router pero una simple busqueda por tu modelo de router en google te saldra mil paginas para realizar lo que tu quieres que se llama NAT (Network Address Translation)

No hace falta si no quieres que emplees el puerto 80, puedes emplear cualquiera que no este usado simplemente añadiendo a la llamada los dos puntos y el puerto, por ejemplo para el puerto 5900 seria asi:
     http://192.168.1.3:5900
« Last Edit: June 12, 2012, 11:36:57 am by Heke » Logged

CUIDADO !! MIS POST NO SON APTOS PARA MENORES. SI ERES MENOR DE 14 AÑOS DEBES DE LEERLOS ACOMPAÑADO DE UN ADULTO

Collbató, Barcelona
Offline Offline
Full Member
***
Karma: 1
Posts: 115
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bueno, gracias a todos al fin he conseguido acceder al servidor de arduino a través de internet.
No tengo muy claro como se ha solucionado pero os comento lo que he echo:
En el Router he intentado redireccionar varios puertos a la ip del Arduino (192.168.1.15) sin ningún exito, cuando intentaba acceder desde internet me aparecía la pagina en blanco sin errores pero en blanco.
Al final lo que he echo ha sido redireccionar el puerto 80 a la ip (192.168.1.15) la del Arduino, el router me ha dado el aviso de que ese puerto se estaba utilizando y que si quería pasar el acceso al http al puerto 8080, le he dicho que si, he reiniciado y ya conectaba desde internet.
Con el servicio no-ip funciona perfecto.
Muchas gracias a todos, continuo con la aplicacion para Android y en cuanto esté terminada os la subo y entre todos le añadimos lo que queramos, (Control de Pines Digitales, analogicos, etc).
Os pongo lo que tengo Realizado y como va el Proyecto:

-Control de los Pines (modo digital ON/OFF) del pin 0 al 7 REALIZADO
-Lectura de Puertos Analógicos del 0 al 6 PENDIENTE
-Control de Servos  PENDIENTE
-Control PWM PENDIENTE

Si se os ocurre cualquier otra cosa se puede ir Implementando.
Todas las acciones se sealizarán a traves de una Ethernet,.

Un Saludo
Jomagom

Y gracias nuevamente.
Logged

0
Offline Offline
Edison Member
*
Karma: 8
Posts: 1040
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Programo para Android y he echo una aplicacion básica para poner activar los Pines digitales, la cual iré perfeccionando para poder controlar todos los pines del arduino.

Es bueno saberlo porque hay si que no tengo ni pajotera idea y para mi super casita domotica quiero hacer algo sencillote con android.
¿Que es lo que usas tu para hacerlas?
Logged

Trabajando en ...

    * Control Domotico (En montaje ...)
    http://casitadomotica.blogspot.com/
 

[url=https://bitbucket.org/fmalpartida

Offline Offline
Newbie
*
Karma: 0
Posts: 9
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Con este proyecto se podría conseguir el poder encender y apagar leds por red. Si es asín podrías exponer el código del arduino y el del android para poderlo entender. Muchas gracias...
Logged

Collbató, Barcelona
Offline Offline
Full Member
***
Karma: 1
Posts: 115
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

"Apagar o Encender Leds", a eso yo y supongo que la mayoría diríamos "Activar o Desactivar un Pin Digital".
Claro que se puede, pero la idea no solo es poner en On o en Off un Pin digital, tambien poder darle un valor a un Pin PWM, o leer un sensor conectado a una Entrada Analógica, poder mover vía Internet o Red Local un Servo o todo lo que se nos ocurra que pueda hacer Nuestro Arduino y Poder manejarrlo desde nuestro Terminal Android, Conectar nuestra Alarma de Casa desde la otra parte del Globo Terraqueo, Conectar nuestra calefacción desde el trabajo para cuando lleguemos que todo esté calentito (jejeje) etc.
La aplicación que estoy desarrollando está programada en Basic4Android y es muy genérica ya que no puedo poner un Icono para que conecte la cafetera ya que tu probablemente no lo querrias para nada por lo que se utiliza lo de poner el Pin 1,2,3 etc en On o en OFF para que cada uno lo utilice como le convenga.
El código de Arduino tambien depende de la Shield que TU te hayas comprado, ya que una utiliza unas librerias y la de otro fabricante utiliza otras.
Aunque será muy facil adaptar el código para cada una de las Shields.
Si necesitaras una aplicación especifica para algún proyecto estaré encantado de poder ayudarte y en lo que esté en mi mano, realizarte la aplicación para Android.

Un Saludo
Jomagom
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 9
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Correcto, a lo que yo me refiero es a lo mismo que tu deseas hacer. Es decir poder encender la calefacción u otros elementos desde lejos. Pero un principio quería empezar con lo fácil o básico que es "Activar o Desactivar un Pin Digital", para en este caso seria con leds. Por eso me seria de gran ayuda tu proyecto.

Referente a que dispositivos usaría, pues tenia pensado la compra de estos 2 elementos:

-Arduino Uno R3
-Arduino Ethernet Shield R3
Logged

Collbató, Barcelona
Offline Offline
Full Member
***
Karma: 1
Posts: 115
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ok, lo primero que tendrás que hacer en cuanto hayas recibido el material sera configurar tu Router (En mi caso es lo que más problemas me dió) para que cada vez que desde el movil accedas a tu Servidor el Router digamos "desvie" o "Redireccione" la peticion que haces de apagar o encender un Pin al arduino, luego la programación del arduino es facil.
Si por ejemplo mandas al arduino una serie de caracteres "P0on" para poner en HIGH el pin 0 o P0off para ponerlo en LOW.
Si quisieras por ejemplo Leer la entrada Analógica 0, mandariamos "PA0" desde nuestro terminal Android al Servidor, el código del Arduino sabría que esos caracteres quieren decir que muestre en el servidor el valor de Pin Analógico 0 y los mostraría, lo cual te aparecería en tu Terminal Android.
Y así todo lo que se te ocurra hacer.
En cuanto tengas lo quenecesitas mandame un privado y te creo la App personalizada con lo que tyu me digas.
Un Saudo
Jomagom
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 9
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

No quiero las cosas hechas compañero. Lo mejor de la vida es aprender y si te pueden enseñar mejor. Xd. A si que seria de gran ayuda si me ayudases a aprender a hacer mis propios apk en android.
Logged

Collbató, Barcelona
Offline Offline
Full Member
***
Karma: 1
Posts: 115
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ok, yo como te he comentado programo con Basic4android es un software basado en Basic y tengo comprada la licencia, y me parece que no se puede descargar, es muy facil programar si conoces el lenguaje Basic y yo al venir de Visual Basic la verdad es que se me ha echo muy facil crear aplicaciones.
Un Saludo
Jomagom
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 9
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ok en cuenta tenga los materiales te avisare, para que me eches un cable...
Logged

Pages: [1] 2   Go Up
Jump to: