¿Buscas alguna otra cosa?

Tunnel – Ejemplo de uso de MQTT para activar/desactivar un relé desde un teléfono móvil con Android/IOs.

Detalles del escenario:

  • Se pretende pretende poder activar/desactivar salidas de relé desde un teléfono móvil Android o Iphone
  • La tarjeta SIM que se va a utilizar es muy económica y no dispone de una dirección IP pública, sino de una privada del tipo 10.x.x.x

Solución: MTX-Tunnel firmware + MTX-Java-IoT

Archivo de configuración config.txt:

Configuración Observaciones
GPRS_apn: movistar.es
GPRS_login: MOVISTAR
GPRS_password: MOVISTAR
GPRS_timeout: 0

MTX_model: 199802407
MTX_mode: none
MTX_PIN: 0000
MTX_ping: 30
MTX_pingIP: 8.8.8.8
MTX_ATLimited: off

FIREWALL_enabled: off
TELNET_enabled: on
TELNET_login: user
TELNET_password: 1234
TELNET_firewall: off
TELNET_port: 20023

GPIO_mode0: output
GPIO_mode1: output
GPIO_mode2: output
GPIO_mode3: output
GPIO_mode4: output
GPIO_mode5: output
GPIO_mode6: output
GPIO_mode7: output
GPIO_mode8: output
MQTT_enabled: on
MQTT_server: tcp://test.mosquitto.org:1883
MQTT_id: [IMEI]
MQTT_attopic1: [IMEI]/AT1
MQTT_qos: 2
MQTT_keepalive: 300
MQTT_persistent: off

GPRS APN provided by GSM operator
GPRS Login
GPRS Password
Modem is permanently connected to GPRS
MTX-Terminal modem model used
We do not configure gateways
PIN if it has one
Every 30 minutes PING check
IP address for connection checking
We do not want limited AT commands
All authorized Ips
We enable the Telnet of the modem
Login for Telnet
Password for Telnet
They can be connected by telnet from any IP
Port for Telnet
GPIO0 is configured as output
GPIO1 is configured as output
GPIO2 is configured as output
GPIO3 is configured as output
GPIO4 is configured as output
GPIO5 is configured as output
GPIO6 is configured as output
GPIO7 is configured as output
GPIO8 is configured as output (compulsory, it is a relay)
We enable the MQTT service on the modem
We specify the broker IP/DNS, including port
Identifier
To receive commands
Quality of service
Keep alive MQTT connection (300 seconds)
We do not need persistence

Probando el ejemplo:

Para probar este ejemplo, vamos a suponer que el módem ya tiene cargado el fichero config.txt y está con la SIM insertada. Lo que vamos a configurar aquí es un ejemplo para el teléfono. Supongamos que se trata de un teléfono Android. En este ejemplo únicamente vamos a configurar únicamente la GPIO8 (que corresponde con el relé latch interno del MTX-IOT-S [4-N], pero para el resto de las 8 salidas de colector abierto (GPIO0 – GPIO7) la configuración es exactamente igual.

  • Debemos descargar una aplicación MQTT del PlayStore. Por ejemplo MQTT Dash

  • Configuramos ciertos detalles de la aplicación. Por ejemplo, creamos un dispositivo MTX-TUNNEL

  • Una vez creado el dispositivo MTX-TUNNEL, creamos y configuramos un botón, por ejemplo uno con nombre RELÉ1.
    Configuramos el nombre del relé y el topic que configuramos en MQTT_attopic1 (obviamente substituyendo tag[IMEI] por el imei correspondiente. En el botón activo configuramos el comando AT^MTXTUNNEL=SETIO,5,1 y en el desactivo AT^MTXTUNNEL=SETIO,5,0 (el 5 es la salida asociada al relé, como puede comprobarse en las tablas de E/S situadas al final del presente manual). Podemos especificar un QoS 2
  • Al final, quedará una pantalla de la siguiente manera. Haciendo clic en este botón podremos activar / desactivar el relé remotamente