

MTXGpsTunnel. Tunel GPS-GPRS.
Escrito por blogElectronica en 2.DISPOSITIVOS (práctico), 4.PROGRAMACIÓN, Comunic. GSM/GPRS, gateways, GPSHace 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).
El MTXGpsTunnel está pensado para funcionar sobre el MTX65+G v3, que es la evolución del anterior MTX65+G y del que por cierto hablaré en muy pocos días comentando las novedades.
Realmente la aplicación MTXGpsTunnel puede correr tanto en este nuevo MTX65+G v3 como en la versión anterior del MTX65+G, el único requerimiento es que el módem XT65 sea versión 2 (de la que posteé hace pocos días), así que quien quiera probar lo que voy a poner a continuación ya sabe, a actualizar el firmware de la v1 a la v2. La aplicación final sólo funcionará junto a un MTX65+G v3, pues irá en un pack.
Muy bien, ¿y cómo funciona todo esto?
Como es versión beta os cuelgo un firmware demo que hay que instalar en el MTX65+G para quien quiera probar lo que será el MTXGpsTunnel. Como digo, es una versión demo (es decir que en lo que cuelgo no hay licencia) pero atención porque caduca, es decir, este firmware demo debería funcionar perfectamente durante este año 2008, pero dejará de funcionar al empezar el año 2009. Tiempo más que suficiente para hacer pruebas También puede serviros aquellos que simplemente queráis evaluar el nuevo MTX65+G v3 y después queráis desarrollar vuestra propia aplicación.
Probando la aplicación. Paso a Paso.
A continuación os voy a poner paso a paso todo lo que hay que hacer para probar el MTXGpsTunnel.
1.- Conseguir un MTX65+G v3. (en su defefecto también vale una versión previa del MTX65+G pero siempre con la versión 2.0 de firmware en el XT65).
2.- Descarga el firmware demo del MTXGpsTunnel que cuelgo aquí.
3.- Cuando descargues el zip encontrarás 2 ficheros: MTXGpsTunnel.jar y MTXGpsTunnel.jad. Con el bloc de notas edita el fichero MTXGpsTunnel.jad. Dentro encontrarás estos parámetros:
GPRS_apn: airtelnet.es
GPRS_login: vodafone
GPRS_password: vodafoneMTX_Login: Jose
MTX_Password: 12345678
MTX_PIN: 1234
MTX_secondsGPS: 10
MTX_GPSBuffer: offTCP_IP: 217.127.77.55
TCP_port: 20010
En los parámetros GPRS_apn, GPRS_login y GPRS_password especifica los adecuados para el operador de tu tarjeta SIM.
En los parámetros MTX_Login y MTX_Password puedes especificar el Login y password que quieras. El MTXGpsTunnel utilizará éstos para logarse en el servidor. En MTX_PIN especifica el PIN de la tarjeta SIM (si es que tiene PIN). En MTX_secondsGPS especifica cada cuantos segundos quieres que se envíe la posición GPS por GPRS (puedes especificar un valor entre 5 y 255 segundos). En MTX_GPSBuffer puede ser “on” o “off”. Si especificas “on”, en caso de no poderse realizar la conexión GPRS, las tramas GPS se almacenan en RAM y se enviarán cuando pueda establecerse la conexión (el buffer es de 1024 tramas). Por defecto está a “off”.
En los parámetros TCP_IP y TCP_port especifica la dirección IP y puerto TCP donde se enviarán las tramas GPS. (Te aconsejo que como puerto dejes el 20010)
4.- Utilizando el software gratuito MES (el que utilizas para cargar tus aplicaciones en los módems) graba los ficheros MTXGpsTunnel.jar y MTXGpsTunnel.jad que acabas de editar dentro del módem.
5.- Configura el módem MTX65+G con los siguientes comandos AT:
at^scfg=”Userware/Autostart”,”",”1″
at^scfg=”Userware/Autostart/AppName”,”",”A:/MTXGpsTunnel.jar”
at^scfg=”Userware/Autostart/Delay”,”",”10″
at^scfg=”Userware/Watchdog”,”1″
6.- Bájate e instala un software que he hecho y que te ayudará a testear el MTXGpsTunnel y que te cuelgo aquí. Es un software muy muy simple, no son más que unas pocas líneas de código hecho en Visual Basic 6.0 para que todo el mundo lo entienda. Aquí tenéis también el código fuente del proyecto para quien lo quiera (no hay mucho control de errores porque es lo que es, un software de test). Este software de test te permitirá ver de manera sencilla como gestionar las tramas TCP que envía el MTXGpsTunnel. Este software utiliza el puerto TCP 20010, por eso te recomendaba antes utilizar este puerto en el parámetro TCP_port. Si quieres otro puerto deberás recompilar el proyecto.
7.- En tu router no te olvides de mapear (NAT) el puerto TCP 20010 hacia la IP del PC en el que has instalado el software anterior. Ten cuidado con que tu antivirus o firewall de Windows no te bloquee el tráfico TCP hacia el puerto 20010 en tu PC o no verás nada.
8.- Ejecuta el software de test del MTXGpsTunnelDemo.
9.- Con la antena GSM y la antena GPS conectadas y la tarjeta SIM insertada dale alimentación al módem MTX65+G.
10.- Si utilizas un MTX65+G v3 a los pocos segundos verás que el led del módem se torna de color rojo. Rojo indica que NO tiene una señal GPS válida. Si estás en una zona con buena visibilidad verás que al poco tiempo el led rojo se apaga y empezarás a recibir tramas GPS en el Software de Test. (Si no utilizas un MTX65+G v3 no verás el Led rojo, pues en las versiones anteriores el led no es tricolor. Tendrás que esperar a que lleguen las tramas).
Tramas enviadas por el MTXGpsTunnel
Como os comentaba el MTXGpsTunnel es una aplicación muy simple y las tramas que envía también lo son. Únicamente envía 2 tipos de tramas. Vamos a verlo con un ejemplo:
Trama1: #IT#1#Login#Password#FT#
Trama2: #IT#2#2008/10/25,21:02:24,41.6296008,N,
002.3611159,E,239,000.00,283.02,3#FT#
Todas las tramas empiezan con #IT# y acaban con #FT#. Hay dos tipos de tramas, la trama tipo 1 (de login) y la trama tipo 2 (la que envía la posición). Si la trama es de tipo 1 el inicio de la trama es #IT#1# y si es de tipo 2 el inicio de la trama es #IT#2#.
La trama1 (de login) se envía una única vez tras realizar la conexión. El programa servidor debería cerrar la conexión si el Login y el Password no coincice con uno esperado. En el software de test que os he colgado antes se acepta cualquier login y password, pues como digo, es un software únicamente de pruebas.
La trama2 (de posición) envía información separada por comas de: GpsDate, GpsUTCTime, GpsLatitude, N-S-Indicator, GpsLongitude, E-W-Indicator, GpsAltitude, GpsSpeed, GpsCourse, GpsStatus es decir, la misma que devuelve el URC ^SGPSP del XT65.
Algunos detalles:
1.- Para hacer zoom en el software de test primero hay que hacer es clic con el ratón en uno de los botones de la zona superior derecha del mapa (cosillas del Google Maps). Después el zoom lo puedes hacer con la ruedecita del ratón.
2.- Para ver las marcas sobre el mapa y no sólo las tramas hay que hacer clic en “Activar marcas en pantalla”. La razón de por qué no muestra las marcas por defecto es porque la aplicación de test utiliza “execScript” para ejecutar scripts sobre el OCX del Explorer y puede ser que algún antivirus “lo bloquee”. Si te fallan las marcas por lo menos que puedas ver las tramas, que es lo más importante.
3.- Cuando veas una marca en pantalla si quieres puedes hacer clic con el ratón en ella, verás información sobre la marca.
4.- Si más adelante quieres cambiar un parámetro del fichero .jad arranca el módem sin tarjeta SIM. La aplicación, si al arrancar no detecta la tarjeta SIM se abortará y podrás utilzar el MES sin problemas para acceder a los archivos del módem.
Resultados.
Al final, si todo va bien, deberías ver algo como lo que muestro en las siguientes capturas de pantalla.


Por cierto, una maravilla esto de Google Maps, la verdad es que te deja cotillear un poquito. Entre otras cosas te deja ver quien tiene piscina y quien no. Por lo que veo me confundí, me tenía que haber comprado un piso en el edificio de al lado
En fin, espero que os resulte interesante, otro día más.
Post relacionados:
- MTX-Tunnel-Advanced. Gateway GPRS-RS232 avanzado. Hoy me gustaría presentar un nuevo producto GSM/GPRS orientado a...
- MTX-Tunnel – Gateway GPRS-RS232 Como dije ayer, hoy voy a presentar un nuevo producto...
- Gateway Bluetooth-GPRS Desde hace ya un tiempo quería escribir un post acerca...
- Lectura autónoma de dispositivo ModBus RTU y envío de datos por GPRS A continuación muestro un ejemplo práctico de cómo leer dispositivos...
- Plataforma OTAP para módems gprs Siemens – Cinterion Hace tiempo que no escribo en el blog. Han sido...
Etiquetas: gateway, gprs, gps, modem, rs232
Hola , Necesito lo siguiente , poner un modem + gps al cual me pueda yo conectar y solicitar su posicion .
¿ Que me recomiendas ?
Gracias
Hola Antonio,
pues claramente un MTX65+G, eso sí, tendrás que hacer un pequeño programita en Java. De hecho depende de como lo quieras tienes ejemplos de java en el blog para solicitar la posición GPS a través de un SMS. Hacerlo con una conexión GPRS también es muy sencillo.
Salu2
¿Y no existe la posibilidad de que publiques el código fuente? Sería realmente bueno para aprender
Hola McLarenX,
de entrada no, publico muchas cosas y mucho código fuente, pero nunca el código completo de una aplicación, casi vendible, de forma gratuita.
Salu2.
Totalmente entendible. Pero si no me equivoco sería básicamente algo así:
1. Crear ATListen para recibir tramas GPS pada X tiempo
2. Comprobar que está posicionado (esto es lo que no sé hacer, porque empieza con tramas de 1980 a las 00:00:00 con posición en el ártico y esas no debería enviarlas ¿no?)
3. Crear conexión mediante socket (user, pass, apn, ip, puerto…)
4. Enviar tramas de posición real por GPRS
Si estos son los pasos correctos, que creo que sí, ¿podrías orientarme con el punto 2? A lo mejor existe algún comando AT que hace esa comprobación y no lo conozco.
Muchas gracias y enhorabuena por el blog.
He conseguido echar a andar la aplicación.
Antes de nada darte mi enhorabuena así como las gracias por darnos la posibilidad de aprender a través de tus ejemplos.
Me estoy encontrando con el problema de que no me muestra las marcas en la pantalla (aunque si las tramas). He probado a desactivar el antivirus y sigue sin funcionar. ¿Qué puede estar pasando?
Gracias!
Hola Jose,
esta es una versión un tanto antigua de un pequeño software de localización muy simple. En breve pondré algo infinítamente mejor. Respecto a lo de las marcas esto lo hice usando execScript, ya que era una simple demo y me resultaba sencillo. Tendrás que investigar un poco en esa línea, en porqué no se ejecuta en tu PC execScript. De hecho tienes el código fuente del proyecto que te facilitará la labor.
Como te digo esta aplicación está muy obsoleta y en breve pondré un artículo con algo muchísimo más completo y mejor.
Salu2
Hola, tengo una duda …. me meti en esto sin tener bases de java, o modems o gprs… :s
Quisiera saber que es mejor conexion por socket o por http? (quiero enviar la posicion que obtiene el mtx65 a mi pagina web)
Hay alguna alternativa a estas dos?
Saludos
Hola Lina,
hombre, lo normal es usar o sockets o envidar los datos a una web. Aunque otros usan SMS para el envío de posiciones, pero es un caso muy puntual. Lo normal es socket o web.
Salu2
necesitaria recibir y conectarme a travez de un dispositivo en cada movil, son varios miles de ellos , podria andar tu programa? ,la administracion tendria que ser aqui en la argentina, es para un ente estatal
Hola Manuel,
mi programita funciona sobre los módems GPS: MTX65+G, si estás interesado en ellos no tienes más que comentarme, pero si estás pensando en cargar el programita en los móviles pues no, no te vale el programita.
Salu2