¿Qué es el MTXTunnel?

El MTXTunnel es un software que puede solicitar a Matrix instalado dentro los siguientes módems de la familia MTX  (MTX65i, MTX65IND, MTX65ULP, MTX65+G,MTX65IND2 y MTX65i-RS485)

¿Para qué sirve el software MTXTunnel?

La funcionalidad básica del MTXTunnel es que es una pasarela transparente GPRS/GSM – Serie (RS232/485).  Es decir, si dispone de equipos con un puerto serie y quiere controlarlos remotamente de igual forma a lo que lo haría si estuviera conectado físicamente con un cable serie a su PC, el MTXTunnel es la solución que necesita.

Es decir, un escenario como este, en el que tiene un equipo serie conectado a su PC para poder leer / escribir datos en el equipo …

… con la pasarela transparente GPRS-Serie MTXTunnel, el anterior escenario se convierte en uno como el mostrado a continuación.

Su PC sólo debe realizar una conexión TCP/IP con el MTXTunnel y todo lo que envíe 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 tuviera conectado el equipo a su PC.

¿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 usted 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 introduzca en el software del PC la IP y puerto TCP del MTXTunnel remoto y su 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 le 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 su PC aparecerá, por ejemplo, el COM virtual 100 que usted puede apuntar hacia la IP y puerto TCP del MTXTunnel. Usted sólo deberá seleccionar este COM virtual en las opciones del software del PC. Contacte con Matrix para más información sobre los drivers serie virtuales recomendados.

Por último, si usted necesita un “cable serie-replacer” puro, por ejemplo, porque va a comunicar 2 equipos RS232 entre sí, y ninguno 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á usar 2 MTXTunnel, uno en cada extremo. En este caso el gráfico del escenario resultante sería algo como:


¿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 (por ejemplo un PC) se conecte a él para establecer la pasarela transparente GPRS-Serie. (En las nuevas versiones de MTXTunnel es posible crear un socket cliente temporal cuando no hay una conexión establecida y el MTXTunnel recibe datos por el puerto 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 su aplicación lo requiere puede estar el 100% del tiempo conectado a GPRS. Recuerde que en comunicaciones gprs los operadores no suelen facturar por tiempo, sino por volumen de datos.

Si no necesita que el MTXTunnel esté el 100% del tiempo conectado a GPRS, sino que necesits que se conecte sólo en un momento puntual, debe saber que el MTXTunnel 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, cuando esté configurado un cliente temporal).

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

Un parámetro de nombre GPRS_timeout le 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. Usted dispone 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 realiza una llamada perdida o envía un SMS con la palabra “on” al MTXTunnel, éste le devolverá otro SMS con la dirección IP asignada en ese momento por el operador de telefonía.

El nuevo MTXTunnel 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 puede hacer que los MTXTunnel informen a un PC que tenga en su 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 usted y la nueva dirección IP.


¿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 prefiere puede 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 le servirá el módem MTX65i. Si necesita que la comunicación serie sea RS485 necesita un módem MTX65i-RS485. Si necesita poder controlar relés a distancia, o leer sensores 4-20mA, el módem recomendado es el MTX65IND2. Si en la aplicación que va a realizar el consumo es crítico y el módem permanecer completamente apagado (consumiendo 2uA) en todo momento excepto en situaciones / momentos puntuales, el módem recomendado es el MTX65ULP. Si en cambio necesita una pasarela serie-gprs pero además necesita 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.0 tiene otras funcionalidades?

Efectivamente. En paralelo a la pasarela Serie-GPRS el MTXTunnel puede controlar entradas y salidas digitales, entradas analógicas, relés, gps, buses I2C, SPI, leer dispositivos modbus serie, leer dispositivos radio 868MHz …

Por ejemplo, con el MTXTunnel puede leerse remotamente el estado de una entrada digital, o bien conmutar remotamente un relé.

El MTXTunnel 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 … De un vistazo a los ejemplos del final del manual para hacerse una idea.

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. Puede enviar un comando AT vía TCP/IP o lo puede enviar por cualquiera de los puertos serie del módem, o incluso por SMS.  Además puede conmutar un relé o leer un estado de una entrada digital y/o analógica del MTXTunnel desde su propia una página Web (consulte 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 MTXTunnel soporta ALIAS de usuario, es decir, puede 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.  Puede 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í, podría hacer eso. El MTXTunnel, le permite controlar 2 equipos RS232, uno por cada puerto serie y con una única tarjeta SIM. Para ello el MTXTunnel creará 2 túneles GPRSSerie corriendo en paralelo. Recuerde 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á un ejemplo de esta configuración.


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í, usted también podría programar el MTXTunnel, si está montado sobre un MTX65+G, para enviar la posición GPS periódicamente cada X segundos de forma automática, 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 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 profesional guarda dichas posiciones GPS para enviarlas cuando haya cobertura GPRS. El MTXTunnel no está concebido para ser usado como dispositivo de control de flotas. Si necesita crear un control de flotas consulte la información del software MTXTunnelGPS, que sí es apropiado para ello.

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

Con el pequeño WebServer que incluye usted podrá, 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á ver y modificar los parámetros de configuración del MTXTunnel de forma remota, así como ejecutar comandos AT. Por ejemplo, si ejecuta el comando “AT+CSQ” podrá ver remotamente el nivel cobertura GSM que tiene en ese momento su MTXTunnel.

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

Con Telnet puede hacer básicamente lo mismo que con el WebServer. Puede 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. Consulte el capítulo de Telnet y de la API para más información. Siempre que dude entre usar Webserver y Telnet, le recomentamos Telnet, pues es acceso remoto es mucho más rápido

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

El MTXTunnel dispone de un firewall que puede activar si lo necesita. Con este firewall puede hacer que el MTXTunnel no acepte ninguna conexión desde una IP que no sea una autorizada. Así no tendrá 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.

El MTXTunnel dispone de un firewall que puede activar si lo necesita. Con este firewall puede hacer que el MTXTunnel no acepte ninguna conexión desde una IP que no sea una autorizada. Así no tendrá accesos no autorizados ni a los túneles GPRS-Serie, ni al WebServer ni al 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. Usted puede configurar el MTXTunnel para que envíe un mensaje SMS (hasta a 10 números de teléfono) con un texto configurable por usted cuando se detecte un cambio en una entrada digital.

En las prestaciones del nuevo MTXTunnelv5.0 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ía leer un sensor I2C de forma remota, por ejemplo, un sensor de temperatura.

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

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

Tunnel SMS-Serie:  puede definir un texto clave, por ejemplo “MTX”, para que cuando envíe 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 se la reenvíe por SMS..

Veo también que el MTXTunnel 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ía 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, puede 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 necesite.

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 soporta la sincronización horaria por GPRS, de hecho es obligatorio su uso si utiliza 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 sea exacta (hora UTC). Tambiés es obligatorio el uso del servidor horario al utilizar el Datalogger incluido en el MTXTunnel


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 puede utilizar si lo desea encriptación SSL. Mediante SSL sus datos viajan encriptados desde el MTXTunnel hacia su PC, no siendo posible desencriptarlos con algún sniffer que hubiera dentro de la red LAN de SU 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.0 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.

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 MTXTunnel en su sistema como un equipo propio.

Es decir, imagine que usted quiere crear un sistema para que sus clientes, desde su propia página web, puedan acceder a dispositivos serie que tengan conectados al MTXTunnel o simplemente conmutar un relé desde su propia página web. La API le 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 sus clientes tengan para nada que usar directamente los ficheros de configuración del MTXTunnel, como usted verá en el siguiente capítulo.

Me gustaría conectar un dispositivo modbus a un puerto serie del MTXTunnel y que sea el propio MTXTunnel quien lea periódicamente la tabla de memoria ModBus del PLC, guarde los datos en memoria y los envíe a mi servidor http. ¿Es posible?

También. El MTXTunnel es capaz de interrogar de forma periódica un dispositivo modbus conectado en su puerto serie, almacena en memoria las variables y las enviará a su servidor http mediante un objeto JSON. Si hay problemas en el envío, por temas de cobertura o por el tema que sea, puede almacenar hasta1500 lecturas.

La última pregunta. Es posible solicitar el módem MTX65IND2 con una tarjeta de radio Wavecard 868MHz. ¿Puedes poner algunos ejemplos de uso?

Ejemplos de uso del MTXTunnel instalado en un MTX65IND con wavecard 868MHz:

1.- Concentrador de comunicaciones GPRS / 868MHz para lectura de Waveflows (contadores de pulsos radio para contadores de agua, gas, electricidad).

2.- Concentrador de comunicaciones GPRS / 868MHz para lectura de dispositivos Wavetherm (sondas radio 868MHz de temperatura)

3.- Concentrador de comunicaciones GPRS/868 para lectura de sensores 4-20mA (mediante wavesense, equipos 868MHz)

4.- Concentrador de comunicaciones GPRS/868 para lectura de entradas digitales (mediante wavelog, equipos 868MHz)

El MTXTunnel se encarga de interrogar periódicamente los sensores radio y de enviar a su servidor web, mediante http JSON, la información leída.

¿Es posible hacer una pasarela GPRS-Serie con un dispositivo pero a la vez poder realizar una llamada GSM al módem? Es decir, ¿podría acceder al dispositivo sería vía GPRS pero también GSM?

Efectivamente, desde la versión MTXTunnelv7.11 es posible establecer pasarelas GPRSSerie y GSM-Serie con el módem, dando preferencia a las llamadas GSM. Caso muy típico es la de un operador de energía (Endesa, Iberdrola, … ) que quiere acceder a un contador vía GSM de forma diaria para realizar una lectura y usted también quiere acceder al contador, pero vía GPRS. MTXTunnel le permite hacer eso.


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

La nueva versión del MTXTunnel ciertamente tiene muchas opciones, de hecho muchas más de las explicadas en estas breves FAQ, como podrá ver si lee la descripción de los parámetros de configuración, pero su configuración no es realmente una tarea complicada.

En el siguiente capítulo tiene un detallado paso a paso de cómo realizar una primera configuración del MTXTunnel para que si no lo ha utilizado nunca, se familiarice con él.

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

Por supuesto puede contactar con Matrix Electrónica, en gsmsupport@matrix.es , si tiene cualquier duda al respecto, le atenderemos gustosamente.