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.
Hace tiempo que no escribo en el blog. Han sido unas semanas bastante intensas para mí en las que no he podido sacar apenas tiempo para nada, y es que el trabajo y algunos proyectos personales que quería llevar a cabo me han quitado todo el tiempo.
En cuanto al trabajo algunos ya sabéis por qué, pues hemos tenido la ocasión de vernos las caras. Para quien no lo sepa, he estado junto con tres compañeros (Jesús, Daniel y Carmen) trabajando en lo que llamamos en Matrix ”Jornadas Tecnológicas” (aunque nosotros lo conocemos internamente como RoadShow ) y que consiste en unas pequeñas charlas y sobre todo demostraciones prácticas de muchos tipos de equipos electrónicos y que en mi caso han sido equipos RF (equipos bluetooth, 868Mhz, Zigbee, …) Estuvimos en 6 ciudades, por orden fueron Zaragoza, Barcelona, Bilbao, Madrid, Valencia y Sevilla. En todos los sitios tuvimos la gran suerte de encontrar a gente superagradable e interesante. Y es de agradecer, porque estar cada día en un sitio distinto la verdad ha sido agotador.
Y como decía al principio también he estado acabando proyectos personales que tenía empezados desde hace bastante tiempo. El que voy a mostrar hoy es una primera versión de un software (o plataforma) para realizar OTAP en módems gprs Siemens/Cinterion. (Para los despistaos que no sepan que es un OTAP decir brevemente que es un proceso mediante el cual podemos actualizar remotamente (sin desplazamientos) los programas java que tengamos embebidos en nuestros módems gprs Cinterion TC65, XT65 o sus terminales MTX65 ó TC65T. Podéis encontrar más información aquí, pues he hablado otras veces).
Mediante esta plataforma es muy sencillo realizar un proceso de actualización remota (OTAP) a un módem o a un grupo de módems gprs (hasta 1000, si alguien necesita más que me lo diga). Básicamente lo que hace la plataforma es enviar los SMS apropiados y debidamente codificados en PDU a todos los módems a los que pretendamos actualizar el software y también se encarga de comprobar si el proceso de OTAP acabó de forma satisfactoria. Para esto último se apoya en un servidor que tengo contratado (todavía me faltan por acabar cosas) en www.OTAP.es
Como siempre digo, una imagen vale más que mil palabras, así que aquí pongo un vídeo que muestra de forma sencilla como funciona este software:
Debo decir que ésta es una herramienta que quien la necesite la puede usar de forma totalmente gratuita durante todo este año. A lo largo del año 2010, dependiendo del volumen de uso que tenga es posible que haga una versión gratuita (limitada en prestaciones) y una de pago. (Nada …, poquita cosa …, hace ya años que sé que no me voy a hacer rico con la electrónica, simplemente para compensar un poco las horas que he dedicado y porque el servidor tiene un coste y tampoco es plan que lo financie yo todo, que sino mi chica se me enfada )
La primera versión beta del software OTAP (v1.0) la colgaré enseguida, cuando acabe unos detalles que me faltan, pondré otro post. Espero que sea durante esta semana que empieza y que resulte de interés. Cualquier duda / sugerencia ya sabéis, me la contáis y encantado de poder ayudar.
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.
Esta mañana he hecho un test muy básico comparando la ejecución de un mismo programa en un módulo gprs TC65 (versión 3 de firmware) y en en el nuevo módulo TC65i, del que posteé hace un tiempo. Acordáos que el TC65 monta un micro ARM7 y el nuevo TC65i monta un ARM9.
Lo que he hecho es un programa supersencillo, simplemente para comparar de manera empírica y muy básica la velocidad de ambos módulos. Una vez compilado el programa lo he ejecutado en ambas plataformas (la misma compilación, no he recompilado nada).
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.
Hoy pongo un brevísimo post con un nuevo ejemplo Java para los Módems Siemens, continuación del post con ejemplos que puse hace algunos días. Iré poniendo de tanto en tanto más ejemplos que puedan seros de utilidad a los que empecéis. Si algún día tenéis alguno que queráis compartir que sepáis que será bien recibido
Descripción: Muestra una aplicación básica de FTP con java para módems Siemens. Crea una conexión FTP y crea un archivo de nombre “fichero.txt” en el servidor remoto con el contenido “123″. Tan sólo tenéis que modificar la línea del código donde se indica, por orden, el login, el password y el servidor FTP que queráis utilizar.
Válido para los módems: TC65, XT65, TC65T, MTX65 y MTX65+G
Un detalle que os quiero comentar de los ejemplos que puse el otro día. He puesto todos los ejemplos con el formato EJEMPLO_xxx. Pues bien, pueden ejecutarse perfectamente todos los ejemplos con el comando AT^SJRA, pero si ponéis ese nombre en “Userware/Autostart/AppName” del comando AT^SCFG para que la aplicación arranque automáticamente, no os arrancará. No pongáis el guión bajo (_) en el nombre de vuestros ficheros .jar para autoarranque.
Bueno, os dejo, que hoy es el cumple de mi chica y quiero montarle la Wii que le voy a regalar antes de que llegue a casa. Y no, no es un regalo boomerang, que yo soy más de PlayStation . La PS3 me la autoregalaré antes de final de año. Otro día más.
A lo largo de los últimos meses he ido poniendo toda una serie de ejemplos de programación de los módems gprs de Siemens (TC65 y XT65) y de los terminales (TC65T, MTX65 y MTX65+G) distribuidos ambos grupos por Matrix en España.
Hoy Sábado os pongo una batería de ejemplos también para éstos módems, ordenaditos para cuando los necesitéis . La mayoría de ellos los podréis encontrar en posts anteriores, aunque hay alguno que otro nuevo.
Son ejemplos rápidos, es decir, no gestiono completamente todas las excepciones ni mucho menos, pero desde luego, si estas empezando con estos módems, creo que pueden resultarte una buena guía. Verás como la inmensa mayoría de las aplicaciones que puedas llegar a hacer para proyectos reales están basadas en pequeñas tareas, que son las que muestro en los siguientes ejemplos.
Vamos allá, éstos son los ejemplos que os cuelgo en el blog: