¿Qué es el MTXTunnel?

El MTXTunnelv5 es un software que puedes solicitar a Matrix instalado dentro los siguientes módems de la familia MTX  (MTX65i, MTX65IND, MTX65ULP y MTX65+G). De ahí los nombres MTXTunnel-65i, MTXTunnel-IND, MTXTunnel-ULP y MTXTunnel-65g.

mtxtunnel5

¿Para qué sirve el software MTXTunnel?

Las funcionalidades básicas del MTXTunnel son dos:  permite realizar una pasarela Serie-GPRS y gestiona telemetrías (entradas digitales, analógicas y relés) por GPRS.   La pasarela transparente Serie (RS232-RS485) / GPRS te permite controlar cualquier dispositivo serie (tenga inteligencia o no) de la misma manera a como lo harías si tuvieras un cable serie físicamente conectado en el equipo. Si buscas eso, substituir un cable serie por una conexión GPRS, el MTXTunnel es la solución que necesitas. Si necesitas monitorizar entradas digitales o analógicas, cambiar relés a distancia, enviar SMS de alarma ante el cambio de una entrada digital etc etc, el MTXTunnel también es la solución que estás buscando.

Hablemos ahora de la característica de pasarela transparente Serie-GPRS.

Un escenario como este, en el que tienes un equipo serie conectado a tu PC para poder leer / escribir datos en el equipo …

cable-serie

… con la pasarela transparente GPRS-Serie MTXTunnel, el anterior escenario se convierte en uno como el mostrado a continuación. Tu PC sólo debe realizar una conexión TCP/IP con el MTXTunnel y todo lo que envíes por esa conexión TCP/IP el MTXTunnel lo reenviará por el puerto serie hacia el dispositivo a controlar. Y al revés, todo lo que el dispositivo a controlar envíe al MTXTunnel por el puerto serie, será reenviado tal cual hacia tu servidor vía GPRS. Será como si tuvieras conectado el equipo a tu PC.

pasarela-serie-gprs1

¿Es necesario otro MTXTunnel en el lado del PC Servidor?

Depende. Por lo general, en el 99% de los caso no.

Si el software de control del PC lo vas a realizar tú o bien este software ya incluye la opción de conexión con el equipo remoto vía TCP/IP ó UDP no será necesario colocar un módem en el lado del servidor, simplemente introduzce en el software del PC la IP y puerto TCP del MTXTunnel remoto y tu PC podrá realizar la conexión a través de Internet sin problemas y enviar datos directamente a tu equipo serie remoto.

Si el software del PC no tiene la opción de conexión con un equipo vía IP y la única opción que te permite es seleccionar un puerto COM, tampoco es necesario usar un módem en el lado del servidor. Existen drivers gratuitos para Windows que permiten emular un puerto serie. Instalado este driver, en tu PC aparecerá, por ejemplo, el “COM virtual 10″ que puedes redirigir hacia la IP y puerto TCP del MTXTunnel. Tú sólo tienes que seleccionar este COM virtual en las opciones del software del PC. Contacta con Matrix para más información sobre los drivers serie virtuales recomendados.

Por último, si lo que realmente necesitas es un “cable serie-replacer” puro, por ejemplo, porque vas a comunicar 2 equipos RS232 entre sí, y ninguno de ellos es un PC, es decir, ninguno cuenta con sistema operativo y por tanto sin la posibilidad de instalar un driver de COM virtual, entonces sí necesitarás usar 2 MTXTunnel, uno en cada extremo. En este caso el gráfico del escenario resultante sería algo como:

cable-serie-replacer1


¿La conexión la debe iniciar siempre el PC? ¿No es posible que el MTXTunnel sea quien se conecte al PC?

El MTXTunnel puede funcionar en modo TCP Server, TCP Client y UDP.

En modo TCP Server el MTXTunnel permanece a la espera de conexiones entrantes, es decir, espera que un equipo remoto (como por ejemplo un PC) se conecte a él para establecer la pasarela transparente GPRS-Serie.

En modo TCP Client es el MTXTunnel quien se conecta a la IP y puerto de un PC Servidor para establecer la pasarela transparente GPRS-Serie.

En modo UDP, protocolo NO orientado a conexión, el MTXTunnel simplemente espera paquetes llegados vía UDP para reenviarlos por su puerto serie y viceversa, espera datos en su puerto serie para enviarlos vía UDP hacia un PC.

Entonces, ¿debe permanecer el MTXTunnel conectado permanentemente a GPRS, ya esté configurado como TCP Server, TCP Client o UDP?

No es necesario. Si tu aplicación lo requiere puede estar el 100% del tiempo conectado a GPRS. Recuerda que en comuncaciones gprs los operadores no suelen facturar por tiempo, sino por volumen de datos.

Si no necesitas que el MTXTunnel esté el 100% del tiempo conectado a GPRS, sino que necesitas que se conecte sólo en un momento puntual, debes saber que el MTXTunnel 5 puede activarse en las siguientes situaciones:

1.- Por una llamada perdida desde un número de teléfono autorizado
2.- Por un SMS desde un número de teléfono autorizado con la palabra “on”
3.- Por una activación de una entrada digital del MTXTunnel
4.- Por un valor fuera de márgenes de una entrada analógica
5.- En función de unas fechas/horas programadas (hasta 10)
6.- Cuando hayan datos serie (sólo en modo TCP Server).

¿Y cuanto tiempo permanecerá activo el MTXTunnel conectado a GPRS?

Un parámetro de nombre GPRS_timeout te permitirá especificar los minutos tras los que, de no detectarse tráfico GPRS, el MTXTunnel cerrará la sesión.

La opción que más me interesa es la de que los MTXTunnel se configuren como TCP Server para así conectarme a ellos periódicamente desde mi PC situado en las Oficinas Centrales.  ¿Necesito una tarjeta SIM con dirección IP fija?

 

 No es imprescindible. Dispones de varios mecanismos para averiguar la dirección IP de un equipo remoto en el caso de usar una tarjeta SIM con dirección IP dinámica (no fija).  Si realizas una llamada perdida o envías un SMS con la palabra “on” al MTXTunnel, éste te devolverá otro SMS con la dirección IP asignada en ese momento por el operador de telefonía.

ip-dinamica-sms1

El nuevo MTXTunnel v5 también soporta DynDNS. El servicio de DynDNS te permite que una DNS del tipo “odem1.dyndns.org” apunte siempre a la IP que tenga el MTXTunnel en cada momento. Puedes crearte una cuenta gratuita en la Web www.dyndns.org .

El problema es que en mi escenario voy a usar cientos de MTXTunnel y no es posible utilizar SMSs ni llamadas perdidas para averiguar las direcciones IPs.  Tampoco quiero usar DynDNS, pues resulta muy tedioso la gestión de estas cuentas además de costar dinero, ya que únicamente es posible crear unas pocas cuentas de manera gratuita. ¿No puedo  hacer que los MTXTunnel informen a un PC de mi oficina cada vez que alguno cambie su dirección IP?

 

 Sí, es posible. Habilitando un parámetro de configuración puedes hacer que los MTXTunnel informen a un PC que tengas en tu oficina. Cada vez que un MTXTunnel obtenga una nueva dirección IP se la comunicarán a dicho PC, enviando una trama a través de una conexión socket TCP/IP con el IMEI (código identificativo y único de cada módem), un texto configurable por ti y la nueva dirección IP.

rs232-gprs-dyndns1

¿Y no podría enviar la nueva IP a un servidor Web? Me sería mucho más sencillo, ya que estoy mucho más familiarizado con servidores Web que con los sockets TCP/IP y no me costaría nada crear una página ASP o PHP para ir almacenando, en una Base de Datos, las direcciones IP que me vayan enviando los MTXTunnel. ¿Es esto posible?

Es posible.  Si lo prefieres puedes hacer que los MTXTunnel informen de su nueva IP a un servidor WEB mediante una petición HTTP GET (una URL + parámetros).

Veo que es posible pedir el MTXTunnel instalado en varias plataformas, concretamente en los módems  MTX65i, MTX65IND, MTX65ULP y MTX65+G.  ¿Cuándo debo usar una plataforma u otra?

 

 Para la mayor parte de aplicaciones te servirá el módem MTX65i.  Si necesitas que la comunicación serie sea RS485 o necesitas poder controlar relés a distancia, o leer sensores 4-20mA, el módem recomendado es el MTX65IND.  Si en la aplicación que vas a realizar el consumo es crítico y el módem debe permanecer completamente apagado (consumiendo 2uA) en todo momento excepto en situaciones / momentos puntuales, el módem recomendado es el MTX65ULP.  Si en cambio necesitas una pasarela serie-gprs pero además necesitas conocer la posición GPS del módem, el módem adecuado es el MTX65+G.

Hablas de relés y entradas analógicas. ¿Es que además de la pasarela GPRS-Serie el MTXTunnelv5 tiene otras funcionalidades?

 

 Efectivamente. En paralelo a la pasarela Serie-GPRS el MTXTunnelv5 puede controlar entradas y salidas digitales, entradas analógicas, relés, gps, buses I2C, SPI, …

Por ejemplo, con el MTXTunnelv5 puedes leer remotamente el estado de una entrada digital, o bien conmutar remotamente un relé.

El MTXTunnelv5 también puede enviar automáticamente cada X segundos el estado de todas las entradas/salidas digitales o posición GPS a un PC Servidor (o un servidor WEB) o por UDP, o por SMS, o controlar remotamente un sensor SPI ó I2C …

Y por ejemplo, ¿el control de un Relé la podría hacer desde un PC desde mi oficina, enviando un “comando AT” mediante una conexión TCP/IP contra el MTXTunnel?

 

 Sí, pero además del envío del comando AT por TCP/IP, hay otras maneras. Puedes enviar un comando AT vía TCP/IP o lo puedes enviar por cualquiera de los puertos serie del módem, o incluso por SMS.  Además puedes conmutar un relé o leer un estado de una entrada digital y/o analógica del MTXTunnel desde tu propia una página Web (consulta el manual de la API de este manual y los escenarios de ejemplo del Anexo).

Entonces, si no he entendido mal, como puedo enviar comandos AT desde mi móvil con un SMS, también podría conmutar un relé por SMS ¿no?  De todas maneras, enviar un comando AT por SMS es poco práctico, ya que no son intuitivos.

 

 Es posible enviar comandos AT por SMS y por tanto conmutar, por ejemplo, un relé.  Pero no es necesario enviar el SMS. El MTXTunnelv5 soporta ALIAS de usuario, es decir, puedes definir que un SMS con el texto “RELE1ON” sea interpretado por el módem como el comando “AT^SSIO=0,0” que hará conmutar el Relé1.  Puedes crear hasta 10 ALIAS.

Según leo en las especificaciones de los módems soportados, el MTX65i, el MTX65IND y el MTX65ULP disponen de 2 puertos serie. ¿Podría llegar a controlar 2 dispositivos serie RS232 con un único módem y una única tarjeta SIM?

 

 Sí, puedes hacer eso.  El MTXTunnelv5 te permite controlar 2 equipos RS232, uno por cada puerto serie y con una única tarjeta SIM. Para ello el MTXTunnel creará 2 túneles GPRS-Serie corriendo en paralelo.  Recuerda que los módems MTX65i y MTX65ULP sólo disponen de las líneas TX y RX en el puerto serie secundario, por lo que no es posible usar una comunicación serie con control de flujo (líneas RTS y CTS) en el segundo puerto serie. En los ejemplos del anexo encontrarás un ejemplo de esta configuración.

gprs-serie-2-dispositivos1

Y respecto al montar el MTXTunnel sobre un MTX65+G con GPS, ¿para qué sirve? ¿puedo usarlo para hacer mi sistema de localización de flotas por GPS?

 

 Para hacer un sistema de control de flotas profesional, no. La posibilidad de montar el MTXTunnel sobre un módem MTX65+G está pensada para que en un momento dado pueda leer la posición GPS de la ubicación del MTXTunnel. Es decir que siempre pueda saber donde está el módem, ya sea solicitándolo por IP, por WebServer, Telnet, SMS …

Y sí, también podrías programar el MTXTunnel, si está montado sobre un MTX65+G, para enviar la posición GPS de forma automática periódicamente cada X segundos, pero el MTXTunnel no guarda logs con las posiciones GPS en su memoria interna. Es decir, en caso de no haber cobertura GPRS y no poder enviar la posición GPS en un momento dado, las posiciones que no puedan enviarse en ese momento no se almacenarán internamente para un envío posterior. De ahí que sólo pueda ser usado para un control de flotas muy básico, ya que un sistema de control de flotas guarda dichas posiciones GPS para enviarlas cuando haya cobertura GPRS. El MTXTunnelv5 no está concebido para ser usado como dispositivo de control de flotas.

Veo que el MTXTunnel 5 también cuenta con un WebServer. ¿Para qué sirve?

 

 Con el pequeño WebServer que incluye podrás, desde cualquier PC conectado a Internet, leer el estado de las entradas/salidas digitales y analógicas y cambiar el estado de las salidas digitales o relés.
También podrás ver y modificar los parámetros de configuración del MTXTunnel de forma remota, así como ejecutar comandos AT. Por ejemplo, si ejecutas el comando “AT+CSQ” podrás ver remotamente el nivel cobertura GSM que tiene en ese momento tu MTXTunnelv5.

¿Y el Telnet que veo que también tiene, para qué sirve?

Con Telnet puedes hacer básicamente lo mismo que con el WebServer. Puedes acceder por Telnet y ejecutar comandos AT remotos.  Está más pensado para poder controlar el MTXTunnel de forma remota a través de aplicaciones de terceros. Consulta el capítulo de Telnet y de la API del manual para más información.

Pero si activo el WebServer o el Telnet en Internet ¿puedo tener accesos no autorizados?

 

 El MTXTunnelv5 dispone de un firewall que puedes activar si lo necesitas. Con este firewall puedes hacer que el MTXTunnel no acepte ninguna conexión desde una IP que no sea una autorizada. Así no tendrás accesos no autorizados ni a los túneles GPRS-Serie, ni al WebServer ni al Telnet.

Eso es un problema, porque me interesa activar el Firewall en la pasarela GPRS-Serie, pero quiero poder acceder al WebServer, por razones de mantenimiento, desde cualquier PC, es decir, necesito tener acceso desde cualquier IP.

 

 En ese caso puedse desactivar el Firewall del WebServer, pero se recomienda proteger el WebServer del MTXTunnel con un Login y Password. El MTXTunnel puede trabajar tanto sin Login y Password (webserver público) como con Login y Password. Antes de que lo preguntes, lo mismo para el Telnet.

Volviendo al tema de los SMS, comentas que es posible controlar una salida digital o un relé por SMS, pero, ¿sería posible enviar un SMS de alarma cuando cambie una entrada digital?

 

 También.  Puedes configurar el MTXTunnelv5 para que envíe un mensaje SMS (hasta a 10 números de teléfono) con un texto configurable por ti cuando se detecte un cambio en una entrada digital.

En las prestaciones del nuevo MTXTunnelv5 hablas de, además del túnel GPRS-Serie, de túneles GPRS-I2C,  GPRS-SPI,  HTTP-Serie o incluso SMS-Serie. ¿Qué es eso? ¿Puedes dar un ejemplo de uso para hacerme una idea?

 

 Por ejemplo …

Tunnel GPRS-I2C: Podrías leer un sensor I2C de forma remota, por ejemplo, un sensor de temperatura.

Tunnel GPRS-SPI: Podrías, por ejemplo, escribir datos remotamente en una pantalla controlada por SPI.

Tunnel HTTP-Serie: Podrías, por ejemplo, construir una página Web con un formulario y todos los datos que envíes desde tu formulario Web al MTXTunnel, éste los reenviaría por el puerto serie hacia el dispositivo que tengas conectado al MTXTunnel. El MTXTunnel también recogería la respuesta del dispositivo serie y se la reenviaría como respuesta WEB a tu página Web.

Tunnel SMS-Serie:  puedes definir un texto clave, por ejemplo “MTX”, para que cuando envíes un SMS con dicha clave al principio, como por ejemplo un SMS con el texto “MTX12345”, el MTXTunnel reenvíe por su puerto serie “12345”, recoja la respuesta del dispositivo serie conectado al MTXTunnel y te la reenvíe por SMS.

Veo también que el MTXTunnelv5 puede usarse en la plataforma módem MTX65ULP, para aplicaciones de muy bajo consumo. ¿Básicamente, que me permite hacer?

 

 Pues básicamente te permite que el módem permanezca completamente apagado (apagado total, sin poder recibir SMS, ni llamadas, ni nada. Apagado) consumiendo 2uA hasta que ocurra un evento.
Este evento puede ser un cambio en una entrada digital, o bien que se despierte cada cierto tiempo. Por ejemplo, podrías hacer que el MTXTunnel se despierte cada 24 horas, envíe el estado de sus entradas digitales y analógicas y permanezca 5 minutos encendido por si hay que comunicarse desde un puesto central con un equipo serie conectado al MTXTunnel. Después volverá a apagarse durante 24 horas.
También es posible definir horarios. Por ejemplo, puedes hacer que el módem se despierte X minutos todos los días a las 10am, o sólo los días 1 y 15 de cada mes a las 8am y a las 8pm, o lo que necesites.

Indicas que el MTXTunnel se puede despertar a horas concretas ¿Eso quiere decir que tiene un reloj?

 

 El MTX65ULP cuenta con un reloj interno que es lo que le permite despertarse en un tiempo / fecha determinada.

¿Y no tiene derivas ese reloj? ¿Cómo voy a hacer que siempre esté en hora?

 

 El MTXTunnel v5 soporta la sincronización horaria por GPRS, de hecho es obligatorio su uso si utilizas el reloj del MTX65ULP.  De esa manera, cada vez que se conecta a GPRS, se conecta a un servidor de tiempo para sincronizar la hora y que siempre tenga la hora exacta (hora UTC).

gprs-sincronizacion-horaria1


Cuando indicas que el MTXTunnel, montado sobre un MTX65ULP, se despierta a una hora en concreta durante X minutos, ¿te refieres a que la pasarela GPRS-Serie estará activa durante ese tiempo?

 

 Durante ese tiempo el módem arrancará y hará todo lo que tenga configurado. Si tiene configurado un túnel GPRS-Serie lo activará, pero si tiene habilitado el WebServer se activará, lo mismo con Telnet, si tiene que enviar las entradas/salidas digitales, también lo hará durante ese espacio de tiempo.

Y con lo de seguridad SSL ¿A qué te refieres? ¿Cómo funciona?

 

 Para algunas aplicaciones muy sensibles puedes utilizar si lo deseas encriptación SSL. Mediante SSL tus datos viajan encriptados desde el MTXTunnel hacia tu PC, no siendo posible desencriptarlos con algún sniffer que hubiera dentro de la red LAN de TU PROPIA empresa.  Únicamente es posible usar SSL cuando el módem está configurado en modo TCP Client y el PC Servidor al que se conecte el MTXTunnelv5 esté preparado para soportar sockets SSL bajo las especificaciones:

TLS Protocol Version 1.0 como se especifica en RFC 2246.
SSL V3 como se especifica en The SSL Protocol Version 3.0
WAP(TM) TLS Profile and Tunneling Specification como se especifica en WAP-219-TLS-20010411-a

En cualquier caso, salvo que sea totalmente imprescindible, no se recomienda su uso, ya que la encriptación provoca un volumen de datos considerablemente mayor, lo que se traduce en una menor velocidad en la transferencia de datos.

Ya sólo una duda más, el tema de la API ¿Qué es? ¿Para qué sirve?

 

La API son básicamente comandos AT especiales pensados para que aplicaciones de terceros puedan integrar el MTXTunnelv5 en su sistema como un equipo propio.

Es decir, imagina que quieres crear un sistema para que tus clientes, desde tu propia página web, puedan acceder a dispositivos serie que estén conectados al MTXTunnel o simplemente que necesites conmutar un relé desde tu propia página web. La API te permitirá acceder a la configuración remota del MTXTunnel y al envío de comandos AT al mismo (por ejemplo, para conmutar un relé) sin que tus clientes tengan para nada que usar directamente los ficheros de configuración del MTXTunnel.

El nuevo MTXTunnelv5.0 tiene muchas opciones. Imagino que será muy difícil de configurar para un escenario concreto …

La nueva versión del MTXTunnelv5 ciertamente tiene muchas opciones, de hecho muchas más de las explicadas en estas breves FAQ, como podrás ver si lees la descripción de los parámetros de configuración del manual, pero su configuración no es realmente una tarea complicada.
En el manual tienes un detallado paso a paso de cómo realizar una primera configuración del MTXTunnelv5 para que, si no lo has utilizado nunca, te familiarices con él.

Lo más importante de la documentación lo tienes al final del manual, en el Anexo. Ahí encontrarás muchos ejemplos de escenarios, todos bien explicados y con la  configuración apropiada del MTXTunnel para su funcionamiento. Verás como en muchos casos lo único que tienes que hacer es buscar el escenario que más se asemeje a lo que necesitas y hacer poco más que un copy & paste de la configuración sugerida.

Y eso es todo. Cualquier duda que te haya quedado me la puedes comentar  y te ayudaré gustosamente. Aunque también me puedes enviar un email a mi correo profesional jgallego@matrix.es

Espero que haya sido interesante. Otro día introduciremos el nuevo MTXTunnel-GPS. Un aplicativo pensado exclusivamente para sistemas de Control de Flotas por GPRS/GPS.