¿Buscas alguna otra cosa?
Detalles del escenario:
- Se pretende monitorizar varias entradas digitales/analógicas con un módem 2G/3G/4G
- El módem se alimentará a baterías, por lo que debe permanecer en modo ultrabajo consumo (~10 uAmperios) hasta que se produzca una activación en la entrada digital de tamper del módem
- Cuando se detecte dicho cambio en una entrada de tamper, el módem debe despertarse, leer el estado de las entradas digitales/analógicas enviarlas a un bróker MQTT
- Tras el envío de la información el módem debe volver a modo ultrabajo consumo hasta detectar otra activación de una entrada digital de tamper momento en el que repetirá el proceso indicado
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_DNS: 8.8.8.8 GPRS_timeout: 0 MTX_model: 199801454 MTX_mode: none ULP_enabled: on ULP_sleepMode: minutes ULP_minutesOff: 0 ULP_secondsOn: 60 MQTT_enabled: on MQTT_server: tcp://test.mosquitto.org:1883 MQTT_id: [IMEI] MQTT_attopic1: [IMEI]/AT1 MQTT_qos: 1 MQTT_keepalive: 300 MQTT_persistent: off DNS_enabled: on DNS_mode: mqtt DNS_mqttTopic: [IMEI]/dns DNS_extended: on DNS_period: 120 |
GPRS APN from your network operator GPRS Login GPRS Password Google DNS. Must be used if TCP_IP is set to DNS Connected data while ULP is awake MTX terminal modem model used We don’t use gateways Modem ULP service activated Modem will be awake Indefinitely asleep until tamper input changes Awake during 1 minutes MQTT service in the modem activated Broker IP/DNS, including port Identifier MTX-Tunnel subscribes to this topic for commands Service quality Keep alive MQTT connection (300 seconds) We don’t need persistence Sending status data activated MQTT sending mode Topic where status data will be sent Sending extended data (E/S, ADCs, etc.) Every 120 seconds data is sent |
Detalles:
- La trama enviada al servidor tiene el siguiente formato JSON:
{«IMEI»:»354033091483894″,»TYPE»:»DNS»,»TS»:»2020-05-26T15:46:50Z»,»P»:»»,»IP»:»95.126.81.105″,»CSQ»:12,»TECH»:»4g»,»VER»:»11.07″,»AUX»:»»,»MOD»:»199802407″,»VCC»:12000,»CID»:»214;07;21E0;13B6D0A;405″,»IO0″:1,»IO1″:1,»IO2″:1,»IO3″:1,»IO4″:1,»IO5″:0,»IO6″:0,»IO7″:0,»IO8″:0,»AD0″:0,»ADM0″:»voltage»,»AD1″:0,»ADM1″:»voltage»,»POW»:1}
Donde:
IMEI: es IMEI (identificador del módem)
TYPE: tipo de trama DNS
TS: timestamp
IP: IP actual del MTX
CSQ: cobertura GSM (0-31)
TECH: indica si el módem está trabajando en 2G,3G o 4G
VER: versión de MTX-Tunnel
MOD: model, indica el valor que usted tenga en el parámetro MTX_model
VCC: voltaje de alimentación MTX (en milivoltios)
IOx: entrada digital x
AD1: entrada analógica 1
AD2: entrada analógica 2
CO1: cuentas del contador de pulsos1
CO2: cuentas del contador de pulsos2
CO3: cuentas del contador de pulsos3
CID: identificador de la estación BTS utilizada (útil para localicación por celdas) - Tenga presente que los ULP_minutesOff que el MTX-Tunnel permanecerá dormido empiezan a contar justo en el momento que el módem entra en modo ultrabajo consumo
- Desde la plataforma MQTT puede finalizar la sesión ULP en cualquier momento (sin esperar a finalizar los 2 minutos). Para ello puede enviar al módem (al topic [IMEI]/AT1) el comando
AT^MTXTUNNEL=SETULPSECONDS,0 - Tenga presente que el módem envía un JSON donde se incluye la hora. En este ejemplo no se utiliza sincronización horaria por motivos de consumo, por lo que la hora recibida puede no resultar correcta. Al ser enviados los datos en tiempo real, puede tomar la hora de su propio servidor de recepción de datos