OpenWRT
Moderadores: Kravenbcn, largeroliker, fidelcastro, cerealkiller, pspCaracas, dark_sasuke, m0skit0, LnD, ka69, zacky06
OpenWRT
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.
Fin: Instalación / hacking del kernel
Muchas gracias.
... after all, we're all alike.
- pspCaracas
- Moderador Global
- Mensajes: 3080
- Registrado: 03 Sep 2009, 03:29
- Ubicación: Buenos Aire - Argentina
- Contactar:
Re: OpenWRT
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?
Ahora bien, más o menos que tienes en mente?
http://farm3.static.flickr.com/2497/3983880148_f5ae0aaab2_o.png
Re: OpenWRT
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)
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.
- pspCaracas
- Moderador Global
- Mensajes: 3080
- Registrado: 03 Sep 2009, 03:29
- Ubicación: Buenos Aire - Argentina
- Contactar:
Re: OpenWRT
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
Re: OpenWRT
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.
- pspCaracas
- Moderador Global
- Mensajes: 3080
- Registrado: 03 Sep 2009, 03:29
- Ubicación: Buenos Aire - Argentina
- Contactar:
Re: OpenWRT
Ok, creo entenderlo asi:
PC ---[vía WiFi] ---> Router --- [Via puerto serial] ---> mini robot
Es así?
PC ---[vía WiFi] ---> Router --- [Via puerto serial] ---> mini robot
Es así?
http://farm3.static.flickr.com/2497/3983880148_f5ae0aaab2_o.png
Re: OpenWRT
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.
- pspCaracas
- Moderador Global
- Mensajes: 3080
- Registrado: 03 Sep 2009, 03:29
- Ubicación: Buenos Aire - Argentina
- Contactar:
Re: OpenWRT
Ok, debes pensar alguna cosas:
No sé exactamente a qué te refieres con cambios al kernel
- ¿Cómo vas a comunicarte con el router vía WiFI?
- 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.
- 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

http://farm3.static.flickr.com/2497/3983880148_f5ae0aaab2_o.png
Re: OpenWRT
pspCaracas escribió:Ok, debes pensar alguna cosas:
- ¿Cómo vas a comunicarte con el router vía WiFI?
- 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.
- 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
Huy, no sé hacer quotes de listas

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

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.
- pspCaracas
- Moderador Global
- Mensajes: 3080
- Registrado: 03 Sep 2009, 03:29
- Ubicación: Buenos Aire - Argentina
- Contactar:
Re: OpenWRT
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.
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