Archivo de la Categoría “4.PROGRAMACIÓN”

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. 

 

navidad 2009

Lee el resto de esta entrada »

Etiquetas: , , ,

Comments 8 Comentarios »

Como vimos hace ya un tiempo, con las nuevas versiones de SDK de las nuevas releases de firmware de los módulos TC65 (versión actual 3.0), XT65 (versión actual 2.0) y TC65i (versión actual 1.0) se han incorporado nuevas clases java.

Meses atrás vimos la nueva clase Watchdog. Hoy voy a poner un pequeño ejemplo de uso de las nuevas clases InPort y OutPort que nos permiten de una manera muy sencilla poder gestionar los pines de entradas y salidas digitales de nuestros módems Siemens / Cinterion. ´

Programación java Siemens


EJEMPLO_GPIO_API
(Download)

Descripción: Para el ejemplo me he basado en el MTX65v3. Como sabéis este teminal dispone de 4 entradas y salidas digitales que son la GPIO1, GPIO2, GPIO3 y GPIO4.

En el ejemplo configuro la GPIO1 y GPIO2 como entradas y la GPIO3 y GPIO4 como salidas y presupongo que se unen directamente, mediante unos cables de conexión, los pines GPIO1 con GPIO3 y GPIO2 con GPIO4. En el ejemplo se van variando el estado de las salidas (GPIO3 y GPIO4) y se va mostrando por la salida estandard (System.out.println) el valor de las entradas (GPIO1 y GPIO2). En el ejemplo java podéis ver que está comentado el código línea por línea por lo que no me extiendo más por aquí. Si utilizáis un MTX65v3 y ejecutáis la aplicación, este debería ser el resultado:

Válido para los módems: TC65 (v3.0), TC65i, XT65 (v2.0) y MTX65v3

Espero que os resulte de utilidad. Otro día más.

P.D. suerte mañana día 22 a todos con la Lotería de Navidad, a ver si hay suerte y cae algo ;)

Etiquetas: , , , , ,

Comments No Hay 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.

RFC868

Lee el resto de esta entrada »

Etiquetas: , , , , , , , ,

Comments 15 Comentarios »

Hace ya bastantes meses que puse un post acerca del MTXTunnel, si recordáis, un firmware para el módem MTX65 que realiza la función de Gateway Serie-Gprs.

En esta ocasión os presento el MTXGpsTunnel, todavía en versión beta (todavía no disponible), que realiza la función de tunel GPS-Gprs. Es decir, un equipo en el que configurando unos parámetros muy básicos como son, entre otros, la IP y el puerto TCP de destino, envía la posición GPS de forma periódica a dicha IP y dicho puerto.

Que nadie se confunda, esto no es ni pretende ser ni de lejos un sistema de localización completo y acabado, sino un producto base sobre el que desarrollar aplicaciones muy básicas de localización, como pueden ser sistemas de balizas GPS u otras aplicaciones muy sencillas de posicionamiento. Está pensado para aquellas empresas desarrolladoras que no sepan sobre comunicaciones GPRS, necesiten hacer una aplicación de localización sencilla y quieran centrar el esfuerzo únicamente en el software de gestión del servidor. El MTXGpsTunnel no cuenta (ni contará) con gestión de roaming, ni posicionamiento a través de celdas de telefonía, ni ninguna otra característica avanzada y ni mucho menos con un software de gestión detrás.   Es decir, quien necesite implementar un sistema sofisticado de localización GPS deberá programar él mismo el módem. El MTXGpsTunnel es únicamente lo que decía antes, un tunel GPS-GPRS (lo comento antes de que nadie me hable de añadir otras prestaciones, que os conozco ;) , por que no puede ser, esto es lo que es, un equipo sobre el que desarrollar, ni por asomo pretendo hacer una aplicación para usuarios finales).

Satélite GPS

Lee el resto de esta entrada »

Etiquetas: , , , ,

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

Programación java Siemens


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: , , , , ,

Comments 39 Comentarios »

El otro día empecé unos capítulos de optimización de aplicaciones J2ME para nuestros módems gprs Siemens / Cinterion TC65 / XT65. Hoy voy con otra entrega que sigue el hilo al anterior, en lo referente a memoria y se trata de la creación de objetos.

En un lenguaje orientado a objetos como es el java en ocasiones tenemos tendencia a crear y utilizar más objetos de los que son realmente necesarios. Como dije anteriormente, en un PC de sobremesa no tiene mayor importancia, pero en un módulo embebido sí que lo tiene. Debemos intentar evitar crear objetos innecesarios, pues cada uno de estos objetos necesitan memoria y su creación además consume un precioso tiempo de CPU.

Además, cuantos más objetos creamos, mayor es la frecuencia en la que el Garbage Collector entrará en acción, lo que se traduce en una bajada de rendimiento de nuestras aplicaciones, pues es como tener otro thread funcionando en background.

Optimizar aplicaciones J2ME

  Lee el resto de esta entrada »

Etiquetas: ,

Comments 1 Comentario »

No es lo mismo realizar aplicaciones para un Core 2 Duo que para un módulo embebido, como puede ser un módem Siemens / Cinterion TC65 ó XT65. Cuando desarrollamos aplicaciones para PCs convencionales, aunque debiéramos intentar optimizarlas, no vamos a notar grandes diferencias si gastamos unos cuantos cientos de KBytes de Ram más o menos, pues a día de hoy casi todo los ordenadores tienen de 1GB de Ram para arriba ni tampoco es crucial si no está todo lo optimizado que pudiera estar el código, cuando estamos hablando de procesadores a 3GHz. Esto es cambio, sí es muy importante para pequeños dispositivos embebidos.

Para el caso de los módulos embebidos hay dos maneras básicas de incrementar el rendimiento de las aplicaciones. Una es tener cuidado con el uso de la memoria, evitando utilizar más memoria de la necesaria. La otra es el tiempo de ejecución del código que implementamos. Por ejemplo en java, al igual que en cualquier lenguaje orientado a objetos, la creación y destrucción de objetos necesita de tiempo de procesador, además de requerir memoria cada objeto instanciado.

Voy a poner una serie de posts breves, por capítulos, sobre cosas a tener en cuenta a la hora de realizar aplicaciones J2ME, para obtener un mejor rendimiendo de las mismas.

Optimizar aplicaciones J2ME

Lee el resto de esta entrada »

Etiquetas: ,

Comments 4 Comentarios »