Archivo de agosto 2009

Bueno, pues se acaban las vacaciones … Han sido 3 semanas durante las cuales he aprovechado para descansar y desconectar (este año realmente lo necesitaba más que nunca) La primera semana nos quedamos en casa en Cardedeu (Barcelona). Fuimos algunos días a la playa (la tenemos a unos 15km de casa) y aproveché también algunas tardes para terminar cosas pendientes de ciertos negocios personales que tengo entre manos.

La segunda semana de vacaciones nos fuimos a Francia, dirección a Eurodisney. Alex, que ahora en Septiembre hará 4 años, llevaba 3 meses, desde que decidimos ir allí en vacaciones, nervioso con unas ganas tremendas de ir. Se le iluminaba la cara con una sonrisa de oreja a oreja cada vez que se lo recordábamos, así que el día que partimos hacia allí os podéis imaginar lo contento que estaba.

Quien me conoce bien sabe que no me gusta nada volar y evito los aviones siempre que puedo, así que, aprovechando que Sonia tenía desde hace tiempo ilusión por visitar algunos castillos del Valle del Loira (Francia) pues fuimos en coche haciendo algunas etapas. El primer día visitamos e hicimos noche en Limoges, un lugar conocido por su bonita porcelana. Entre nosotros, mi un rollo patatero. El siguiente día fue más entretenido pues visitamos un par de bonitos castillos. Por la mañana visitamos el castillo de Villandry. Un castillo muy curioso y famoso por sus jardines, de hecho los llaman los jardines de Francia. Lo que más me sorprendió de sus jardines es que parte de ellos están hechos con verduras (si, lechugas, coliflores, …) y la verdad es que la armonía del conjunto quedaba muy bien. Ese castillo puede visitarse en cualquier estación del año y en cada una de ellas presenta, obviamente, un aspecto diferente.
 

jardines-villandry

 
Por la tarde visitamos otro castillo, el castillo de Chenonceau.  Un castillo más grande que el de Villandry y también con bonitos jardines (aunque no tan curiosos como el anterior). Este castillo, además de ser bonito y de tener un interior muy cuidado con mobiliario de la época, tiene como característica peculiar que está construido sobre un lago, al menos parte de él.
 
Lee el resto de esta entrada »

Comments No Hay Comentarios »

En muchas aplicaciones con módems GPRS es necesario almacenar datos dentro del propio módem. Ya vimos hace un tiempo cómo crear ficheros dentro de la memoria Flash del módem gprs, trabajando como si fuese una unidad de disco.

¿Que qué tipo de aplicaciones? pues por ejemplo una aplicación podría ser un datalogger, ó un tracker GPS, o cualquier otra aplicación que precise de ir guardando un log (un fichero) con ciertos datos capturados periódicamente. Evidentemente si estamos trabajando con módems GPRS es para transmitir los datos en algún momento. Cuando llegue el momento de transmitir vía GPRS los datos almacenados en el módem a un servidor central, en función del tamaño del fichero de datos que estemos manejando, puede ser bastante interesante comprimir los datos antes del envío.

¿Por qué puede ser interesante comprimir los datos?

Pues básicamente por dos motivos. Uno es por el ahorro de tiempo en el proceso de envío. El otro es por cuestiones económicas, pues, recordemos, en la mayoría de los casos los operadores de telefonía facturan por volumen de tráfico, es decir, cuantos más datos transmitamos más pagaremos.

compression-j2me

www.blogElectronica.com

¿Y cómo comprimo ficheros con J2ME?

Pues lo primero que se nos suele ocurrir a todos es empezar buscando si J2ME tiene alguna clase que nos facilite esta tarea. Lametáblemente pronto uno se da cuenta de que no, que J2ME no tiene estas clases debido a sus limitaciones (recordemos que j2me está pensado para dispositivos con poquitos recursos). En cambio J2SE (java standard edition) sí que las tiene. Con la edición completa de java basta con usar el paquete java.util.zip. para gestionar fácilmente la compresión de archivos. Viendo esto último, lo siguiente que a uno se le ocurre es “pues venga, voy a ver si puedo adaptar estas clases de J2SE para intentar que me funcionen en J2ME”. Pero tras unas horas gastadas en el intento uno acaba viendo que no va a ser tarea fácil, pues se utilizan ciertas clases nativas de Zlib.

Así que toca ponerse a investigar alternativas … Poca cosa aparece en Internet googleando acerca de la compresión con J2ME y mucho menos si buscamos algo relacionado con compresión y módems GPRS, así que creo que en este post aterrizarán bastantes navegantes. Bueno, tras buscar un rato, uno llega al proyecto JZLib (en la web http://www.jcraft.com/jzlib/) un proyecto de software libre donde han realizado una re-implementación de ZLIB. Podéis obtener toda la información que queráis de esa web, yo no voy a entrar en detalles.

¿Y funciona? ¿Podemos comprimir archivos dentro del módem usando esa librería?

Pues sí, funciona :)

A continuación os voy a poner un ejemplito java que funciona en un módem TC65 ó MTX65.  Lo podéis descargar haciendo click aquí. El ejemplo básicamente lo que hace es comprimir el texto:  “en la granja de mi tia iaiaooooooooooooooooooooooooo” :) y guarda el resultado final, es decir, el texto comprimido, en un fichero (en la memoria flash interna del módem) con el nombre “datos.z”.  Si véis el código fuente del proyecto podéis ver que he puesto todos los archivos .java de la librería de compresión en el mismo proyecto. Obviamente se podría haber utilizado como librería pero para que nadie se me pierda y pueda probar el ejemplo sin dificultad lo dejo así.

¡Funciona!  Me ha comprimido el texto en un archivo. Pero si luego saco el archivo comprimido del módem con el MES y me lo llevo a mi PC no soy capaz de descomprimirlo con el WinZip.

No va a funcionar con WinZip puesto que únicamente se ha creado un fichero con los datos comprimidos, es decir, ZLIB comprime el archivo pero si quieres utilizar el winzip tendrás que construir la estructura de los ficheros ZIP, con sus cabeceras y demás. (http://www.pkware.com/products/enterprise/white_papers/appnote.html).

Uff, que difícil lo de las cabeceras ZIP. ¿No se puede descomprimir de otra forma?

Pues sí, con un descompresor ZLib. Pero eso lo pondré en otro post dentro de unos días (el Domingo seguramente). Intentaré poner un programita hecho en VB6 (con código fuente, por supuesto, para que lo podáis utilizar) que sea capaz de descomprimir los ficheros generados por el módem.  De esa manera tendréis todo lo necesario para poder  comprimir un archivo con el módem, enviarlo vía GPRS y descomprimirlo después en nuestro servidor.

Bueno, espero que os haya interesado el post y que os sea útil algún día, me voy a cenar. ;)

Etiquetas: , , , , , ,

Comments 8 Comentarios »