¿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 alimentados por paneles solares, por lo que el consumo energético es importante.
- Por ello, el sensor que se pretende leer se alimentar a través del relé interno con el que cuenta el módem MTX-IOT-S asociado a su salida GPIO8. Es decir, el módem MTX-IOT-S, antes de leer el sensor, activará la GPIO8 (relé interno) para alimentar a dicho sensor 0-10V. Tras una espera de 5 segundos para la estabilización del sensor, el módem MTX-IOT-S leerá el sensor que estará conectado a su entrada AD0 (que permite una entrada de entre 0 y 50V) y después volverá a desactivar el relé para ahorrar consumo.
- La monitorización debe ser en unas horas determinadas (a las 00:00 UTC, 06:00 UTC, 14:30 UTC y 18:30 UTC) 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.
Solución: MTX-Tunnel firmware + MTX-IoT [4-S-N-N]-STD-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_TPProtocol: ntp MTX_TPServer: ntp.roa.es MTX_TPServer2: es.pool.ntp.org MTX_TPFormat: unix MTX_mode: none MTX_ping: 30 MTX_pingIP: 8.8.8.8 FIREWALL_enabled: off SMS_allPhones: on SMS_sendIP: on SMS_ATEnabled: on SMS_ATResponse: on GPIO_mode8: output GPIO_config8: normal ADC_mode0: voltage GPRS_apn: movistar.es 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 |
GPRS APN provided by GSM operator GPRS Login GPRS Password Modem is permanently connected to GPRS PIN if it has one Device model Time synch. protocol Time server (the MTX must sync the time) Backup time server Sent JSON format Gateways used Every 30 minutes PING check Google IP (f.e.) to ping Authorized IPs IP by SMS authorized IP by SMS authorized AT by SMS allowed SMS AT responses activated GPIO configured as output Configuration of GPIO ADC configured as voltage GPRS APN provided by GSM operator Logger on to store readings Data sending URL “P” field of JSON Registry numbers in flash Registry size in flash Number of readings stored in RAM Data sending mode to server Telnet status Telnet login Telnet password TCP port for telnet |
Detalles
- La trama enviada al servidor tiene el siguiente formato JSON 31/01/2020 12:20:33 — {“IMEI”:354033091487838,”TYPE”:”IOS”,”TS”:”2020-01-05T06:00:33Z”,”P”:”12345678”,”IO0”:1,”IO1”:1,”IO2”:1,”IO3”:1,”IO4”:1,”IO5”:0,“IO6”:0,”IO7”:0,”IO8”:1,”AD0”:5935,”AD1”: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
IO0: Es el valor de la GPIO0 del módem (no usada en este ej.)
IO1: Es el valor de la GPIO1 del módem (no usada en este ej.)
IO2: Es el valor de la GPIO2 del módem (no usada en este ej.)
IO3: Es el valor de la GPIO3 del módem (no usada en este ej.)
IO4: Es el valor de la GPIO4 del módem (no usada en este ej.)
IO6: Es el valor de la GPIO5 del módem (no usada en este ej.)
IO7: Es el valor de la GPIO6 del módem (no usada en este ej.)
IO8: Es el valor de la GPIO7 del módem (no usada en este ej.)
IO9: Es el valor de la GPIO8 del módem (Relé interno del módem)
AD0: Es el valor de la entrada AD0 del módem (lectura sensor 0-10V en milivoltios, de 0 a 50000) AD1: Es el valor de la entrada
AD1 del módem. No usado en este ejemplo. - 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,8,1
PAUSE 5
Básicamente ejecuta un comando AT que activa el relé interno del módem MTX-IOT-S (que está asociado a la GPIO8) y espera 5 segundos.
El contenido de “iologger_end.txt” para este ejemploi es el siguiente:
EXECUTE AT^MTXTUNNEL=SETIO,8,0
Donde simplemente se desactiva el relé (GPIO8) tras haber leído el sensor 0-10V - 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” (que debe situarse en el directorio raíz del módem) para esta aplicación es el siguiente:
1:-1;0;0;AT^MTXTUNNEL=IOEVENT
2:-1;6;0;AT^MTXTUNNEL=IOEVENT
3:-1;14;30;AT^MTXTUNNEL=IOEVENT
4:-1;18;30;AT^MTXTUNNEL=IOEVENT
En este fichero se introducen 4 horarios. Cada día de la semana, a las 00:00, 06:00, 14:30 y 18:30 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. - Recuerde que el módem siempre trabaja con hora UTC
- Configure apropiadamente los microswitches del módem MTX-IOT-S para poder leer voltaje en ADC0 (descripción de los microswitches en los Anexos del manual)