¿Buscas alguna otra cosa?
Detalles del escenario:
- Hay una máquina de vending con un puerto RS232 que conectar a una plataforma MQTT, donde se implementará el protocolo de comunicaciones. Es decir, al estar implementado el protocolo de lectura de la máquina de vending en la plataforma MQTT, el módem debe comportarse como una “pasarela transparente RS232-MQTT”, proporcionando a la plataforma MQTT acceso al bus de datos de la máquina en formato RAW
- El módem se gestiona desde la plataforma, cambiando su configuración en remoto vía MQTT. También debe de informar de forma periódica de su estado (cobertura, tecnología usada…)
- El módem debe de informar inmediatamente a la plataforma MQTT cuando detecte un cambio en una de sus entrada, que estará conectada al sensor de puerta abierta de la máquina
Solución: MTX-Tunnel firmware + MTX-Java-IoT/MTX-Java-T/MTX-Java-T2 Archivo de configuración config.txt para socket TCP:
Configuración | Observaciones |
COMM_baudrate: 9600 |
Serial port baud rate 8 bit data No flow control No flow control 1 stop bit No parity APN GPRS provided by the GSM operator GPRS Login GPRS Password Permanent 3G session The SIM card PIN (if there is any) MQTT serial gateways will be used MTX modem model being used One ping every 35 min. without communications Ping address Gateway port RS485 No fragmented networks No limitations to AT commands Time synch protocol Time server Backup time server Send SMS with commands from any phone Modem won’t respond IP to a missed call/SMS Commands can be sent to the MTX by SMS MTX responds with an SMS to a command SMS 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 Sending mode MQTT Topic where status data will be sent Extended data not sent (E/S, ADCs…) Every 300 secs. (5 mins.) there’s a sending Logger activated Size of the record Number of records in flash storage Sending mode MQTT Sending topic to MQTT broker of the data Changes in digital inputs automatically sent |
Detalles:
- En el presente ejemplo se crea una pasarela transparente “RS232- MQTT” que permite el intercambio de datos RAW entre el bróker MQTT (u otra aplicación conectada al bróker MQTT) y la máquina conectada al puerto RS232 del módem. Todos los datos que el módem reciba por su puerto serie RS232 serán reenviados vía MQTT al topic del bróker especificado en el parámetro “MQTT_commtxtopic”. Y viceversa, el módem MTX se subscribe al topic especificado en el parámetro “MQTT_commrxtopic”, por lo que cualquier flujo de datos enviado a dicho topic (desde la propia plataforma MQTT o aplicación conectada a la misma) será reenviado al módem MTX, el cual reenviará automáticamente por su puerto serie RS232
- Si en lugar de precisar una pasarela RS232- MQTT necesita una pasarela RS485-MQTT (y el módem MTX dispone de puerto RS485) tan sólo deberá establecer el parámetro “MTX_invertedCom: on” en el fichero de configuración
- 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 en su protocolo
- Además, el módem enviará su estado de forma periódica (cada 300 seg) al bróker MQTT (en un objeto JSON) al topic configurado en el parámetro “DNS_mqtttopic”. De forma análoga, cada vez que se produzca un cambio en una de sus entrada digitales, el módem enviará un JSON con los cambios al topic configurado en el parámetro “LOGGER_mqtttopic”