¿Buscas alguna otra cosa?
Detalles del escenario:
- Se dispone de un dispositivo con un puerto serie RS232. Se necesita leer una serie de registros internos de ese dispositivo y enviarlos a una plataforma web cada 10 minutos
- Para poder leer los registros del dispositivo se precisa el uso de un protocolo propietario, esto es, hay que enviar unas determinadas tramas de bytes (protocolo propietario) por el puerto
serie del dispositivo para que éste responda con los valores de los registros internos - Por lo tanto, el módem debe enviar unas tramas de bytes preprogramadas de forma periódica por su puerto serie RS232, recoger las respuestas del dispositivo a las mismas y, adjuntando
la hora de recogida, enviar los datos a un servidor web mediante un objeto JSON - Las tramas a enviar para la lectura de los registros serán dos, enviadas cada 10 minutos:
313233F435 y 41A12D42421F4343 - La configuración del puerto serie del equipo es 115200 baudios, 8,N,1
Solución: MTX-Tunnel firmware + MTX-Java-IoT/MTX-Java-T/MTX-Java-T2
Archivo de configuración config.txt:
Configuración | Observaciones |
COMM_baudrate: 115200 COMM_bitsperchar: 8 COMM_autocts: off COMM_autorts: off COMM_stopbits: 1 COMM_parity: none GPRS_apn: movistar.es GPRS_login: MOVISTAR GPRS_password: MOVISTAR GPRS_timeout: 0 MTX_PIN: 0000 MTX_mode: server MTX_model: MTX-4G-JAVA-IOT-STD-N MTX_TPServer: es.pool.ntp.org MTX_TPServer2: 2.europe.pool.ntp.org MTX_TPProtocol: ntp MTX_ping: 35 MTX_pingIP: 8.8.8.8 MTX_ATEmbedded: on MTX_urc: off MTX_ATLimited: off TELNET_enabled: on TELNET_login: user TELNET_password: 1234 TELNET_firewall: off TELNET_port: 20023 SMS_allPhones: on SMS_ATEnabled: on SMS_ATResponse: on LOGGER_enabled: on LOGGER_password: ID-12345678 LOGGER_server: 90.166.108.200/json/set.asp?data= LOGGER_registerSize: 600 LOGGER_numRegistersFlash: 200 LOGGER_numRegistersRam: 3 LOGGER_serverLogin: user LOGGER_serverPassword: 1234 LOGGER_serialData1: 313233F435 LOGGER_serialData2: 4141204242204343 LOGGER_serialPeriod: 600 LOGGER_ httpMode: getjson LOGGER_serialFrequency: 1 |
Serial port baud rate 8 bit data No flow control No flow control 1 stop bit No parity GPRS APN by the GSM operator GPRS Login GPRS Password MTX-Tunnel is always GPRS connected If SIM card has no PIN security, use 0000 value GPRS/serial gateway in server mode MTX-Terminal modem model used Time server (the MTX must synchronize the time) Backup time server NTP protocol used Ping every 35 minutes without comms IP address to ping To send AT commands from Web platform We don’t need URC information messages To execute any AT command To send remote commands, etc. Telnet Login Telnet Password MTX accepts connections from all IPs Telnet port All phone numbers are authorized AT commands can be sent via SMS SMS replies to AT commands Logger activated Password to be sent to the Web platform Web platform address Size of the record Number of records in flash storage Number of records in RAM memory Username of the Webserver Password of the Webserver First data to be sent Second data to be sent Data is sent every 600 secs (10 mins) Mode HTTP GET (JSON) We want to log all answers |
Detalles:
- El objeto JSON que recibirá el servidor tendrá un formato como el del siguiente ejemplo real:
{“IMEI”:353234028104337,”TS”:”08/06/14 13:39:33”,”P”:”ID-12345678”,”TYPE”:“SERIAL”,”SER”:”313233343536373839300d0a”}
- Donde:
IMEI: el IMEI del módem
TS: la fecha/hora UTC del módem (time stamp)
P: un campo Password de usuario
TYPE: tipo de JSON
SER: los datos serie en formato hexadecimal (2 dígitos por byte)
Es decir, por cada trama logeada por el MTX-Tunnel éste enviará por GPRS o 3G, según el
modelo de módem, un objeto JSON con el anterior formato (recibido por HTTP GET en la
variable “data” como puede verse en el parámetro LOGER_server.
El MTX-Tunnel envía una trama JSON por cada lectura recibida. En el caso del ejemplo, se
recibirían 2 JSON cada 10 minutos.