¿Buscas alguna otra cosa?

Tunnel – Uso del MTX-Tunnel como Logger de tramas serie. Envío de tramas serie customizadas y periódicas para protocolos propietarios.

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.