¿Buscas alguna otra cosa?
Detalles del escenario:
- Se necesita poder cambiar el estado de 9 relés remotos para activar / desactivar una serie de dispositivos conectados a ellos. Dicha activación remota se precisa hacer mediante telnet y/o una plataforma MQTT/S
- Para el acceso por telnet únicamente deben estar permitidas las conexiones TCP desde las IPs autorizadas 1.2.3.4 y 1.2.3.5
- En caso de cambio por Telnet del estado de una salida, dicho cambio debe transmitirse inmediatamente hacia la plataforma MQTT para que quede reflejado el nuevo estado en el dashboard de la plataforma MQTT de manera que un operario pueda consultar el estado actual
Solución: MTX-Tunnel firmware + MTX-IOT-S [4-N]
Archivo de configuración config.txt:
Configuración | Observaciones |
GPRS_apn: movistar.es GPRS_login: MOVISTAR GPRS_password: MOVISTAR GPRS_timeout: 0 MTX_pin: 0000 MTX_model: 199802407 MTX_mode: none MTX_ping: 30 MTX_pingIP: 8.8.8.8 MTX_numGSMErrors: 180 MTX_TPProtocol: ntp MTX_TPServer: ntp.roa.es MTX_TPServer2: es.pool.ntp.org MTX_TPFormat: unix FIREWALL_enabled: off TELNET_enabled: on TELNET_login: user TELNET_password: 1234 TELNET_port: 20023 MQTT_enabled: on MQTT_server: tcp://broker.mqttdashboard.com:1883 MQTT_id: [IMEI] MQTT_login: MQTT_password: MQTT_attopic1: [IMEI]/AT MQTT_atrtopic: [IMEI]/ATR MQTT_persistent: off MQTT_qos: 1 MQTT_keepalive: 60 MQTT_defaultOTopic: /IOCHANGE MQTT_defaultIOQos: 1 GPIO_mode0: output GPIO_config0: normal GPIO_mode1: output GPIO_config1: normal GPIO_mode2: output GPIO_config2: normal GPIO_mode3: output GPIO_config3: normal GPIO_mode4: output GPIO_config4: normal GPIO_mode5: output GPIO_config5: normal GPIO_mode6: output GPIO_config6: normal GPIO_mode7: output GPIO_config7: normal GPIO_mode8: output GPIO_config8: normal |
GPRS APN provided by GSM operator GPRS Login GPRS Password Modem is permanently connected to GPRS PIN if it has one Device model Gateways used Every 30 minutes PING check Google IP (f.e.) to ping Reset if no registry on GSM network in 1800 secs. Time synch protocol Time server Time server backup Unix time format Authorized IPs Telnet service Telnet username Telnet password Telnet TCP port MQTT service MQTT broker, format protocol://url:port Device ID in broker Username Password MTX topic to recieve AT commands Topic where MTX sends responses to AT commands Persistence QoS established Keepalive MQTT topic to inform of output changes in real time MQoS to inform of output changes in real time GPIO0 configured as an output GPIO0 configured as a normal output GPIO1 configured as an output GPIO1 MQTT configuration GPIO2 configured as an output GPIO2 MQTT configuration GPIO3 configured as an output GPIO3 MQTT configuration GPIO4 configured as an output GPIO4 MQTT configuration GPIO5 configured as an output GPIO5 MQTT configuration GPIO6 configured as an output GPIO6 MQTT configuration GPIO7 configured as an output GPIO7 MQTT configuration GPIO8 configured as an output GPIO8 MQTT configuration |
Detalles
- Los módem de la familia MTX-IOT-S disponen de hasta 8 salidas digitales ( de la GPIO0 a la GPIO7) y de 1 relé integrado (GPIO8). Las 8 salidas digitales son de tipo colector abierto con corriente suficiente para conmutar un relé externo. En este ejemplo se han configurado todos los GPIOs como SALIDA
- Si para su aplicación únicamente necesita gestionar un relé de baja potencia (hasta 1Amp), se recomienda el uso de GPIO8, pues está conectado a un relé interno del MTX-IOT-S
- Para cambiar remotamente el estado de una salida debe hacerse mediante el uso de un comando AT enviado remotamente vía Telnet y/o MQTT. El comando que debe enviar es AT^MTXTUNNEL=SETIO,X,Y donde X indica la GPIO sobre la que actuar (0 … 8) e Y indica el valor de la salida (0=no activada / 1=activada)
- Para enviar el comando AT al módem vía MQTT debe hacerlo sobre el topic configurado en MQTT_attopic1. Recuerde que si configura algo como [IMEI]/AT el módem substituirá ese texto [IMEI] por su IMEI real, es decir, por ejemplo por algo como 354033091487838/AT. El módem enviará la respuesta al comando al TOPIC especificado en el parámetro MQTT_atropic, que en el caso de este ejemplo es [IMEI]/ATR
- Al configurar el parámetro MQTT_defaultIOTopic el módem informará en ese topic MQTT en tiempo real de cualquier cambio en los GPIOs de salida. Por ello, cada vez que se cambie una salida desde Telnet, el módem enviará un JSON a dicho topic MQTT informando del nuevo estado El formato de envío de estos mensajes sigue la estructura JSON, que se muestra en el siguiente ejemplo: { “IMEI”:”354033091487838”, “TYPE”:”GPIO”, “TS”:” 2020-02-08T19:55:11Z” “ID”:0, “VALUE”:1 “DIR”:”OUTPUT” } Donde: – IMEI: indica el IMEI del módem MTX – TYPE: indica el tipo de trama. GPIO = Entrada/Salida digital – TS: Timestamp (formato unix especificado en MTX_TPFormat) – ID: indica el índice de la GPIO (0=GPIO0, 1=GPIO1 … ,7=GPIO7) – VALUE: indica el valor de la entrada (0,1) – DIR: indica el tipo de pin (INPUT / OUTPUT)
- Ejemplo de envío de comandos AT para conmutar la salida GPIO8 remotamente desde un bróker MQTT y recepción de la respuesta del comando AT
- Ejemplo de envío de comandos AT para conmutar la salida GPIO8 remotamente desde Telnet