Posts Tagged “xt65”
En muchas ocasiones podemos tener la necesidad de utilizar el FFS (File Flash System) de nuestros módems gprs Cinterion TC65 ó XT65 para realizar volcados de datos a ficheros. Ejemplo típico es el caso del XT65 y las posiciones GPS. Vamos leyendo las posiciones GPS cada X segundos y las vamos almacenando en un fichero para su posterior envío a la central. Ejemplos de este tipo hay muchos tanto para el TC65 como para el XT65.
Es fácil caer en la tentación de ir generando ficheros en la memoria Flash para el almacenaje de información. Creando ficheros y borrándolos cuando los consideremos procesados (por ejemplo, cuando los hayamos enviado por GPRS a la central o simplemente borrándolos cuando ya no los consideremos necesarios).
Realmente es la manera más sencilla de realizar una aplicación (creamos ficheros y los borramos cuando no los queremos) pero debemos tener precaución con esta técnica. Escribir datos en la memoria flash del módem no es problema, éstos se graban byte a bye (ya que la memoria FLASH de los Siemens es de tipo NOR que a diferencia de las tipo NAND la grabación puede hacerse incluso bit a bit. Con las NAND, más baratas pero también más malillas, la grabación es por bloques). El proceso de borrado, en cambio, SÍ es crítico, porque tanto con las NOR como con las NAND se realizan por bloques. El tamaño del cluster en la flash del módem es de 64KB, eso implica que cuando borramos un archivo realmente estamos borrando un bloque de 64KB. Así es, aunque borremos un fichero que tan solo contenga 100 bytes de datos en realidad estamos actuando sobre 64KB en la memoria flash del módem.

Lee el resto de esta entrada »
Etiquetas: cinterion, ejemplos java, mtx65, mtx65+g, Siemens, xt65
18 Comentarios »
Si desarrollas aplicaciones en Java para los módems gprs TC65, XT65 (o sus terminales MTX65 o MTX65+G distribuidos por Matrix), tal vez pueda interesarte en alguna ocasión debugar tu aplicación de la manera que te voy a indicar aquí.
Como ocurre (o debería ocurrir) al final del desarrollo de cualquier programa, hay una fase de test, una fase en el que se debe probar a fondo la aplicación en busca de cualquier tipo de error que hayamos podido cometer. Si lo errores en nuestra aplicación son fácilmente reproducibles los encontraremos de manera relativamente sencilla, pero en ocasiones puede haber errores que se deban a un cúmulo de cosas o debido a unas situaciones muy concretas que no se reproducen en el laboratorio y sí en la calle.
Depurar este tipo de problemas puede llegar a ser realmente complicado, ya que si se producen de forma muy ocasional son difíciles de localizar.

Lee el resto de esta entrada »
Etiquetas: cinterion, j2me, java, mtx65, mtx65+g, Siemens, tc65, xt65
2 Comentarios »
Si has trabajado alguna vez con los GPIO de los módems Cinterion TC65 o XT65 ( o sus terminales MTX) habrás comprobado que hay varias formas de trabajar con ellos. Hay comandos AT que nos permiten configurar un determinado GPIO como entrada o como salida y hay otros comandos AT que nos permiten saber el estado de un GPIO configurado como entrada (si hay un 1 ó un 0) o bien nos permiten cambiar el estado de una salida.
En uno de los ejemplos java que he ido poniendo por este blog, concretamente en el EJEMPLO_GPIO, utilizaba simplemente el comando AT^SGIO que devuelve el estado del pin en ese momento. Depende de la aplicación que queramos llevar a cabo puede ser suficiente con este comando AT, pero lo normal no es utilizar este sistema ya que la “frecuencia de barrido” que podemos conseguir es muy baja (además de cargar el sistema) y por tanto resulta muy complicado detectar cambios muy pequeños en el estado de un pin de entrada, es decir, que si por ejemplo tienes que detectar el pulso de detección de un volumétrico a lo mejor no lo cazas.

Lo mejor que puedes hacer para detectar los cambios de estado de las GPIOs es utilizar el polling. De esta manera el módem te devuelve un mensaje URC cada vez que se detecta el cambio en uno de sus GPIOs.
Veámoslo con un ejemplo. Imagina que quieres controlar las entradas GPIO1, GPIO2, GPIO3 y GPIO4 ¿Cómo lo hacemos?
Pues lo primero es habilitar los GPIOs, para ello enviamos:
AT^SPIO=1
Después configuramos los pines GPIO1, GPIO2, GPIO3 y GPIO4 como entradas, para ello:
AT^SCPIN=1,0,0
AT^SCPIN=1,1,0
AT^SCPIN=1,2,0
AT^SCPIN=1,3,0
Tras ello creamos un puerto, es decir, un puerto con todos aquellos GPIO que queramos involucrar en el polling:
AT^SCPORT=0,1,2,3
Al enviar este comando el comando AT nos devolverá un IDPort (un identificador de puerto), por ejemplo nos devuelve IDPort = 112
Y ya lo tenemos todo listo para activar el polling. Lo activamos haciendo:
AT^SCPOL=1,112
De esta manera cada vez que haya un cambio en una de las GPIO, el módem nos enviará un URC del estilo:
^SCPOL: 112, x
donde x puede valer de 0 a 1024, es decir, devuelve el estado de los 10 posibles GPIO que puedes controlar con el módem TC65.
Bueno, otro día más, ahora me voy a preparar la cena, que hoy dan CSI las vegas y es de la poca TV que veo en toda la semana. Y es que, la verdad, noto que cada vez me gusta menos la tele. ¿Me estaré haciendo mayor? :S
Etiquetas: cinterion, modem, tc65, xt65
9 Comentarios »
Tal vez tenía que haber puesto un artículo como el que voy a poner hoy hace ya tiempo, realmente es algo que he comentado bastantes veces en respuestas a preguntas de los usuarios de este blog. Es referente al tema del autobauding y el java.
Básicamente lo que quiero decir en este artículo se resume en una línea: si vas a usar java con un módem TC65 o XT65 (o los terminales MTX65 / MTX65+G) no utilices autobauding. Para quien no lo sepa, autobauding es una características de los módems, activable con at+ipr=0, que permite no tener que establecer una velocidad del puerto serie fija al módem, sino que éste, al recibir los primeros datos por el puerto serie “averigua” la velocidad de los datos y se configura para trabajar a esa velocidad).
Utilizar autobauding está muy bien en muchas circunstancias, es muy cómodo, pero puede inducir a errores cuando trabajas con Java. Y es que Java y autobauding no se quieren.
¿Y cuales son los problemas?
Pues los problemas son varios:
Etiquetas: cinterion, j2me, java, modem, mtx65, rs232, Siemens, tc65, xt65
No Hay Comentarios »
Hoy voy a comentar por encima un parámetro importante del comando AT^SCFG, posiblemente el comando más importante de los módems Siemens / Cinterion. El parámtro en cuestión es el AUTOEXEC, presente en multitud de módems de Siemens / Cinterion, como el TC65, TC63, XT65 y sus correspondientes terminales, el MTX65, MTX63 y MTX65+G distribuidos por Matrix.
¿Y a grandes rasgos, qué se puede hacer con autoexec?
Pues básicamente permite la ejecución automática de comandos AT. Por ejemplo permite ejecutar comandos AT al arrancar el equipo, o ante un determinado evento, o al cabo de x segundos tras arrancar el equipo, o incluso de forma periódica.
¿Y para qué puedo necesitar ejecutar comandos AT de forma automática?
Hombre, ejemplos y situaciones hay muchos. Se me ocurren varios. Imagina un MTX63 junto a un PLC que utilizas para conectarte en ocasiones a través de una llamada CSD desde la oficina para realizar alguna tarea de mantenimiento. En la mayoría de instalaciones que conozco con otros módems que no disponen de autoexec las tarjetas SIM no se configuran con PIN, por ejemplo por que si se va la luz no hay manera de introducir el comando AT+CPIN de nuevo para desbloquear el equipo. Con el autoexec puedes hacer que el equipo al arrancar automáticamente envíe el comando AT+CPIN. De esa manera evitas que alguien te pueda robar la SIM y utilizarla a discrección al no tener PIN.
¿Más ejemplos? pues por ejemplo te puede servir para resetear el módem automáticamente cada x horas. Hay usuarios que por seguridad utilizan programadores horarios externos para resetear los equipos 1 vez al día (cualquier marca de módem gsm, para evitar posibles problemas de red, …). Pues esta operativa es fácil de implementar con el parámetro autoexec para enviar el comando AT+CFUN=1,1 una vez al día.
Etiquetas: cinterion, mtx63, mtx65, Siemens, tc65, xt65
6 Comentarios »
En bastantes ocasiones me ha llegado la pregunta de cómo añadir más datos a un fichero ya existente dentro de la memoria flash de nuestros módems TC65 o XT65 (o de los terminales MTX de Matrix). Por ello hoy voy a poner un pequeño programa java para que ayude a quien no sepa cómo hacer esto. Es muy sencillo.
Básicamente consiste en utilizar el objeto OutputStream en lugar de DataOutputStream (DataOutputStream hereda de OutputStream) que seguro visteis en el post donde tengo la mayoría de los ejemplos java.
Vamos con el ejemplillo de hoy. Vamos a suponer que tenemos un fichero en el sistema de ficheros del módem de nombre “A:/fichero.txt” y con el texto “hola“, por lo que si no lo tienes, crea uno y ponlo dentro del módem.

Lee el resto de esta entrada »
Etiquetas: cinterion, ejemplo java, j2me, java, mtx65, Siemens, tc65, xt65
7 Comentarios »
Feliz nuevo año a todo el mundo. Mientras me bajo una demo del Warhawk para la PlaySation3que me han traido los reyes por ser muy bueno el año pasado ) voy a poner un pequeño artículo que posiblemente le resulte útil a más de uno en alguna ocasión.
El artículo es válido para los módems gprs TC65, TC63 y XT65 y para sus respectivos terminales MTX65, MTX63 y MTX65+G que son distribuidos en España por Matrix.
En ocasiones puede que nos sea neceario utilizar el AUTOEXEC del comando AT^SCFG, para temporizar tareas que queramos realizar. No voy a entrar ahora en detalle del comando AUTOEXEC , de que ya habñaré en breve en otro pequeño artículo. Pero digamos que queremos utilizar el AUTOEXEC para, por ejemplo, lanzar un programa java (comando AT^SJRA) a una hora determinada o para resetear el módem (AT+CFUN=1,1) cada x horas o para lo que queramos.
Lee el resto de esta entrada »
Etiquetas: cinterion, tc63, tc65, xt65
8 Comentarios »
Llevo casi un mes sin escribir en blogElectronica. Y es que por unas cosas o por otras me ha sido difícil encontrar tiempo estas últimas semanas … mucho trabajo, un proyecto personal que ha requerido mi atención más de lo habitual, una pequeña intervención en los párpados para quitarme unas manchitas (seguro que el otro día alguien se preguntó que me pasaba en los ojos ) y estos últimos días malito con gripe. A partir de ahora espero volver a lo habitual, un artículo cada semana más o menos.
Bueno, pues vamos con el tema, un artículo fácil para coger el ritmo. Vamos a ver un ejemplo de cómo obtener la fecha / hora en nuestos módems Siemens/Cinterion TC65 (por supuesto todo ésto vale para los terminales, como el MTX65, MTX65+G y TC65T).
Seguro que en alguna ocasión hemos tenido la necesidad de disponer de la fecha/hora actual en nuestro programa java para éstos módems. ¿Que para qué? Pues por ejemplo para guardar la hora en un log junto a unos datos, o para realizar alguna tarea a una hora concreta, …etc etc. Es decir, hay múltiples situaciones en las que es necesario disponer de la hora correcta. Como seguro sabéis, el TC65 dispone de una RTC, pero a menos de que dispongamos de una batería de backup para esta RTC (el MTX65 dispone de la huella para ella), al arrancar el equipo no tendremos la hora.
Lee el resto de esta entrada »
Etiquetas: cinterion, ejemplo java, hora, j2me, mtx65, mtx65+g, Siemens, tc65, xt65
15 Comentarios »
Esta mañana he estado un buen rato realizando pruebas de envío emails a través de comandos AT con ún módem Siemens TC65, por lo que aprovecho que lo tengo en mente para hacer un breve y rápido ejemplo java con ello, del estilo de los que hice hace un tiempo.
EJEMPLO_EMAIL (Download)
Descripción: Muestra una aplicación básica de envío de EMAIL con java para módems Siemens. Crea una conexión GPRS y envía una email a la dirección de email especificada. Tan sólo tenéis que modificar las líneas de código donde se indican el servidor SMTP, el login y password de tu cuenta de email, la dirección de email origen desde donde se envía el email y la dirección de email destino al que se envía el email.
Válido para los módems: TC65, XT65, TC65T, MTX65 y MTX65+G
Bueno, espero que os resulte de interés en alguna ocasión. Otro día más, buenas noches
Etiquetas: eclipse, ejemplos java, j2me, mtx65, tc65, xt65
39 Comentarios »
Desde la semana pasada está disponible el nuevo firmware del módem Siemens / Cinterion XT65 (válido también para el terminal MTX65+G). Concretamente es la versión 2.002 (la anterior, es decir, la que teníamos hasta hoy era la 1.001). Esta es una actualización únicamente de firmware, no de hardware, lo que significa que podemos actualizar nuestros XT65 y MTX65+G con esta nueva versión mejorada de firmware.
Para actualizar el firmware de un XT65 / MTX65+G v1.001 a la nueva versión 2.002 basta con solicitar la herramienta de actualización a vuestro distribuidor de Siemens/Cinterion, para el caso de España, Matrix Electrónica.
¿Incorpora muchas mejoras la nueva versión de firmware?
Pues sí, el nuevo firmware 2.002 trae consigo bastantes mejoras. No las voy a detallar todas (que es Sábado) pero sí que voy a enumerar las que para mí son las más destacables.
1.- Permite establecer el nombre del fabricante y el “USB vendor ID”. Ya sabéis, con el comando AT^SCFG podéis configurar el equipo para que cuando alguien conecte por USB el módem a un PC, el nombre que aparezca al detectar Windows el dispositivo no sea Siemens, sino el nombre de vuestra propia empresa o producto.
Lee el resto de esta entrada »
Etiquetas: cinterion, mtx65+g, noticias, Siemens, xt65
9 Comentarios »
|