Ethernet e Internet (Solucionado)

Jomagom:
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)

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

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

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.

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?

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...

"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

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

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

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.

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

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

Ok

Un Saludo
Jomagom

Ok, yo como te he comentado programo con Basic4android

No había oido hablar de el. Lo único asi que entiendo es Visual Basic, pero a un nivel bajo. Lo mirare.

Gracias

Pues si conoces algo de Visual Basic, te será muy facil programar en Basic4android, como visual basic es totalmente gráfico y con un par de lineas de código ya lo tienes funcionando.
Si necesitas ayuda estaré encantado en ayudarte en tus primeros programas.
Un Saludo
Jomagom

@#~|%!!!
Pues yo aquí sigo, peleándome con el router. He llegado hasta aquí buscando sobre mi problema, y es eso lo que me pasa. Desde internet, página en blanco. Ya sé que es problema del router, pero no sé qué más hacer :frowning:

Es un comtrend (de Jazztel) y he probado abriendo los puertos en Virtual Servers (dentro de NAT), como si fuera para cualquier programa P2P, o como para una cámara IP que tengo (y que funciona correctamente desde el móvil). También he probado en Port Triggering, que teóricamente, sería lo mismo que Virtual Servers, pero que funciona diferente (leído hace años, que lo de abrir puertos se haría en Port Triggering, pero que en este router no va bien y mejor hacerlo en Virtual Servers). Bueno, por si acaso, lo he probado de las dos formas.

También he activado para la IP del arduino el "DMZ Host" y no sé dónde más lo he puesto. Nada. He desactivado el firewall del router (eliminando la conexión a la WAN que tiene y volviéndola a hacer, ya que sino no te deja desactivarlo). Tampoco funciona. #~@~#€#~~@!!!!

Por lo que decís de la aplicación, yo, si me funciona (y sino, para cuando esté en casa), la tengo pensada hacer como una página web (en el arduino, siempre que quepa), con un plano del piso como imagen de fondo de la web, y los valores de los sensores y sus botones, al lado. No sé, a ver si logro que funcione...

A ver si da igual que este hilo sea de hace meses...

*Diciéndole al router que el arduino es el puerto 80, me sale el mensaje que habéis dicho aquí de que cambia el puerto del router del 80 al 8080, y pensaba que sería la solución, pero nada, a mí me sigue sin funcionar.

entonces solo podríamos dar ordenes a nuestro arduino desde nuestro movil por red móvil(3g) solo si estamos ejecutando en el pc el servidor creado en no-ip.com,hay alguna manera para poder utilizarlo sin tener que tener encendido un pc con ese servidor?

hola:
Esta muy interesante ese tema, me podrias facilitar el codigo para realizar pruebas con mi arduino mega. soy nuevo en esto pero me gusto mucho el tema.
Atte

Mmmm desde mi punto de vista no veo necesario tener el PC encendido.. lo que pasa es que en la maquina que tengas el Script de actualización de No-IP esta para periódicamente realizar comprobación de cambio de IP cuando son Ip´s publicas Dinámicas..

Es decir puedes tener el PC apagado..pero en el momento en que tu IP cambie..no podrá actualizarse el Dominio que tengas configurado en No-IP