¿Buscas alguna otra cosa?
Detalles del escenario:
- Se necesita monitorizar 2 sensores analógicos, uno de tipo 0-10V y otro de tipo 4-20mA
- La monitorización de los sensores analógicos se realizará mediante MQTT, es decir, el módem deberá enviar los datos de ambos sensores a un bróker MQTT
- Con el fin de ahorrar ancho de banda, no se necesita el envío continuo de datos de los sensores hacia el bróker MQTT. Únicamente se enviarán los cambios, es decir, cuando la entrada 0-10V varíe en 0.1V o la entrada 4-20mA varie 0.15mA se seberán enviar dichos valores rápidamente a una plataforma MQTT (como puede ser Cervello)
Solución: MTX-Tunnel firmware + MTX-IOT-S [4-N]
Ejemplo de configuración (fichero config.txt) para el escenario indicado:
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_TPProtocol: ntp MTX_numGSMErrors: 180 MTX_TPServer: ntp.roa.es MTX_TPServer2: es.pool.ntp.org MTX_TPFormat: unix SMS_allPhones: on SMS_sendIP: on SMS_ATEnabled: on SMS_ATResponse: on 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_qos: 1 MQTT_keepalive: 60 MQTT_defaultIOQos: 0 MQTT_defaultIOTopic: IOCHANGE ADC_mode0: voltage ADC_config0: mqtt;100;0 ADC_mode1: current ADC_config1: mqtt;150;0 |
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 Time synchronization protocol Reset if no registry in GSM network in 1800 secs. Time server Time server backup Unix time format IP by SMS authorized IP by SMS authorized AT by SMS allowed SMS AT responses activated MQTT service MQTT broker. Protocol format://url:port Device ID in broker Username Password Topic of the MTX to receive AT commands Topic where MTX sends its answers to AT commands QoS established Keepalive Qos for defaultIOTopic MQTT topic to send quick telemetries ADC0 as votage input ADC0 MQTT configuration ADC1 as current input ADC1 MQTT configuration |
Detalles:
-
La configuración de la entrada ADC0 como “mqtt;100;0” indica lo siguiente. Recuerde que todos los parámetros van separados entre ellos por punto y coma ;
“mqtt” > La entrada se configura para enviar la entrada analógica de forma rápida por MQTT
“100” > Histéresis en mV. Indica cuantos mV debe cambiar la entrada para enviar los datos al bróker MQTT. Esto evita enviar de forma contínua datos al bróker y un consumo excesivo e innecesario de tráfico.
“0” > Indica el timeout de la entrada analógica. Eso quiere decir que se enviará el cambio de la entrada analógica hacia el bróker MQTT de forma rápida. Si por ejemplo estuviera configurado un valor “60”, aunque se produzcan múltiples cambios en la entrada analógica, nunca se va a enviar más de 1 mensaje MQTT en esos 60 segundos -
El formato de envío de estos mensajes sigue la estructura JSON, que se muestra en el siguiente ejemplo:
{
“IMEI”:”354033091487838”,
“TYPE”:”ADC”,
“TS”:” 2020-02-08T19:15:12Z”
“ID”:0,
“VALUE”:7750
“MODE”:”voltage”
}Donde:
– IMEI: indica el IMEI del módem MTX
– TYPE: indica el tipo de trama. ADC = entrada analógica
– TS: Timestamp (formato unix especificado en MTX_TPFormat)
– ID: indica el índice del ADC (0=ADC0,1=ADC1)
– VALUE: indica el valor de la entrada (en mV o mA)
– MODE: indica el modo de trabajo de la entrada (“voltage” / ”current”) -
Los datos de las entradas digitales configuradas como “mqtt” se envían hacia el topic configurado en el parámetro “MQTT_defaultIOTopic”