Posts Tagged “tc65”

Algunos de vosotros ya conocéis la existencia del nuevo módulo GSM/GPRS de Cinterion de nombre TC65i-X, otros muchos no, así que hoy voy a comentar un poco los aspectos más relevantes de este nuevo e interesante módulo.
Como digo el nombre del módulo es TC65i-X y es, básicamente y como puede deducirse de su nombre, un módulo TC65i con algunos cambios. Estos cambios son tanto a nivel de hardware como a nivel de software, todos ellos positivos.

¿Y cuales son los cambios a nivel hardware?

Pues básicamente es cambio es uno y para mi el más importante de todos, incluidos los cambios de software. Como sabéis el módulo gsm/gprs TC65i es programable en Java (J2ME). Este módulo cuenta con unos 400KB de RAM y 1.7MB de Flash. El nuevo módulo TC65i-X aumenta mucho esa capacidad llevando la memoria RAM hasta los 2MB y la memoria flash hasta los 8MB (divididas en 2 particiones de 4MB).

Esto obviamente es importante. Aquellos, entre los que me incluyo, que desarrollamos aplicaciones grandes siempre nos llega un momento en el que tenemos que ir programando con mucha cautela ya que la memoria RAM del TC65i es algo limitada para algunas aplicaciones. Con 2 MB de memoria Ram la cosa cambia mucho y ahora es posible realizar aplicaciones java grandes y complejas sin ningún tipo de problema.  De forma análoga puede ocurrir con la memoria Flash, ahora de 8MB.

tc65i-x

¿Y a nivel software, qué cambios tenemos con el nuevo módulo TC65i-X?

Pues bastantes. Voy a poner aquí las que me parecen más relevantes.

1.- Soporte, por fin, para poder trabajar con el Entorno Eclipse y MES con versiones Windows 64 bits. Esto es, Vista 32/64 bits y Windows7 32/64bits. Básicamente es debido a la nueva versión MES 2.7.0.0 ya disponible.

2.- Inclusión de ciertas APIs java para el manejo del GPS (por si conectamos un módulo GPS a uno de los 2 puertos serie del módulo TC65i-X).

Lee el resto de esta entrada »

Etiquetas: , ,

Comments 7 Comentarios »

Hace ya mucho tiempo que tengo la plataforma OTAP activa. Desde entonces ha sido utilizada para hacer miles del OTAPs. Como sabéis un OTAP es el proceso que permite actualizar remotamente las aplicaciones java que embebemos en nuestros módems Siemens/Cinterion. Hoy presento la versión 2.0 de este software que es similar a la versión 1.0 pero presenta algunas diferencias importantes.

La primera es que ya no depende de mi servidor www.otap.es.   Ahora el software incluye un pequeño servidor TCP/IP para gestionar las respuestas OTAP. Es decir, como sabéis, cuando un proceso de OTAP finaliza (bien o mal) si la conectividad GPRS es correcta envía una notificación (petición POST) a un servidor web indicando el resultado de la operación. En la versión 1.0 esta notificación era enviada por el módem siempre a www.otap.es mientras que en esta versión 2.0 podéis especificar vuestro servidor de confirmación OTAP o bien utilizar esta misma aplicación (v2.0) como servidor de confirmación. También la he preparado para ello.

Si os fijáis en la siguiente captura de pantalla:

 otapv2-1

  Lee el resto de esta entrada »

Etiquetas: , , , ,

Comments 10 Comentarios »

Bueno, ya estoy aquí de vuelta de vacaciones. Esta Semana Santa he pasado unos estupendos días en Cáceres con la familia (ahí reside gran parte de mi familia por parte de Madre). Hacia ya muchos años que no iba y ya echaba de menos  el jamoncito, las torrijas, …  a la familia :) . La verdad es que me lo he pasado muy bien y espero no tardar tanto tiempo en regresar.

Bueno, vamos a lo nuestro … hoy vamos a ver la implementación de un WebServer.

En ocasiones puede resultar interesante incorporar un pequeño web server en nuestros módems gprs TC65 ó MTX65. Resulta cómodo conectarse directamente al módem con un navegador y consultar algún parámetro. Pues bien, hoy os pongo un ejemplo que he hecho, algo más largo de lo habitual y que me llevó cierto tiempo en su día, y que implementa eso: un pequeño y simple (muy simple) WebServer. Sirva este ejemplo también como ejemplo de Socket Server. No recuerdo a qué usuario de este blog le dije que en breve pondría un ejemplo de Socket Server en java. Pues aquí está.

El ejemplo que os cuelgo aquí  es una parte de uno de mis proyectos al cual le he quitado muchas cosas, entre ellas parte del control de errores, para que no sea tan extenso y sea más entendible. Creo que lo es bastante. De todas formas al quitar código es posible que haya alguna variable o instrucción que no sea necesaria, no me he puesto a revisarlo todo al 100%, sólo que funcione correctamente.

Blog de Electrónica Avanzada

  Lee el resto de esta entrada »

Etiquetas: , , , ,

Comments 12 Comentarios »

Posiblemente en alguna ocasión tengas que hacer un programita en Java para un módem Cinterion TC65 o XT65 en el que tengas que capturar datos (entradas digitales, analógicas, posiciones GPS, capturas realizadas por el puerto serie …) y almacenarlas en un fichero interno de la flash para su posterior envío a un servidor central.

Hoy os cuelgo un pequeño ejemplo en Java para hacer la segunda parte, el envío de los datos por FTP a un servidor central.

Hace ya mucho tiempo puse unos posts con muchos ejemplos java, entre ellos ( http://www.blogelectronica.com/ejemplos-java-j2me-modem-gprs-siemens/ ó http://www.blogelectronica.com/j2me-ftp-cinterion-tc65-xt65-mtx65-tc65t/ ).

En este último también había un ejemplo de FTP. Este de hoy es más elaborado, pues permite subir directamente un archivo almacenado en la memoria flash de nuestro módem a un servidor vía FTP. El proyecto y código fuente del ejemplo lo puedes descargar de aquí­.

FTP J2ME

Para probarlo sin complicaciones haz lo siguiente paso a paso. Crea un fichero de nombre “datos.txt” con los datos que quieras en su interior y grábalo en la memoria FLASH de tu módem TC65 / XT65 (en el directorio raí­z). Después importa el proyecto de ejemplo desde Eclipse. Abre el fichero FtpHandle.java, en él verás que se leen algunas variables del fichero EjemploFTP.jad

Lee el resto de esta entrada »

Etiquetas: , , , ,

Comments 13 Comentarios »

Últimamente me han preguntado bastante en relación a la memoria RAM de los módulos gprs TC65 y XT65 (y sus correspondientes terminales) así que voy a poner un pequeño artículo en relación a este tema.

Como sabéis el módulo TC65 tiene un total de 400KB de memoria RAM y 1.7MB de memoria FLASH. Es evidente que la memoria flash, FFS (File Flash System, el sistema de archivos) estará en parte ocupada por nuestra aplicación java (es decir, por los ficheros .jad y .jar) y por todos aquellos archivos extra que necesitemos para nuestra aplicación así como los propios archivos generados por nuestra aplicación java, es decir, ficheros con logs, históricos, etc etc …

Blog de Electrónica Avanzada

Bueno … con 1.7MB puedo hacer un programa inmenso y me sobra ¿para qué me voy a perder el tiempo leyendo esto?

Es cierto que puedes hacer programas bastante grandes pero va a depender mucho de cómo los hagas y de las herramientas que estés utilizando. Si no estructuras bien tu programa puedes llegar a tener problemas serios de memoria.

Lee el resto de esta entrada »

Etiquetas: , , , ,

Comments 8 Comentarios »

Como comenté hace ya tiempo,  Cinterion (antigua Siemens) sacó los nuevos módulos gprs TC63i y TC65i que son totalmente compatibles con los modelos anteriores TC63 y TC65 pero más potentes y económicos. Cuando digo compatibles me refiero a que podemos sacar del conector de nuestra placa el módulo TC65 e insertar el nuevo TC65i y funcionar sin problemas.
 
La única pega, si es que puede considerarse pega pues realmente es todo lo contrario, es que tanto el TC63i como el TC65i son de dimensiones bastante menores que las de sus antecesores, son, digamos, menos largos. Eso hace que uno de los taladros de sujección del módulo a la PCB (donde se pone la torreta y el tornillo de sujección) quede en una posición distinta en los nuevos módulos “i”. En la mayor parte de los casos es factible una simple modificación de la posición del taladro en el PCB de nuestro diseño.

Pero como sabemos todos los que nos dedicamos a la electrónica en ocasiones aparece Murphy … y seguro que justo donde tenemos que poner el nuevo taladro ya tenemos un molesto componente :) . En este caso, bueno, pues obviamente la primera posibilidad es modificar el diseño del PCB y ruteado de la placa para despejar la zona del taladro. Otra solución es la que presento ahora aquí y es utilizar un clip especial de sujección (distribuido por Matrix) que fija completamente el módulo TC63i/TC65i al anterior taladro del TC63/TC65. Es muy fácil de usar y queda pero que muy bien sujeto.

Como una imágen vale más que mil palabras aquí os pongo un gráfico aclaratorio:
 

clip-tc65-tc65i

Lee el resto de esta entrada »

Etiquetas: , , ,

Comments 7 Comentarios »

Hoy me gustaría presentar un nuevo producto GSM/GPRS orientado a labores de telecontrol y telemantenimiento, que como seguro sabéis todo esto está a la orden del día (y cada vez lo va a estar más). El nombre del equipo que voy a presentar hoy es MTX-Tunnel-Advanced y está basado en un terminal gprs MTX65. Es un equipo que podéis encontrar en la web modemsgsm.com, web perteneciente a la empresa Ditecom, que es la única empresa distribuidora de este equipo.

Para quien se lo pregunte, pues sí, el firmware de este equipo lo he realizado yo (proyecto que me propuso realizar hace un tiempo esta empresa y el cual yo acepté. No he tenido inconvenientes en realizar el proyecto al estar éste realizado sobre un terminal gprs MTX65 basado en un módulo Siemens/Cinterion TC65).
 
Pero veamos cuales son las prestaciones de este equipo. Como suelo hacer a menudo presentaré el equipo por el método que más me gusta, el de pregunta / respuesta.
 
 
¿Para qué sirve el dispositivo MTXTunnel-Advanced?
 
El módem MTX-Tunnel-Advanced es básicamente un gateway serie-GPRS, lo que permite poder conectar vía GPRS (ó GSM) con cuaquier dispositivo con puerto serie RS232 evitando desplazamientos. Lo mismo que podrías hacer conectando un cable serie RS232 a un equipo , lo puedes hacer de forma remota a través de GPRS. Como digo está pensado para labores de telemantenimiento remoto o simplemente para dotar de conectividad GPRS a equipos que sólo dispongan de un puerto serie RS232 y además sin necesidad de inteligencia ninguna (máquinas de vending, contadores (de electricidad, gas, agua, … ), estaciones metereológicas remotas, básculas, equipos de huertos solares, etc etc etc
 
 

mtx-tunnel-advanced

 
 
¿La configuración del equipo es muy complicada?
 
En absoluto, es muy sencilla. Dispones de un software de configuración (para Windows) con la ayuda correspondiente en el mismo programa para cada parámetro de configuración.
  
 
¿Y cómo funciona? ¿El MTX-Tunnel-Advanced es quien se conecta a un PC servidor vía GPRS (modo cliente) o es él quien espera recibir conexiones (modo servidor)?
 
De las dos maneras.

En modo cliente, el módem MTX-Tunnel-Advanced, al conectarle alimentación, lo que hace es conectarse automáticamente a un PC servidor con una IP (o una DNS) y puerto determinados (los que hayas configurado). Una vez establecida la conexión con el PC servidor, todos los datos que le llegan desde el PC servidor por el socket TCP/IP a través de GPRS, el MTX-Tunnel-Advanced los saca por el puerto serie, y viceversa, todos los datos que entran por el puerto serie del MTX-Tunnel-Advanced son enviados vía GPRS hacia el PC servidor.

En módo servidor, el módem MTX-Tunnel-Advanced se conecta a GPRS y se queda a la escucha por un determinado puerto TCP (configurable) a la espera de recibir una conexión externa. En el momento que reciba dicha conexión se comporta igual que en el caso anterior. Lo que le llega por GPRS lo emite por el puerto serie RS232 y viceversa.
 
  Lee el resto de esta entrada »

Etiquetas: , , , , ,

Comments 9 Comentarios »

Hace unas semanas puse un post sobre compresión de archivos en j2me con los módems Cinterion TC65 y XT65.  Puse un ejemplo de cómo comprimir archivos para posteriormente realizar una conexión GPRS y enviar así menos datos (más barato y más rápido).

Quedaba pendiente el tema de la descompresión de archivos. Es decir, si con un módem gprs comprimimos un archivo y lo enviamos a un servidor central, luego, en este servidor, en algún momento tendremos que descomprimir el archivo para poder procesar los datos.

Esto puede hacerse de manera sencilla (en Windows) usando una DLL gratuita de nombre zlibwapi.dll.

compression-j2me

Con esta librería es muy sencillo crear un programa de descompresión de datos. Aquí os dejo un programa muy simple hecho en VB6 que permite comprimir (de la misma manera que lo haría el módem) y descomprimir archivos. Es un programa muy simple de uso de esta DLL que os comentaba.

Espero que os sea de utilidad.   ;)

Etiquetas: , , ,

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 »

Aquí cuelgo para quien lo necesite la versión 1.1 (beta por el momento) del software OTAP para la actualización remota del software java de los módems gprs Siemens / Cinterion, como comentaba en un post anterior.

Lo podéis descargar haciendo click aquí.

He añadido algunas cositas con respecto a la versión previa 1.0.  Por ejemplo, quien quiera probar/usar la aplicación y no tenga un servidor HTTP para poner sus archivos JAD y JAR le dejo usar mi servidor.  Para ello fijáos en la pantalla principal de la aplicación:
 

otap-v1-11

 
Arriba, a la derecha, puedes ver un botón “Upload”. Si haces click en el aparerá una pantalla como esta:

otap-http

 
Aquí basta con que selecciones tu fichero JAD y tu fichero JAR y pulses el botón que indica “Subir archivos”.  Los archivos se subirán automáticamente a:  http://www.otap.es/temp/  y será la ruta (URL Jad) que deberás indicar en la aplicación (como puedes ver en la primera imagen de este post).
 
¿Qué no tienes ahora ningún fichero .JAD y .JAR para probar la aplicación?   No te preocupes, aquí te pongo unos. Cuando te bajes los ficheros abre con el bloc de notas el fichero .JAD y fíjate en la ruta del fichero .JAR, te lo comento para que lo tengas en cuenta cuando generes los tuyos, que la ruta al fichero .JAR debe ser correcta.
 
Espero que te sea útil la aplicación. ;)


Puedes comentar este post en el nuevo Foro (click aquí)

- (6) Posts
Etiquetas: , , , , , , ,

Comments No Hay Comentarios »