¿Buscas alguna otra cosa?
Detalles del escenario:
- Se dispone de 1000 dispositivos con puerto RS232 (115200,8,N,1 y control flujo HW) los cuales se necesitan monitorizar desde un puesto de Control Central vía GPRS, para ello se utilizarán MTX-Tunnel, para que actúen como un túnel transparente 4G-Serie
- Se debe poder acceder a los dispositivos RS232 en cualquier momento, por lo que el
módem conectado al puerto serie del dispositivo debe permanecer conectado a 3G de forma permanente a la espera de una conexión - Por motivos de ahorro se utilizarán tarjetas SIM con dirección IP dinámica. Al ser un número elevado de módems se descarta el uso de DynDNS, por lo que debe ser el MTX-Tunnel quien deberá enviar a un servidor WEB por HTTP GET (JSON) la IP que tenga en cada momento (asignada por el operador GSM) junto con su estado (cobertura, etc). Cada vez que un módem cambie la dirección IP éste debe enviar al centro de control (con URL http://www.miweb.com/datosIP.asp) su nueva IP para informar del cambio. Independiemente de si hay un cambio de IP, el módem enviará su estado cada 600 segundos (10 minutos)
- Se debe poder hacer un cambio de configuración de cualquier MTX-Tunnel desde el Servidor WEB. Como el MTX-Tunnel va a enviar su IP mínimo cada 10 minutos, se aprovechará la petición HTTP del módem para enviar como respuesta la configuración (si hay una nueva). De esta manera resulta muy sencillo hacer un cambio de configuración masiva de los 1000 modems
Solución: MTX-Tunnel firmware + MTX-Java-IoT/MTX-Java-T/MTX-Java-T2
Archivo de configuración config.txt:
Configuración | Observaciones |
COMM2_baudrate: 115200 COMM2_bitsperchar: 8 COMM2_autorts: on COMM2_autocts: on COMM2_stopbits: 1 COMM2_parity: none GPRS_apn: movistar.es GPRS_login: MOVISTAR GPRS_password: MOVISTAR GPRS_timeout: 0 MTX_PIN: 0000 MTX_model: 199801393 MTX_mode: server MTX_urc: off MTX_rssiLevel: 10 MTX_ATEmbedded: on TCP_port: 20010 FIREWALL_enabled: off DNS_enabled: on DNS_mode: http DNS_httpMode: getjson DNS_password: 12345678 DNS_server: www.miweb.com/datosIP.asp?data= DNS_period: 600 DNS_aux: 0 |
Data rate of communication of serial port Number of bits CTS hardware flow control activated RTS hardware flow control activated 1 stop bit No parity APN GPRS provided by the GSM operator GPRS Login GPRS Password Modem is always GPRS connected SIM Card PIN MTX modem model Modem is configured as TCP server We do not need URC notification messages Modem coverage LED enabled Embedded AT commands sending allowed TCP port of MTX for 3G-RS232 gateway Firewall desactivated IP to DNS sending service activated Sending information via HTTP HTTP GET JSON mode Password string for higher security URL of DNS sever where modem status is sent Every 10 secs status is sent to the webserver Auxiliary field to control configuraion version |
Detalles:
- Con esta configuración se enviará un JSON vía HTTP GET al servidor Web especificado. Se enviará cada vez que se reinicie el equipo, o cambie su IP o cada 10 minutos (lo que ocurraantes). Por lo tanto mínimo una vez cada 10 minutos el MTX-Tunnel se comunicará con el Servidor WEB enviando un JSON similar al del siguiente ejemplo:
{“IMEI”:357042060366409,”TYPE”:”DNS”,”P”:”12345678”,”IP”:”88.28.253.206”, ”CSQ”:26, “VER”:”9.12”,”AUX”:”0”,”MOD”:”201”,”VCC”:12000}
- Donde:
IMEI: imei del módem (único para cada módem)
TYPE: tipo de JSON enviado (en este caso DNS)
P: un campo de usuario El especificado en DNS_password
IP: ip actual del módem
CSQ: rssi del módem (entre 0 y 31)
VER: versión del MTX-Tunnel
AUX: un campo auxiliar que usaremos para el control de la configuración actual
MOD: modelo de módem MTX
VCC: voltaje de alimentación MTX (en milivoltios)
- Cuando nuestro Servidor Web reciba un JSON, lo único que debe hacerse es comparar la versión de configuración que envía el MTX-Tunnel (campo AUX del JSON) con la versión que disponemos en nuestro Servidor Web. Por ejemplo, imaginemos que hemos cambiado la configuración de un MTX-Tunnel en el servidor e indicamos que la versión actual de configuración es DNS_AUX:
1. Cuando el MTX-Tunnel envíe su JSON recibiremos un valor AUX “0”. Como es diferente de “1” (lo que tenemos en nuestro servidor) enviaremos la nueva configuración al módem - Para enviar la nueva configuración al módem podemos enviar un comando AT desde el servidor WEB con algo como:
<MTXTUNNELR>AT^MTXTUNNEL=SETCONFIG,
COMM_baudrate: 115200
COMM_bitsperchar: 8
COMM_autocts: on
COMM_autorts: on
COMM_stopbits: 1
……
DNS_password: 12345678
DNS_server: www.miweb.com/datosIP.asp?data=
DNS_period: 600
DNS_aux: 1
</MTXTUNNELR>
- Es decir, enviamos desde el servidor web, como respuesta al envío periódico HTTP del módem, todo el fichero de configuración con los cambios realizado y especificando en DNS_aux el valor de la nueva configuración. No olvide especificar un retorno de carro (\r\n) tras cada parámetro de configuración. Usted está substituyendo el fichero “config.txt” del módem por éste que está usted enviando
- Una vez recibida la nueva configuración el módem se reiniciará automáticamente. A los pocos segundos se comunicará de nuevo con la Plataforma Web para indicar su nueva IP y podrá comprobar de nuevo el parámetro AUX recibido dentro del JSON. Si todo ha funcionado correctamente deberá contener el valor “1” correspondiente a la nueva configuración
- El envío de datos desde su Plataforma Web al módem deberá realizarla en función del tipo de Servidor con el que trabaje. Por ejemplo, si dentro de la variable “configuration” dispone de toda la configuración a enviar, desde un Servidor ASP podría utilizar algo como:
<%
Response.Write(configuration)
%>
- En un servidor PHP podría ser algo como:
<?php
echo $configuration;
?>
- Si necesita realizar pruebas con éste método le recomentamos que nos solicite una cuenta en el servidor de pruebas www.metering.es Le resultará útil para realizar las primeras pruebas y comprender el funcionamiento