OpenWRT

Moderadores: Kravenbcn, largeroliker, fidelcastro, cerealkiller, pspCaracas, dark_sasuke, m0skit0, LnD, ka69, zacky06

Avatar de Usuario
Yn$an€
Desarrollador
Desarrollador
Mensajes: 258
Registrado: 11 Feb 2011, 21:44

OpenWRT

Mensaje por Yn$an€ »

Hola a todos. Pues bien, estaba buscando información sobre OpenWRT y me preguntaba si algún alma caritativa podría indicarme donde encontrar tutoriales sobre la plataforma y documentación sobre la misma.

Fin: Instalación / hacking del kernel

Muchas gracias.
... after all, we're all alike.

Avatar de Usuario
pspCaracas
Moderador Global
Moderador Global
Mensajes: 3080
Registrado: 03 Sep 2009, 03:29
Ubicación: Buenos Aire - Argentina
Contactar:

Re: OpenWRT

Mensaje por pspCaracas »

Yn$an€ muchas de las cosas están en la página del proyecto, en particular en la documentación encontrarás algunas recetas que puedes aplicar para las cosas comunes que podrías hacer con OpenWrt y un router.

Ahora bien, más o menos que tienes en mente?
http://farm3.static.flickr.com/2497/3983880148_f5ae0aaab2_o.png

Avatar de Usuario
Yn$an€
Desarrollador
Desarrollador
Mensajes: 258
Registrado: 11 Feb 2011, 21:44

Re: OpenWRT

Mensaje por Yn$an€ »

Pues pensaba utilizar los puertos de serie del router para enviar información a un microcontrolador. Pero para eso necesito saber las capacidades del software y un par de cosillas más. El proyecto es de un amigo, pero de la parte de programación me encargo yo.

Utilizaría un pc para conectarlo al router y desde el enviar datos. Por un lado enviaría las señales de control, por el otro el router (o mejor dicho un programa que desarrolle enviará el vídeo y demás parafernalia de los sensores)
... after all, we're all alike.

Avatar de Usuario
pspCaracas
Moderador Global
Moderador Global
Mensajes: 3080
Registrado: 03 Sep 2009, 03:29
Ubicación: Buenos Aire - Argentina
Contactar:

Re: OpenWRT

Mensaje por pspCaracas »

Si es factible, si lo haces en C es un paseo...imagino que estás pensando en algún tipo de control remoto, dónde vas a conectar la cámara. qué piensas controlar?
http://farm3.static.flickr.com/2497/3983880148_f5ae0aaab2_o.png

Avatar de Usuario
Yn$an€
Desarrollador
Desarrollador
Mensajes: 258
Registrado: 11 Feb 2011, 21:44

Re: OpenWRT

Mensaje por Yn$an€ »

La cámara tiene dos alternativas. Una es no usarla XD por ser la v1 y priorizar otros aspectos; la otra sería procesar la imagen con otro microcontrolador a parte del que se encarga de la comunicación y enviarla por el puerto serie de igual forma (no he hecho la cuenta a ver si la velocidad de transferencia es suficiente). Lo que se controlará será un PWM (de forma activa) que a su vez se encarga de los motores del minirobot. Luego tendrá una serie de señales de control para revisar los sistemas etc. Lo principal, el router será un puente entre pc y microcontrolador. Los programas correrán en máquinas separadas, cada una con su tarea. En este caso el PC (o psp/pda) seŕa un mero mando a distancia, un pelín complejo, pero nada más que eso.
... after all, we're all alike.

Avatar de Usuario
pspCaracas
Moderador Global
Moderador Global
Mensajes: 3080
Registrado: 03 Sep 2009, 03:29
Ubicación: Buenos Aire - Argentina
Contactar:

Re: OpenWRT

Mensaje por pspCaracas »

Ok, creo entenderlo asi:

PC ---[vía WiFi] ---> Router --- [Via puerto serial] ---> mini robot

Es así?
http://farm3.static.flickr.com/2497/3983880148_f5ae0aaab2_o.png

Avatar de Usuario
Yn$an€
Desarrollador
Desarrollador
Mensajes: 258
Registrado: 11 Feb 2011, 21:44

Re: OpenWRT

Mensaje por Yn$an€ »

Sip, eso mismo. Sería bueno poder hacer cambios al kernel, si tuviese el conocimiento suficiente XD, pero no creo que los puertos de serie sean difíciles de manejar.
... after all, we're all alike.

Avatar de Usuario
pspCaracas
Moderador Global
Moderador Global
Mensajes: 3080
Registrado: 03 Sep 2009, 03:29
Ubicación: Buenos Aire - Argentina
Contactar:

Re: OpenWRT

Mensaje por pspCaracas »

Ok, debes pensar alguna cosas:

  1. ¿Cómo vas a comunicarte con el router vía WiFI?
  2. En qué lenguaje vas a programar? En particular para OpenWrt debes considerar que debes cross compilar o en su defecto usar un interprete como Perl. Te pongo como ejemplo que en el trabajo me ha tocado desarrollar en C y la cross compilada es "automática" ya que lo hace al generar la imagen de OpenWrt.
  3. Muy probablemente la imagen normal que te descargas de OpenWrt no te será suficiente, es decir, te tocará aprender a compilar la imagen de OpenWrt desde la interfaz que proveen, muy similar a la que se usa para compilar un kernel (de hecho haces un make menuconfig)

No sé exactamente a qué te refieres con cambios al kernel :roll:
http://farm3.static.flickr.com/2497/3983880148_f5ae0aaab2_o.png

Avatar de Usuario
Yn$an€
Desarrollador
Desarrollador
Mensajes: 258
Registrado: 11 Feb 2011, 21:44

Re: OpenWRT

Mensaje por Yn$an€ »

pspCaracas escribió:Ok, debes pensar alguna cosas:

  1. ¿Cómo vas a comunicarte con el router vía WiFI?
  2. En qué lenguaje vas a programar? En particular para OpenWrt debes considerar que debes cross compilar o en su defecto usar un interprete como Perl. Te pongo como ejemplo que en el trabajo me ha tocado desarrollar en C y la cross compilada es "automática" ya que lo hace al generar la imagen de OpenWrt.
  3. Muy probablemente la imagen normal que te descargas de OpenWrt no te será suficiente, es decir, te tocará aprender a compilar la imagen de OpenWrt desde la interfaz que proveen, muy similar a la que se usa para compilar un kernel (de hecho haces un make menuconfig)

No sé exactamente a qué te refieres con cambios al kernel :roll:


Huy, no sé hacer quotes de listas :lol:

Bah, da igual-------------->

1-La idea de comunicarme via wifi sería crear una aplicación tanto para el pc como para el router, que enviase paquetes ACK (metafóricamente hablando, pero podrían ser ACK de todas formas) a la dirección de broadcast de la red. Una vez localizados, se identificarían los miembros y la comunicación empezaría a través de un puerto aleatorio que elegiese el router. Una vex conectado el pc a la red inalámbrica no sería problema hacer esto. Sería un chat, pero en vex de palabras serían datos.
2-Voy a programar muy seguramente en C o C++. Pero se podría con Python? Perl nunca he usado (también podría aprender)
3-No tengo problema en nada que sea aprender :D .

Cambios al kernel = Tonterías mías. Es a lo que me gustaría dedicarme. Por eso siempre que puedo reviso el código del kernel de turno para aprender algo.
... after all, we're all alike.

Avatar de Usuario
pspCaracas
Moderador Global
Moderador Global
Mensajes: 3080
Registrado: 03 Sep 2009, 03:29
Ubicación: Buenos Aire - Argentina
Contactar:

Re: OpenWRT

Mensaje por pspCaracas »

Yn$an€ escribió:1-La idea de comunicarme via wifi sería crear una aplicación tanto para el pc como para el router, que enviase paquetes ACK (metafóricamente hablando, pero podrían ser ACK de todas formas) a la dirección de broadcast de la red. Una vez localizados, se identificarían los miembros y la comunicación empezaría a través de un puerto aleatorio que elegiese el router. Una vex conectado el pc a la red inalámbrica no sería problema hacer esto. Sería un chat, pero en vex de palabras serían datos.

Yo pensaría en algo más sencillo como netcat, el cual permite abrir un puerto en una máquina local y otra remota, y a partir de allí escribir (algunos ejemplos lo consigues aquí http://www.g-loaded.eu/2006/11/06/netca ... -examples/)

Por ejemplo, podrías hacer

PC (IP: 192.168.1.100):

Código: Seleccionar todo

echo "COMANDO\n" | nc -l -p 3333 


Router:

Código: Seleccionar todo

nc 192.168.1.100 3333 > /dev/ttyS0


De esta forma enviarías un comando directo al puerto serial del router, y no te preocupas de dirección de broadcast...que de paso no congestionas la red, y te evitas otros problemas como saber si llegó o no el mensaje.
Yn$an€ escribió:2-Voy a programar muy seguramente en C o C++. Pero se podría con Python? Perl nunca he usado (también podría aprender)

Mi consejo es que uses C...pero de poderse usar Python se puede, basta con que incluyas el intérprete al generar la imagen de OpenWrt.
Yn$an€ escribió:3-No tengo problema en nada que sea aprender :D .

Y es que de seguro te va a tocar aprender a compilar la imagen de OpenWrt, si por ejemplo quieres incluir el intérprete de Python o si quieres cross compilar una aplicación en C para que corra en el router.

Yn$an€ escribió:Cambios al kernel = Tonterías mías. Es a lo que me gustaría dedicarme. Por eso siempre que puedo reviso el código del kernel de turno para aprender algo.

Como tal al crear la imagen de OpenWrt estás compilando el Kernel, módulos y aplicaciones para que sean cargados en el firmware.
http://farm3.static.flickr.com/2497/3983880148_f5ae0aaab2_o.png

Responder