必须先确认水表协议类型(如cj/t188或dl/t645-2007)和rs485物理接口参数(波特率、地址等),地址不可为0或255;再正确接线、配置网关串口及iot平台变量绑定与数据解析。

确认水表流量计通信协议与物理接口
先摸清水表流量计实际支持的协议类型和接线方式,否则后续所有配置都会失败。多数国产智能水表使用DL/T645-2007或CJ/T188协议,极少数用Modbus-RTU;物理接口99%为RS485(A/B两线),部分带脉冲输出或M-Bus接口的需另配转换器。
翻看水表背面铭牌或说明书,重点找“通信协议”“波特率”“数据位”“停止位”“校验位”“从站地址”这六项。若找不到,用万用表测RS485端子间电压——有±2V左右差分电压且随流量变化,基本可确认是485口;无电压则可能是脉冲或无源干接点,不能直接连网关采集。
【必须确认从站地址不为0或255】 地址为0或255的水表在多数采集协议中被定义为广播地址,单台设备无法被唯一识别,会导致读数失败或数据错乱。
用工业智能网关建立物理连接与串口映射
将水表RS485的A端(通常标为“485+”或“TX+”)接到网关COM0口的A端,B端(“485−”或“RX−”)接B端;屏蔽层单点接地,不接网关外壳。
网关供电后,用网线将电脑接入网关LAN口,设置电脑本地网卡IP为192.168.2.x(如192.168.2.10),浏览器访问http://192.168.2.1登录管理界面。
进入【数采配置 → 添加设备】,协议选CJ/T188(国产水表通用)或DL/T645-2007(电力系水表),串口选COM0,波特率填水表标称值(常见9600/19200),从站地址填水表实际地址(如001),其他参数按说明书勾选。
保存后点击【重启采集程序】,此时网关开始轮询水表。若状态栏显示“离线”或“无响应”,立即检查接线极性——RS485反接时绝大多数网关无法通信,且不会报错,只会沉默。
在IoT平台侧完成变量绑定与数据解析
方法一:通过Azure IoT Central设备网桥对接
登录Azure IoT Central应用 → 设备模板 → 新建模板 → 选择“自定义设备” → 添加接口模型(Interface)→ 在“Telemetry”下新增字段,名称填“flow_rate”,类型选double,单位填“m3/h”,语义类型选“FlowRate”。
回到设备实例页,点击“连接”→ 复制ID scope、设备ID、主密钥 → 在网关云平台配置页粘贴,选择协议为MQTT,启用TLS加密,上报周期设为30秒。
方法二:直连阿里云IoT平台(适用于预付费水表场景)
在阿里云IoT控制台创建产品,选择品类为“智能水表”,数据格式选“透传”,添加物模型:属性“current_volume”(累计水量,单位m³)、“instant_flow”(瞬时流量,单位L/min)、“battery_level”(电池电量,%)。
网关侧需将CJ/T188原始报文按HJ212-2017格式封装,重点处理:帧起始符68H、站点地址(左补零至12位)、数据时间(YYYYMMDDHHMMSS)、测量值BCD编码、校验和。任意一位编码错误,平台将丢弃整帧。
配置完成后,在平台“监控运维 → 实时日志”中查看设备上线状态与首条报文时间戳。若3分钟内无日志,说明网关未成功解析水表响应,需返回第一步复核水表地址与波特率是否完全一致。











