¿Buscas alguna otra cosa?
Detalles del escenario:
- Se pretende realizar una lectura de un parque grande de contadores de diferentes tipos (contadores IEC, contadores con protocolo DLMS/Cosem, Analizadores de redes de protocolo Modbus, etc Todos los dispositivos cuentan con un puerto serie RS232 o RS485
- Con el fin de abaratar el sistema, se utilizarán dispositivos económicos con conectividad 2g/3g/4g, como el módem MTX-4G-JAVA-T, cuyo modelo cuenta con bus RS232 y RS485, por lo que es apto para todos los casos. Las tarjetas SIM utilizadas podrán ser de cualquier operador, por lo que no está garantizado que las IPs que proporcionen las tarjetas SIM sean con IP pública y mucho menos con IP fija. Por lo tanto la conectividad debe establecerse siempre DESDE el contador HACIA la plataforma
- La comunicación entre plataforma y dispositivos será MQTTS, lo que garantiza la conectividad requerida en el apartado anterior y añade una capa de seguridad SSL en las comunicaciones entre plataforma y contador
- Los módems actuarán como “pasarelas transparentes Serie – MQTT”, por lo tanto la interpretación de los protocolos (es decir la inteligencia de protocolo IEC, DLMS/Cosem, Modbus, …) estará en la plataforma. Esto permite que en caso de añadir nuevas prestaciones no sea necesario actualizar remotamete el Firmware de todo el parque de módems, con el riesgo y complejidad que conlleva, sino actualizar únicamente el software en un único lugar, el de la plataforma MQTT
- Así mismo, además de poder leer desde la plataforma los distintos contadores, debe implementarse un “Device Manager”, para poder visualizar de manera constante el estado de los módems (estado, cobertura, …) así como poder cambiar la configuración de los mismos en cualquier momento
- Los módems también tienen que tener habilitada la comunicación por SMS, permitiendo que, desde varios números de teléfonos autorizados, se pueda comprobar el estado, cambiar configuraciones (por ejemplo un APN incorrecto que no permita la comunicación con la plataforma MQTT), ejecutar resets remotos o cualquier otra operación
- El módem debe tener el firmware (MTX-Tunnel) firmado y bloqueado. Es decir, no podrá manipularse ni cambiarse ni con acceso físico al dispositivo. Además, la configuración del módem estará encriptada y para mayor seguridad, la memoria bloqueada. Únicamente podrá desbloquearse, de ser necesario, desde la plataforma MQTT o desde un número de teléfono autorizado
- El módem debe de contar con Watchdogs que le permitan autorecuperarse de situaciones de conectividad problemáticas. Aunque no se utilizará por no ser necesario, el módem debe estar preparado para poder activar desde la plataforma MQTT o vía SMS, un autoreset diario cada 24h
Solución: MTX-Tunnel firmware + MTX-Java-IoT/MTX-Java-T/MTX-Java-T2
Archivo de configuración config.txt (master):
Configuración | Observaciones |
COMM_baudrate: 9600 COMM_bitsperchar: 8 COMM_autorts: off COMM_autocts: 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: mqtt MTX_model: 199801445 MTX_ping: 35 MTX_pingIP: 8.8.8.8 MTX_invertedCom: off MTX_msToSend: 100 MTX_ATLimited: off SMS_allPhones: off SMS_sendIP: off SMS_ATEnabled: on SMS_ATResponse: on SMS_validPhone1: +34666123456 SMS_validPhone2: +34666123457 FIREWALL_enabled: off MQTT_enabled: on MQTT_server: ssl://test.mosquitto.org:8883 MQTT_id: [IMEI] MQTT_attopic1: [IMEI]/AT MQTT_atrtopic: [IMEI]/ATR MQTT_keepalive: 300 MQTT_commrxtopic: rxmaster MQTT_commrxtopic: txmaster DNS_enabled: on DNS_mode: mqtt DNS_mqttTopic: [IMEI]/dns DNS_extended: off DNS_period: 300 |
Serial port baud rate 8 bit data No flow control No flow control 1 stop bit No parity GPRS APN from your network operator GPRS Login GPRS Password MTX-Tunnel is always GPRS connected If SIM card has no PIN security, use 0000 value MQTT serial gateways will be used MTX-Terminal modem model used One ping every 35 min. without communications Ping address Gateway port RS485 No fragmented networks We don\’t want AT command limitations Send SMS with commands from any phone Modem won’t respond to a missed call/SMS Commands can be sent to the MTX by SMS MTX responds with an SMS to a command SMS Authorized phone number 1 Authorized phone number 2 No firewall MQTT service enabled Broker IP/DNS specified, including identifying port Identifier MQTT topic to send AT commands Topic to send replies to commands to Connection keep alive (300 seconds) Data received will be retransmitted via serial Data received v/serial, retransmitted to this topic Status data sending activated MQTT sending mode Topic where status data are sent Extended data (E/S, ADCs…) are not sent One sending every 300 secs (5 mins.) |
Detalles:
- El fichero config.txt mostrado corresponde a los módems conectados a dispositivos RS232. Si usted necesita utilizar el puerto RS485, tan solo necesita cambiar el parámetro MTX_invertedCom a “on”
- De igual forma debe ajustar los valores de los parámetros COMM_ ajustándolos a la configuración del puerto serie del dispositivo conectado
- Si utiliza comunicaciones SSL y necesita incorporar los certificados de su bróker, al final de este documento encontrará un Anexo con el procedimiento
- Recuerde que con este ejemplo la plataforma MQTT acceder directamente al puerto serie del dispositivo y debe ser ésta la que interprete el protocolo, pues el módem trata la información de forma transparente. Además, desde la plataforma estará monitorizando el estado de los módems (pues los módems envían su estado cada X minutos) y además puede utilizar los topics MQTT_ATTopic1 para enviar comandos AT al módem desde la plataforma en cualquier momento (para realizar cambios de configuración, resets, etc). Recuerde también que puede establecer hasta 3 topics de comandos AT para cada dispositivo. Si pone el mismo tópic en todos los módems podrá, ejecutando un solo comando en su plataforma MQTT, ejecutar una acción (comando AT) en todos los módems
- Con la configuración presentada, todos los módems se subscriben al topic [IMEI]/rx. Esto hace que todas las tramas de datos enviados por la plataforma a ese topic sean recibidos por el modem correspondiente y retransmitido, tal cual, por su puerto serie RS232 o RS485. De la misma forma, todas las tramas de datos recibidas por el puerto serie RS232 ó RS485 de los módems, son retransmitidos automáticamente vía MQTT al topic [IMEI]/tx. Recuerde que no es necesario substituir [IMEI] por el IMEI correspondiente, el módem lo hace automáticamente
- Tenga presente que las latencias de las comunicaciones pueden ser algo mayores que con una comunicación directa (ya que hay un intermediario, el bróker mqtt, y la velocidad de las comunicaciones dependerán de la potencia de éste). Ajuste los tiempos de timeout en caso de ser necesario