¿Buscas alguna otra cosa?
Table of Contents
Detalles del escenario
Los router Titan disponen de todas las funcionalidades típicas de un router 2G/3G/4G pero además cuentan con una serie de prestaciones adicionales que lo convierten en uno de los routers con más prestaciones del mercado.
Una de las prestaciones adicionales es la capacidad de interrogar de forma autónoma a dispositivos Modbus RTU o TCP, con el posterior envío de los datos a un servidor WEB o FTP.
Como siempre, se ilustrará esta capacidad con un ejemplo sencillo.
Descripción del ejemplo
En este ejemplo se va a configurar un router Titan para recoger, almacenar y enviar por HTTP los registros Modbus de un sensor de temperatura y humedad. Dichas lecturas se realizarán cada 10 minutos. Además, debe poderse establecer una sesión Telnet para poder, mediante comandos AT, obtener los datos en tiempo real en cualquier momento del sensor así como poder conmutar 2 relés.
Configuración del puerto serie para sensor de temp./humedad
Como sensor de temperatura/humedad vamos a utilizar un sensor con un puerto RS485 y la comunicación se hace a través de protocolo MODBUS, a 9600,8,N,1.
Para ello vamos a configurar primero el puerto serie COM1 del router TITAN, pues este puerto puede configurarse como puerto RS232 o puerto RS485. Configuraremos el puerto COM1 tal y como se muestra en la siguiente figura.
Configuración de Modbus a leer (sonda de temp./humedad)
Hay que configurar los dispositivos Modbus a leer. En este caso será únicamente el sensor de temperatura/humedad Modbus RS485, es decir, tenemos que indicar el puerto serie que se utilizará del Titan (que antes hemos comentado sería el COM1), cada cuanto queremos leer los registros (es decir, cada cuantos minutos queremos realizar/enviar una medición de temperatura/humedad).
Para nuestro ejemplo conectaremos el sensor de temperatura/humedad al puerto serie RS232 número 1. Haremos lecturas cada 10 minutos y almacenaremos los datos en el logger interno de manera que podremos enviar las medidas a un servidor remoto vía HTTP.
Para ello hacemos click en el link: “External Devices > Modbus Devicess” y lo configuramos la pantalla como se muestra a continuación:
Configuración del Logger (comunicación con servidor HTTP)
El siguiente paso es configurar el Logger, esto es, el sistema de almacenamiento y envío de datos realizado por el propio router Titan. En este ejemplo vamos a configurar el router para enviar los datos a un servidor HTTP (podría utilizarse también HTTPS o FTP).
Como servidor HTTP utilizaremos la URL https://www.mydomain.com/set.asp?data= donde recibiremos en la variable “data” los datos en formato JSON de cada lectura realizada (timestamp, ID equipo…).
Tal y como se ve en la siguiente figura, accederemos a través del menú “External Devices > Logger Configuration” y configuraremos dicha sección como se muestra a continuación:
Configuración del socket para comandos AT
Ahora configuraremos el router Titan para poder enviar AT commands vía socket (estilo Telnet). Estos comandos los podremos envíar vía 3G/4G, Ethernet o Wifi. Activando esta opción, se podrán enviar comandos al router para poder realizar una lectura Modbus en cualquier momento así como realizar otras operaciones de cambio de configuración, consulta de cobertura, conmutar los relés, etc.
Tan sólo hay que ir al menú “Other> Remote Console” y configurarlo tal y como se muestra en la siguiente pantalla:
Conexionado del Titan con la sonda de temp./humedad
La conexión entre el router TITAN y la sonda de temperatura/humedad la realizaremos utilizando las bornas internas del equipo. Lo primero que realizaremos será configurar los DIP Switch SW2. Pondremos a “ON” los switch 1 y 2 poniendo así el COM1 en modo RS485. Por otro lado pondremos el switch 4 a “ON” para tener activo los 5V de salida, que será con lo que alimentaremos el sensor de temperatura/humedad.
La conexiones (cableado) son muy simples. Conectaremos la borna D+ y D- del router Titan con las bornas RxTx+ y RxTx- de la sonda de temperatura / humedad. Por otro lado alimentaremos la sonda de temperatura/humedad con las bornas 5V/GND.
Ejecución de comandos vía Telnet
Para ejecutar comandos vía TELNET basta con usar un programa similar al Putty.
Una vez conectados e introducidos el user y password, podemos enviar los comandos para leer los equipos modbus así como para conmutar el relé. Para conocer a fondo los comandos AT permitidos consulte el manual de usuario del router Titan.
Consideraciones
- Tras la configuración del router Titan es necesario realizar un reset para coger la nueva configuración y empiecen las lecturas y envíos.
- Cada vez que el router Titan envía una medida a un servidor HTTP lo hace mediante un objeto JSON del siguiente tipo:
{TYPE: MODB,TS:20/09/2015 17:19:44,IMEI:358709050113764,P:Device1,ST:0, ”A”:”49”,”V”:[0,237,16829,49806,0,288,16871,1018]}
Donde:
TYPE indica el tipo de dato (MODB=lectura modbus)
TS indica que Timestamp (es decir, la hora de lectura de la medida)
IMEI indica un identificador único para el módem
P, en caso de HTTP indicaría el campo ID configurado
ST indica la dirección del primero registro modbus leído, en este caso el 0
V Array con los datos leídos. La información de cada uno de los registros (temperatura, humedad, …) la encontrará en la tabla de registros modbus del datasheet de la sonda
https://www.dropbox.com/s/kgten664ekkgod6/tht-modbus-rtu.pdf?dl=0