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

Re: OpenWRT

Mensaje por Yn$an€ »

pspCaracas escribió: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/)


MMM, eso me limitaría a la hora de manejar el robot, pues tengo que hacerlo en tiempo real. De todas formas, eso que hace el netcat, es lo que mi programa haría (con algunos cambios). Siento haber pueso un ejemplo malo. Todo sería tener el server en el router y hacer un sondeo con el programa del pc a la puerta de acceso predeterminada (192.168.X.X) y comprobar respuesta, más o menos lo que hace el netcat, sólo que me ahorro el paso por stdin y actúo directamente sobre los datos.

De todas formas será mi primera opción el netcat, y si no me dá la gana de programar lo otro, pos me quedaré con él.

pspCaracas escribió: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.


Pos me pondré con C :D

pspCaracas escribió: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.


Sin problema.

pspCaracas escribió:Como tal al crear la imagen de OpenWrt estás compilando el Kernel, módulos y aplicaciones para que sean cargados en el firmware.


Sip, aunque prefiero hacer cambios de más bajo nivel :lol:



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 »

Quizás mi ejemplo de nc fue malo...ya que nc abre una conexión entre ambos lados y la deja abierta, por lo que podrás escribir de un lado y aparecerá del otro. Es decir, no tienes que estar haciendo polling sobre el puerto.

Quizás lo correcto sería:

PC (IP: 192.168.1.100):

Código: Seleccionar todo

tuprograma | nc -l -p 3333 


Esto ya abre el puerto 3333 en el servidor para que se establezca la conexión.

Router:

Código: Seleccionar todo

nc 192.168.1.100 3333 > /dev/ttyS0


El router se pega al puerto 3333 del PC y redirecciona la salida de tu programa el dispositivo serial.

Cuando en el PC termine tu programa, termina la coneción con netcat, y por ende se deja de escribir en el router. Si en el PC el programa escribe cada X tiempo, en el router se escribirá en el puerto serial cada X tiempo.

EDITO:

Con esto no tendrías que programar NADA en el router, ya que tu programa en el PC hablaría con el puerto serial directamente.
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ó:Quizás mi ejemplo de nc fue malo...ya que nc abre una conexión entre ambos lados y la deja abierta, por lo que podrás escribir de un lado y aparecerá del otro. Es decir, no tienes que estar haciendo polling sobre el puerto.

Quizás lo correcto sería:

PC (IP: 192.168.1.100):

Código: Seleccionar todo

tuprograma | nc -l -p 3333 


Esto ya abre el puerto 3333 en el servidor para que se establezca la conexión.

Router:

Código: Seleccionar todo

nc 192.168.1.100 3333 > /dev/ttyS0


El router se pega al puerto 3333 del PC y redirecciona la salida de tu programa el dispositivo serial.

Cuando en el PC termine tu programa, termina la coneción con netcat, y por enede se deja de escribir en el router. Si en el PC el programa escribe cada X tiempo, en el router se escribirá en el puerto serial cada X tiempo.

EDIITO:

Con esto no tendrías que programar NADA en el router, ya que tu programa en el PC hablaría con el puerto serial directamente.



Gracias, pero no era un ejemplo malo, te había entendido perfectamente. Para empezar será lo que use, pero parte del mérito para mi es programar, así que consideraré igualmente crear mi propio programa, aunque al final no lo necesite ;)

Si tengo algún problema, ya sé a donde acudir (si no molesto).

Muchísimas gracias por todo. Iré comentando mis progresos con el asunto.
... 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 »

Es que programar te va a tocar. En el lado de PC debes lanzar los comandos, y en el lado del microcontolador interpretarlos...

A la orden siempre que se pueda (y tenga el tiempo) :)
http://farm3.static.flickr.com/2497/3983880148_f5ae0aaab2_o.png

Avatar de Usuario
m0skit0
Administrador
Administrador
Mensajes: 5585
Registrado: 03 Sep 2009, 09:35
Ubicación: 0xdeadbeef

Re: OpenWRT

Mensaje por m0skit0 »

Intersante idea Yn$an€, lástima que me haya fijado tarde. Ten en cuenta que usar netcat no te supone realmente mucha pérdida de tiempo. Más tiempo vas a perder reenviando paquetes 802.11 créeme :lol:

Ya nos vas comentando.
Imagen

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

Re: OpenWRT

Mensaje por Yn$an€ »

Ok. Actualizaciones en cuanto pueda, que los exámenes vienen de vuelta :lol: .


Bueno, oWRT ya está instalado. El netcat funciona sin problemas (si descontamos que se está testeando con un servidor que gestiona una red y tiene 3 tarjetas y un dominio configurado, al que se accede mediante el escritorio remoto, de ahí que surjan algunos fallos) y voy a empezar con la capa de la aplicación en Java, si me sobra tiempo implementaré la conexión también. Traiciono momentáneamente a C en pro de la obtención mayor dominio con el primero.

Gracias a todos por la ayuda.
... after all, we're all alike.

Responder