¿Buscas alguna otra cosa?
Detalles del escenario:
- Se pretende monitorizar un sensor 0-10V con un módem 2G/3G/4G
- El módem y el sensor van a estar alimentado por paneles solares, por lo que el sensor 0-10V que va a estar conectado al módem, solo debe activarse 5 segs. antes de realizar la medida (para activar un relé externo que alimente al sensor y éste quede estabilizado) y, tras la lectura, se debe desactivar la salida digital con el fin de apagar el sensor y ahorrar consumo energético
- Cada 6h (a las 00:00, 06:00, 12:00 y 18:00) el módem MTX debe activar la salida digital (que activará un relé externo) para alimentar el sensor 0-10V a medir, esperar 5 segundos a que se estabilice la señal del sensor, y después proceder a la lectura del mismo. Una vez leído el sensor el dato se almacenará en la memoria flash del modem (datalogger) y se enviará a un servidor web vía HTTP GET en cuanto haya cobertura 2G/3G/4G
- Tras el proceso de lectura del sensor 0-10V el módem debe desactivar su salida digital (y por tanto el relé externo) para quitar la alimentación al sensor 0-10V y ahorrar consumo)
Solución: MTX-Tunnel firmware + MTX-Java-IoT
MTX-4G-JAVA-IOT-STD-N modem+software MTX-Tunnel
Configuración | Observaciones |
GPRS_apn: movistar.es GPRS_login: MOVISTAR GPRS_password: MOVISTAR GPRS_timeout: 0 MTX_pin: 0000 MTX_model: 199802407 MTX_TPProtocol: ntp MTX_TPServer: ntp.roa.es MTX_TPServer2: es.pool.ntp.org MTX_mode: none FIREWALL_enabled: off SMS_allPhones: on SMS_sendIP: on SMS_ATEnabled: on SMS_ATResponse: on LOGGER_enabled: on LOGGER_server: www.metering.es/json/set.asp?data= LOGGER_password: 12345678 LOGGER_numRegistersFlash: 1500 LOGGER_registerSize: 300 LOGGER_numRegistersRam: 0 LOGGER_httpMode: getjson TELNET_enabled: on TELNET_login: user TELNET_password: 1234 TELNET_port: 20023 |
APN GPRS provided by the GSM operator GPRS Login GPRS Password Modem is always GPRS connected SIM doesn’t have PIN MTX model We need a time server for the time. NTP protocol Main NTP server Backup NTP server We don’t use gateways We don’t use authorized IP addresses Se can send SMS with commands from any phone Modem responds with IP to missed call or SMS We can send commands to the MTX by SMS MTX responds with SMS to the command SMS LOGGER activated to store readings URL to send data “P” field from JSON Number of registries (readings) in flash Size of registry in flash We don’t store any reading in RAM Data sending mode to server Telnet enabled Telnet login Telnet password TCP port for telnet |
Detalles:
- La trama enviada al servidor tiene el siguiente formato JSON:
24/06/2019 19:00:26 — {“IMEI”:354033090132906,”TS”:”24/06/19 17:00:15”,”TYPE”:”IO S”,”P”:”12345678”,”IO1”:0,”IO2”:0,”IO3”:0,“IO4”:1,”IO5”:1,”IO6”:0,”IO7”:0,”IO8”:0,”IO9”:0, ”IO10”:0,”AD1”:469,“AD2”:1469,”CO1”:”0”,”CO2”:”0”,”CO3”:”0”}
Donde:
TYPE: tipo de trama IOS
IMEI: identificativo interno del MTX
P: campo de usuario especificado en el parámetro LOGGER_password
TS: timestamp de cuando se recogieron los datos
IO1: es el valor de la entrada/salida digital 1 del módem (si la tiene disponible)
IO2: es el valor de la entrada/salida digital 2 del módem (si la tiene disponible)
IO3: es el valor de la entrada/salida digital 3 del módem (si la tiene disponible)
IO4: es el valor de la entrada/salida digital 4 del módem (si la tiene disponible)
IO5: es el valor de la entrada/salida digital 5 del módem (si la tiene disponible)
IO6: es el valor de la entrada/salida digital 6 del módem (si la tiene disponible)
IO7: es el valor de la entrada/salida digital 7 del módem (si la tiene disponible)
IO8: es el valor de la entrada/salida digital 8 del módem (si la tiene disponible)
IO9: es el valor de la entrada/salida digital 9 del módem (si la tiene disponible)
IO10: es el valor de la entrada/salida digital 10 del módem (si la tiene disponible)
AD1: es el valor de la entrada analógica 1 del módem (lectura sensor 0-10V en milivoltios, de 0 a 50000)
AD2: es el valor de la entrada analógica 2 del módem (si la tiene disponible)
CO1: es el valor de la entrada contadora de pulsos 1 (si la tiene disponible)
CO2: es el valor de la entrada contadora de pulsos 2 (si la tiene disponible)
CO3: es el valor de la entrada contadora de pulsos 3 (si la tiene disponible)
- Este ejemplo hace uso de los ficheros “iologger_start.txt”, “iologger_end.txt”. Estos ficheros de texto permiten introducir comandos que se ejecutarán automáticamente ANTES del proceso de lectura de los datos de E/S del módem y después de la lectura. Ambos ficheros deben situarse en la carpeta/atscripts
El contenido de “iologger_start.txt” para este ejemplo es el siguiente:
EXECUTE AT^MTXTUNNEL=SETIO,3,1
PAUSE 5
Básicamente ejecuta un comando AT que activa una salida digital del módem y espera 5 segundos
El contenido de “iologger_end.txt” para este ejemploi es el siguiente:
EXECUTE AT^MTXTUNNEL=SETIO,3,0
Donde simplemente se desactiva la salida digital tras haber leído el sensor - Este ejemplo hace uso del fichero “schedule.txt”, cuya documentación encontrará en el
presente manual, que permite introducir horarios de ejecución de ciertos comandos AT. El contenido del fichero “schedule.txt” para esta aplicación es el siguiente:
1:-1;0;0;AT^MTXTUNNEL=IOEVENT
2:-1;6;0;AT^MTXTUNNEL=IOEVENT
3:-1;12;0;AT^MTXTUNNEL=IOEVENT
4:-1;18;0;AT^MTXTUNNEL=IOEVENT
En este fichero se introducen 4 horarios. Cada día de la semana, a las 00:00, 06:00, 12:00 y 18:00 se ejecutará el comando AT^MTXTUNNEL=IOEVENT. Dicho comando AT lanzará el proceso de lectura de las E/S del módem, almacenamiento en el datalogger del módem y envío al servidor web.