Cómo registrar datos de contadores de agua en base de datos MySQL
Una guía completa para consultar contadores de agua con conector RS232 y exportar los datos extraídos directamente a una base de datos MySQL.
1. Configuración del protocolo: Caudalímetros y contadores de agua
Tipo de comunicación: Sondeo activo (M-Bus / MODBUS)
Los contadores de agua industriales suelen comunicarse a través de M-Bus (Meter-Bus) por RS232/RS485 mediante un convertidor de nivel. Utilice el complemento «M-Bus Data Parser». El registrador envía una trama REQ_UD2 (solicitud de datos de clase 2) a la dirección específica del contador, y el analizador decodificará el telegrama de respuesta en las variables de volumen, caudal y temperatura.
Aplique esta configuración base para la conexión serie:
{
"port": "COM2",
"baud_rate": 2400,
"data_bits": 8,
"stop_bits": 1,
"parity": "even",
"protocol": "mbus_en13757",
"poll_interval_ms": 60000
}
Selección del complemento M-Bus para leer datos del contador de agua.

Configuración del complemento M-Bus.
¿Listo para conectar Caudalímetros y contadores de agua a MySQL?
2. Configuración de la base de datos: MySQL
Necesitará tener instalado MySQL Connector/ODBC en la máquina que ejecuta el Data Logger. Cree un DSN de sistema que apunte a su instancia de servidor MySQL.
Utilice el siguiente script SQL para crear su tabla de destino. Recomendamos utilizar el motor InnoDB para manejar inserciones concurrentes de alta frecuencia sin bloqueo de tabla.
CREATE TABLE sensor_data ( id INT AUTO_INCREMENT PRIMARY KEY, log_timestamp DATETIME DEFAULT CURRENT_TIMESTAMP, device_id VARCHAR(50), register_value FLOAT ) ENGINE=InnoDB;

Complemento MySQL para exportar datos.

Configuración de conexión de la base de datos MySQL.

Sentencias SQL INSERT en una cola con parámetros personalizados.
3. Solución de problemas específicos del protocolo
- Recepción de datos hexadecimales basura en lugar de telegramas M-Bus: M-Bus requiere estrictamente paridad par. Verifique la configuración del puerto COM en el registrador de datos y asegúrese de que esté configurado con 8 bits de datos, 1 bit de parada y paridad par.
- El registrador muestra datos ilegibles (caracteres extraños) en lugar de los códigos HEX esperados: Debe cambiar el modo «Vista de datos» en la configuración del registrador. Seleccione «Mostrar como #XX» para todos los rangos de bytes.
- ¿Qué valores puede leer el registrador?: M-Bus permite que el registrador lea todos los valores disponibles de una vez. El registrador los exporta como valores separados (variables).
4. Solución de problemas específicos de la base de datos
- El servidor MySQL se ha desconectado: Si su dispositivo serie está inactivo durante la noche, MySQL cerrará la conexión. Active la configuración 'Mantener conexión activa' en el módulo de exportación ODBC del Data Logger.
- ¿Cómo puedo insertar o actualizar una fila de datos para mi dispositivo?: Puede usar cualquier consulta SQL en nuestro complemento 'SQL Database Pro'. En MySQL, puede ejecutar fácilmente el siguiente SQL: 'INSERT INTO ....... ON DUPLICATE KEY .... UPDATE ....'.
- Quiero escribir datos de cada uno de mis dispositivos en una tabla diferente. ¿Cómo puedo hacerlo?: En el complemento 'SQL Database Pro', puede usar un marcador de posición en su SQL. Por ejemplo, 'INSERT INTO SerialData%DEVICE_ID% (....)'. Antes de ejecutar el SQL, el registrador reemplaza %DEVICE_ID% con el valor correspondiente de los datos analizados, y la tabla de destino real variará (SerialData1, SerialData2, etc.).