[Jderobot] Configuracion en caliente mediante remoteConfig

franciscomiguel.rivas en urjc.es franciscomiguel.rivas en urjc.es
Mar Jul 23 12:20:26 CEST 2013


Buenas,
lo tengo que documentar todo pero te intento explicar por si tienes  
idea de trabajar con esto en verano.

Lo primero que tienes que tener es un parser de xml. Es decir, una  
clase de c++ que le puedas pasar un fichero de xml y que cargue la  
configuración guardada en ese xml en atributos de tu clase o en alguna  
estructura de datos. Hay librerías para hacer estos parseadores, yo  
utilizo libxml++, hay varios ejemplos por ahi de como se usa. Si  
tienes alguna duda dímelo y te paso algún ejemplo mío.

Una vez que tengas el parser puedes mandar un xml desde remoto  
utilizando el interfaz remoteconfig, que lo único que hace es mandar  
fichero xml completo utilizando interfaces de ice. Te adjunto el  
código del cliente y del servidor.


Ahora un paso más allá es el componente remoteConfiguration (todavía  
no está en jderobot, en estos días los subo al respositorio oficial).  
Que además de mandar el fichero xml desde remoto te permite crearlo  
fácilmente desde un GUI. Este gui lo crea desde un xml que tienes que  
completar, pero que simplemente es la jerarquía de tus variables y el  
tipo de variable. Ahora mismo solo hay dos tipos de variables:
1- input box que sería una variable numérica
2- toggle que sería para un booleano.

Te mando un ejemplo de un xml para la configuración del GUI de  
remoteConfiguration y otro con la salida del remoteConfiguration.


En resumen:
1. Crearte un parseador de xml (ojo que siga mas o menos la estructura  
de los xml de ejemplo que te mando)
2. Implementarte las funcionalidades del interfaz remoteconfig desde  
tus componentes (añadiendo cliente y servidor). Si var a utilizar el  
remoteconfiguration la parte del servidor casi te vale con el código  
que te mando ya que sólo tiene que mandar el fichero xml para probar  
que todo está bien.
3. Utilizar el componente de remoteconfiguration para crear y mandar  
el xml por ice.



Un saludo,
Fran.



"Alberto Martin" <almartinflorido en gmail.com> escribió:

> Buenas a todos,
>
> Voy a implementar la configuracion en caliente en ArDroneServer, se que
> esto está implementado en eldecare, pero no tengo acceso desde la web. En
> el repositorio de Fran he encontrado la interface remoteConfig.ice pero no
> la implementacion de los métodos, Fran ¿me podrias explicar como funciona?.
>
> Gracias
>



------------------------------------------------------------------
Laboratorio de Análisis del Movimiento, Biomecánica, Ergonomía y  
Control Motor (LAMBECOM).
Departamento de Fisioterapia, Terapia Ocupacional, Rehabilitación y  
Medicina Física.
Universidad Rey Juan Carlos (URJC).
------------ próxima parte ------------
Se ha borrado un mensaje que no está en formato texto plano...
Nombre     : config-client.cpp
Tipo       : text/x-c++src
Tamaño     : 1595 bytes
Descripción: no disponible
Url        : http://gsyc.escet.urjc.es/pipermail/jde-developers/attachments/20130723/fbefd669/attachment.cpp 
------------ próxima parte ------------
Se ha borrado un mensaje que no está en formato texto plano...
Nombre     : config-server.cpp
Tipo       : text/x-c++src
Tamaño     : 682 bytes
Descripción: no disponible
Url        : http://gsyc.escet.urjc.es/pipermail/jde-developers/attachments/20130723/fbefd669/attachment-0001.cpp 
------------ próxima parte ------------
Se ha borrado un mensaje que no está en formato texto plano...
Nombre     : myGUIconfig.xml
Tipo       : text/xml
Tamaño     : 401 bytes
Descripción: no disponible
Url        : http://gsyc.escet.urjc.es/pipermail/jde-developers/attachments/20130723/fbefd669/attachment.bin 
------------ próxima parte ------------
Se ha borrado un mensaje que no está en formato texto plano...
Nombre     : salida.xml
Tipo       : text/xml
Tamaño     : 346 bytes
Descripción: no disponible
Url        : http://gsyc.escet.urjc.es/pipermail/jde-developers/attachments/20130723/fbefd669/attachment-0001.bin 


More information about the Jde-developers mailing list