¿Buscas alguna otra cosa?
El firmware MTX-Tunnel dispone de soporte MQTT a partir de la versión 9.25. Es posible enviar los datos almacenados en el datalogger interno (LOGGER_mode: mqtt) mediante MQTT así como las tramas DNS_ (DNS_mode: mqtt). También es posible enviar comandos AT (para comprobar el estado del módem, realizar cambios de configuración, cambiar estado de relés, etc.).
La principal ventaja es que al ser MQTT un protocolo estándar puede utilizar un número grande de aplicaciones que existen para su móvil Android o IOS. Todo sin importar si la tarjeta SIM utilizada dispone o no dispone de una dirección IP pública o privada.
Table of Contents
MQTT_enabled
Descripción: permite habilitar el servicio MQTT del MTX-Tunnel. Es imprescindible habilitarlo en el caso de querer utilizar dicho servicio para el Logger, DNS o comandos AT.
Valores posibles:
- on, off
- Valor por defecto: off
MQTT_server
Descripción: todo dispositivo MQTT que actúe como “cliente” debe conectarse a un broker MQTT. Aquí debe indicar la URL o IP de conexión, así como el puerto TCP de conexión. Puede usar una conexión sin seguridad SSL o con seguridad SSL.
Valores posibles:
- tcp://xxx.xxx.xxx.xxx:puerto o ssl://xxx.xxx.xxx.xxx:puerto
- Valor por defecto: ninguno
Notas adicionales:
- Un ejemplo de url para un broker MQTT puede ser tcp://2.3.4.5:1883
- En Internet existen infinidad de servicios de broquer MQTT gratuitos y de pago. Por ejemplo puede probar para sus pruebas: tcp://test.mosquitto.org:1883
MQTT_id
Descripción: cada dispositivo MQTT que se comunique con un Broker MQTT debería tener un identificador diferente. Mediante esta propiedad es posible establecer dicho identificador
Valores posibles:
- cadena de hasta 128 caracteres
- Valor por defecto: ninguno
Notas adicionales:
- Si utiliza el mismo identificador de equipo en dos dispositivos, el bróker desconectará a uno de ellos, pues sólo se permite un único ID
MQTT_login
Descripción: algunos servicios de Broker MQTT precisan que el dispositivo cliente se autentifique mediante un sistema de username y password. Mediante este parámetro puede especificar, si es necesario, el username.
Valores posibles:
- cadena de hasta 128 caracteres
- Valor por defecto: ninguno
Notas adicionales:
- Si su broker MQTT no lo especifica, no utilice este parámetro
MQTT_password
Descripción: algunos servicios de Broker MQTT precisan que el dispositivo cliente se autentifique mediante un sistema de username y password. Mediante este parámetro puede especificar, si es necesario, el password.
Valores posibles:
- cadena de hasta 128 caracteres
- Valor por defecto: ninguno
Notas adicionales:
- Si su broker MQTT no lo especifica, no utilice este parámetro
MQTT_attopic1, MQTT_attopic2, MQTT_attopic3
Descripción: con estos 3 parámetros puede especificar los topic a los que se subscribirá el MTXTunnel para poder recibir comandos AT desde una aplicación con MQTT (por ejemplo para poder enviar comandos AT desde un móvil).
Valores posibles:
- cadena de hasta 128 caracteres
- Valor por defecto: ninguno
Notas adicionales:
- Por ejemplo, un valor adecuado podría ser:
MQTT_attopic1: midispositivo/comandosAT/mtx1
Esto implicaría que todos los comandos AT que enviara (por ejemplo desde un teléfono móvil) al topic midispositivo/comandosAT/mtx1 del Broker al que esté conectado el módem llegarán al MTX-Tunnel y por tanto se ejecutarán - Si incluye el tag [IMEI] éste se substituirá por el IMEI real del módem. Le resultará muy útil en el caso de contar con un número significativo de dispositivos MTX-Tunnel. Por ejemplo:
MQTT_attopic1: [IMEI]/AT
Y el MTX-Tunnel se subscribiría en el broker MQTT con el topic adecuado ( por ejemplo 354740050182909/AT ). De esa manera podría poner el mismo fichero de configuración en todos los dispositivos - Dispone de hasta 3 topics para comandos AT. La razón de ello es que pueda especificar grupos. Es decir, imagine que desea cambiar una configuración en todos los MTX-Tunnel que se encuentran en Barcelona. Podría configurar en los módems de Barcelona:
MQTT_attopic2: grupo/Barcelona
Y cada vez que desde su aplicación MQTT (por ejemplo desde su teléfono móvil) enviara un comando AT al broker MQTT con el topic “grupo/barcelona” todos los MTX-Tunnel que estuvieran subscritos a dicho topic ejecutarían dicho comando AT. Si lo desea, como idea, podría configurar el tercer topic (MQTT_attopic3) para ejecutar un comando AT en todos los dispositivos MTX-Tunnel, siempre y cuando configure el parámetro MQTT_attopic3 de forma idéntica en todos los archivos config.txt de todos los MTX-Tunnel
MQTT_atrtopic
Descripción: este parámetro permite definir el topic que el MTX-Tunnel utilizará para enviar las respuestas a los comandos AT ejecutados. Es decir, si el MTX-Tunnel recibe un comando AT a través de los topics MQTT_attopic1, MQTT_attopic2 o MQTT_attopic3, la respuesta será devuelta en este topic.
Valores posibles:
- cadena de hasta 128 caracteres
- Valor por defecto: ninguno
Notas adicionales:
- Si va a utilizar MQTT_attopi1, MQTT_attopi2, MQTT_attopi3 para enviar comandos AT al MTXTunnel debe especificar un topic en MQTT_atrtopic para la respuesta. Obviamente deberá subscribirse en dicho topic en el dispositivo que utilice para enviar comandos AT para poder
MQTT_qos
Descripción: este parámetro permite establecer la calidad de servicio (Qualit Of Service) de las comunicaciones MQTT utilizadas.
Valores posibles:
- 0, 1, 2
- Valor por defecto: 1
Notas adicionales:
- El valor 0 implica que el mensaje será enviado una vez y no habrá mensaje de respuesta para comprobar si el mensaje llegó correctamente o no al Broker
- Con el valor 1 se garantiza que el mensaje llegará al broker MQTT al menos una vez (aunque podrían llegar más veces)
- Con el valor 2 se garantiza que el mensaje llegará al broker MQTT una vez y sólo una
- MQTT_qos sólo se utiliza con las tramas LOGGER. Las tramas DNS y respuestas a comandos AT enviados por MQTT, utilizan qos 0
MQTT_keepalive
Descripción: con este parámetro pueden definirse los segundos de keepalive, es decir, los segundos de espera para que el cliente realice una conexión con el Broker MQTT para comprobar que la conexión sigue establecida.
Valores posibles:
- 10… 3600
- Valor por defecto: 300 (5 minutos)
Notas adicionales:
- Es muy recomendable establecer un valor razonable para dicho valor, como 300. Si especifica un valor máximo de 1 hora debe tener en cuenta que, en caso de una pérdida de conectividad con el broker mqtt (sin señal de cierre de socket) podría mantener al MTX-Tunnel desconectado del mismo dicho periodo de tiempo
MQTT_persistent
Descripción: este parámetro permite establecer la persistencia de los datos para los datos enviados mediante MQTT desde el LOGGER_ o mediante las tramas DNS_.
Valores posibles:
- on, off
- Valor por defecto: off (datos no persistentes)
Notas adicionales:
- Imagine que se envía una trama DNS_ mediante MQTT cada vez que una entrada digital cambia. Para ello tiene configurado el parámetro DNS_mqttTopic: [IMEI]/DNS para enviar un JSON con los datos de las E/S del módem a ese topic del broker cada vez que una entrada digital cambia. Si la persistencia está a “off” los datos (realmente el último dato recibido) NO se guardan en el broker. Eso quierde decir que, por ejemplo, si va a consultar el estado (E/S) del MTX-Tunnel desde un teléfono móvil con un cliente MQTT, sólo conocería el estado actual de las E/S del MTX-Tunnel si cuando el MTX-Tunnel envió los datos al broker MQTT usted tenía conectado el telefono móvil con el broker en ese momento
- Si desea que el broker MQTT, cuando usted se conecte con el teléfono móvil o su aplicación, le envíe el último estado recibido del MTX-Tunnel, simplemente ponga este parámetro a on
MQTT_filetopic1
Descripción: este parámetro permite el envío de un fichero al módem vía MQTT. El módem se subscribirá a este TOPIC del bróker para recibir ficheros. Por lo tanto, cualquier fichero enviado a este topic, será descargado por el módem. Puede resultar útil para, por ejemplo, cambiar completamente el fichero de configuración config.txt.
Valores posibles:
- cadena de hasta 128 caracteres
- Valor por defecto: ninguno
Notas adicionales:
- El formato con el que debe enviar el fichero a este TOPIC para que sea recibido y procesado por el módem, es el siguiente: path/nombreFichero,
- Por ejemplo, para cambiar el fichero de configuración “config.txt”, sería algo similar a lo siguiente: config.txt,COMM_baudrate: 9600[0x13][0x10]COMM_bitsperchar: 8[0x13][0x10]… (donde [0x13] y [0x10] representan los valores hexadecimales del ENTER tras cada parámetro en el fichero de configuración • Consulte el parámetro MQTT_filertopic para conocer la respuesta del modem a este topic
- Este parámetro sólo está disponible a partir de la versión MTX-Tunnel 9.39
MQTT_filertopic
Descripción: este parámetro permite configurar el TOPIC mqtt que empleará el módem para indicar si la recepción de un fichero (a través del TOPIC MQTT_fileTopic1 fue correcta o no.
Valores posibles:
- cadena de hasta 128 caracteres
- Valor por defecto: ninguno
Notas adicionales:
- El formato con el módem enviará respuesta a la recepción de un fichero usando este TOPIC es: nameFile,OK (in case the file is transferred correctly) nameFile,ERROR (in case there is an error)
- Consulte el parámetro MQTT_filetopic1 para conocer cómo enviar ficheros al módem
- Este parámetro sólo está disponible a partir de la versión MTX-Tunnel 9.39
MQTT_commrxtopic
Descripción: este parámetro permite configurar el TOPIC mqtt al que se subscribirá el módem. Todo lo que reciba el módem en este topic será reenvíado por el puerto serie principal (el configurado con los parámetros COMM_).
Valores posibles:
- cadena de hasta 128 caracteres
- Valor por defecto: ninguno
Notas adicionales:
- Para utilizar este parámetro debe configurar adicionalmente el módem con el parámetro MTX_mode: mqtt
- Todos los bytes recibidos en este topic serán reenviados por el puerto serie principal del módem MTX. Si necesita reenviarlo por el puerto secundario (en la mayoría de los módems MTX el puerto secundario es el puerto RS485) necesita configurar el parámetro MTX_invertedCom: on
- Este parámetro sólo está disponible a partir de la versión MTX-Tunnel 10.09
MQTT_commtxtopic
Descripción: Este parámetro permite configurar el TOPIC mqtt al que el módem MTX reenviará todo lo recibido por su puerto serie principal. (el configurado con los parámetros COMM_)
Valores posibles:
- cadena de hasta 128 caracteres
- Valor por defecto: ninguno
Notas adicionales:
- Para utilizar este parámetro debe configurar adicionalmente el módem con el parámetro MTX_mode: mqtt
- Todos los bytes recibidos en el puerto serie principal del módem MTX serán reenviados vía MQTT al topic configurado en este parámetro. Si necesita utilizar el puerto secundario (en la mayoría de los módems MTX el puerto secundario es el puerto RS485) necesita configurar el parámetro MTX_invertedCom: on
- Recuerde que dispone del parámetro MTX_msToSend. Puede ser necesario utilizarlo si necesita recibir los datos en su plataforma MQTT en un solo paquete (es decir, sin fragmentar)
- Este parámetro sólo está disponible a partir de la versión MTX-Tunnel 10.09
MQTT_defaultIOTopic
Descripción: este parámetro permite configurar el TOPIC mqtt para envío rápido de cambio en entradas/salidas digitales y analógicas, cuando los parámetros “GPIO_configX” ó “ADC_configX” tienen el valor “mqtt”.
Valores posibles:
- cadena de hasta 128 caracteres
- Valor por defecto: ninguno
Notas adicionales:
- Consultar los ejemplos 8.10 y 8.11 para una mayor comprensión del uso
- Este parámetro sólo está disponible a partir de la versión MTX-Tunnel 11.00
MQTT_defaultIOQos
Descripción: este parámetro permite configurar el Qos mqtt para envío rápido de cambio en entradas/salidas digitales y analógicas, cuando los parámetros “GPIO_configX” ó “ADC_configX” tienen el valor “mqtt”.
Valores posibles:
- 0, 1, 2
- Valor por defecto: 0
Notas adicionales:
- Consultar los ejemplos 8.10 y 8.11 para una mayor comprensión del uso
- Este parámetro sólo está disponible a partir de la versión MTX-Tunnel 11.00