Archivo de la Categoría “Comunic. GSM/GPRS”


Hace tiempo ya hablé de la pasarela GPRS-RS232 MTX-Tunnel-Advanced, un software similar al MTX-Tunnel convencional, pero con muchas más prestaciones. Recordando éstas un poco por encima son:

  • Software embarcable sobre un MTX65, TC65T, MTX65+G, MTX-IND y los módulos TC65, TC65i y XT65. En breve también sobre el MTX65-ULP (módem de ultrabajo consumo).
  • Funcionamiento en modo socket cliente o socket servidor (es decir, el módem puede iniciar una conexión o esperar una conexión remota).
  • Conexión GPRS siempre permanente o activable mediante SMS o llamada perdida
  • Posibilidad de reset automático cada 24h.
  • DynDNS (para no pagar por una IP fija al operador)
  • GPRS y GSM (se puede acceder tanto vía GPRS a un puerto serie RS232 remoto como mediante una llamada GSM, esto último obligatorio para los operadores de energía en aplicaciones de metering. La llamada GSM tiene prioridad sobre GPRS).
  • Firewall GSM (puede escogerse si el acceso vía GSM puede hacerse desde cualquier número de teléfono o sólo desde los autorizados).
  • Firewall GPRS (puede escogerse si el acceso vía GPRS puede hacerse desde cualquier IP o sólo desde las autorizadas).
  • Envío automático de SMS ante cambio de entrada digital
  • Cambio de estado de salida digital (o relé en el caso del MTX-IND) mediante SMS.
  • Ejecución de comandos AT remotos (lectura remota de la cobertura, lectura de entradas digitales, lectura remota de conversores A/D …)
  • Posición GPS remota del módem (aunque no tenga GPS el módem se puede obtenerse una posición GPS aproximada en función de la estación de telefonía más próxima)
  • Cambio de configuración remota (permite cambiar de forma remota la configuración del puerto serie deñ módem, dyndns, …)
  • Pasarela quasi-transparente Coronis para aplicaciones de metering y telemetría (MTX-IND con tarjeta wavecard embarcada). Próximamente.
     

modem gsm gprs metering contadores

 
Hoy voy a exponer brevemente una pequeña utilidad de nombre Remote AT Command. Sirve básicamente para poder ejecutar sobre el MTX-Tunnel-Advanced comandos AT remotos, pero también para poder cambiar la configuración del módem de forma remota, también para poder obtener la posición GPS del módem (aunque no tenga GPS) de forma aproximada (¿os acordáis?) y en breve, para aplicaciones de metering. Esta utilidad ha gustado mucho a empresas con proyectos de telegestión de contadores de energía (lo cual, como creador, me ha alegrado mucho en todos los sentidos).

Lee el resto de esta entrada »

Tags: , , ,

Comments 11 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 »

Tags: , , , ,

Comments 13 Comentarios »

Hoy voy a hablar de un nuevo módulo anunciado recientemente por Cinterion, el nuevo módulo EU3. Es un módulo tan nuevo que, como podréis comprobar visitando la web de Cinterion, todavía ni siquiera hay información pública descargable, como es el propio datasheet.

Así que voy a comentar este interesantísimo módulo EU3 (presentado recientemente en la feria del Metering en barcelona hace ahora justo 2 meses) pero sólo en base a la poca información disponible.


¿Qué es el EU3?

El EU3 es un módulo UMTS que permite trabajar tanto en las bandas de GSM (GPRS/EDGE) como en 3G. Una característica a destacar es que también está preparado para su uso en la nueva banda
UMTS900.

cinterion-eu3


¿Y que es esto del UMTS 900, no es UMT2100?

Desde hace ya un tiempo se está trabajando en el nuevo UMTS900. Y es que trabajar en esta banda implica numerosas ventajas tanto desde el punto de vista técnico como económico.

Desde el punto de visto técnico es mejor porque ofrece una mayor cobertura y penetración que el actual UMTS2100, lo cual es ideal para dar cobertura en zonas rurales e incluso en ciudades, donde al tener una capacidad de penetración mayor la cobertura en edificios es mejor.

Lee el resto de esta entrada »

Tags: ,

Comments 6 Comentarios »

Hoy vamos a hacer un experimento de localización GSM, seguro que te resulta interesante. Así que corre, ves a buscar un módem Cinterion, el que sea, un TC65, XT65, HC25 … o un terminal MTX65, MTXH25 … que vamos a empezar.

Como seguro sabéis Google tiene un servicio (que está pontenciando con Android, su nuevo Sistema Operativo para móviles) para la locaclización por celdas GSM. Es decir, por ejemplo, te va a permitir, mediante una aplicación en el móvil, saber qué amigos tienes a tus alrededores. ¿Y cómo hace eso? Pues detectando si algún amigo tuyo está dentro de la misma celda GSM (o próxima) a la que estás tú.
  
 
¿Y cómo sabe Google si una celda está próxima a otra?
 
Pues porque es Google y ya sabes que Google todo lo sabe. :)  Realmente es porque tiene una gran base de datos con las coordenadas GPS de todas las antenas de telefonía.

Si dáis un vistazo a la web:
http://www.codeproject.com/KB/mobile/DeepCast.aspx

veréis que esos chicos explican muy bien cómo funciona este servicio de Google y ya se han dedicado a investigar qué datos hay que pasar a esta API de Google (concretamente a http://www.google.com/glm/mmap) y lo más importante, cómo hay que hacerlo pára que ésta devuelva las coordenadas (latitud / longitud) de una determinada antena de telefonía.
 
Si leéis con atención el artículo veréis que son necesarios obtener los siguientes datos de una antena GSM para obtener dicha posición:

Cell Tower ID
Location Area Code (LAC)
Mobile Network Code (MNC)
Mobile Country Code (MCC)

 
¿Y cómo obtener esos datos con nuestros módems? En el artículo habla de RIL Windows Mobile, …
 
Eso es porque el artículo piensa en teléfonos móviles. Nosotros vamos a pensar en nuestros módems Cinterion. Afortunadamente estos estupendos módems cuentan con comandos que nos permiten obtener tales datos. Por ejemplo uno de ellos es:

AT^MONI

 
¿Ya has ejecutado el comando? Venga …

Si lo has ejecutado verás que obtienes unos datos, en mi caso:

chann rs  dBm MCC MNC  LAC cell NCC BCC PWR RXLev  C1 I chann TS timAdv PWR  dBm Q ChMod
18 21  -89 214  07 0335 5A0C   1   0  33  -103  13 I    No connection

 
Pues bien, de aquí podemos extraer que:

Cell Tower ID = 5A0C
Location Area Code (LAC) = 0335
Mobile Network Code (MNC) = 07
Mobile Country Code (MCC) = 214

 
Muy bien, con estos datos ya podemos llamar a la página siguiente y ver el resultado. Hacer click en el enlace de Test y luego, en los valores de los parámetros de la URL (mcc, mnc, lac,cid) substituir los que yo os pongo (que son los que obtengo desde mi casa :) ) por los vuestros y volver a cargar la página:

Test de localización GSM
  

localizacion-gsm

Lee el resto de esta entrada »

Tags: , ,

Comments 21 Comentarios »

Hoy voy a hablar de unos nuevos módulos de Cinterion de los que no he hablado hasta ahora. Se trata de la familia de módulos GSM/GPRS LGA.

 
Que bien, ¿y qué es eso de LGA?

Pues LGA significa Land Grid Array y es un tipo de encapsulado para montaje superficial, parecido a BGA. Para quien quiera saber más click aquí.

 
¿Y por qué LGA y no BGA?

Bueno, la elección no ha sido fruto de un capricho. Los ingenieros de Cinterion antes de decantarse por una u otra tecnología para su nueva gama de módulos de montaje superficial realizó cientos de pruebas y tests con las diferentes tecnologías existentes. De entre las analizadas la que mejor resultados aportó (para minimizar el tamaño del módulo, para tener el mejor contacto posible en los pads, por cuestiones térmicas, etc ) fue la LGA y por ello fue la escogida.

Si queréis saber más sobre LGA y por qué se escogió frente a BGA podéis ir a:

http://www.lga-modules.com

y hacer click en el menú “COMPARATION LGA VS BGA“. Veréis que los chicos de Cinterion se lo han currado bien. Una página además muy atractiva visualmente.

 
Por cierto, otro enlace muy interesante también es:

http://www.cinterion.com/lga-mounting.html

donde podéis ver un ejemplo de proceso de montaje LGA. Una visión bastante interesante y práctica.

 

cinterion-lga

 
Lee el resto de esta entrada »

Tags:

Comments No Hay Comentarios »

Hoy ya había empezado a escribir un artículo escrito pero al final he cambiado de parecer y he preferido hacer un pequeño vídeo presentación de un nuevo terminal gprs que seguro a más de uno le interesa y que va a ser muy conocido dentro de un tiempo.
 
Se trata del nuevo terminal de Matrix, el modelo MTX-IND,  un terminal basado en el potente módulo de Cinterion TC65i que como ya seguro todos sabéis es un módulo gprs que permite embeber aplicaciones en java y basado en un ARM9 como ya comenté hace unos meses.
 
Lo veréis en el vídeo que os he preparado, pero para ir abriendo boca os adelanto que es un módem gprs carril DIN, programable en java, con 2 puertos serie RS232/RS485/RS422, salidas de relés, entradas / salidas digitales optoaisladas, conversores ADC (0-2.4V / 4-20mA), USB, y algo más MUY interesante (todavía no disponible) que sólo podréis ver en el vídeo ;)
  
Pues nada, aquí os dejo el vídeo, espero que os guste.

www.blogElectronica.com

Comments 10 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 »

Tags: , , , ,

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 »

Tags: , , ,

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 »

Tags: , , , , ,

Comments 9 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. ;)

Tags: , , , , , ,

Comments 8 Comentarios »