赞美我上主
am here

导航

 

前言 工厂数字化改造中,很多存量设备没有网口,只有串口(RS485 / RS232)输出数据。常见两类场景:国网智能电表能耗采集、精密天平称重数据采集。 两套方案核心思想一致:网关设备只做信号透传,不解析业务协议;原始报文先经过程序解析处理,再推送到明道云低代码平台完成业务展示、表单、报表。

重要说明:明道云本身不直接对接 MQTT、不能直接解析串口原始报文。需要一个中转服务做中间桥梁:Python 程序订阅 EMQX,解析原始报文,整理成结构化 JSON,调用明道云开放 API 写入明道云应用表单。

方案一:DTZ188 三相智能电表采集

硬件清单:

  • DTZ188 三相四线国网智能电表(支持 DL/T645 红外规约)
  • BS‑4BH‑A 红外抄表器(红外 ↔ RS485 信号转换)
  • NSS‑3D 4G‑DTU(RS485 转 4G 蜂窝网络)
  • DC24V 供电电源、物联网 Cat‑1 SIM 卡

1、物理链路(硬件接线)

DTZ188电表【红外窗口】
        ←→ 红外光信号
BS‑4BH‑A红外抄表器
        ←→ RS485总线:A、B、GND三根线
NSS‑3D 4G‑DTU
        ←→ 4G天线 + 物联网SIM卡
        ←→ 移动蜂窝网络
EMQX MQTT消息中间件
        ↓中转服务(Python):订阅主题、DL/T645解析
        ↓调用明道云开放API写入表单
明道云低代码平台(做业务表单、报表、看板)

接线重点:

  1. BS‑4BH‑A 贴在电表红外视窗,不拆电表铅封、不动强电,适合存量改造。
  2. BS‑4BH‑A 与 NSS‑3D 之间 RS485:A 接 A,B 接 B,GND 必须共地;总线末端可增加 120Ω 终端电阻。
  3. BS‑4BH‑A、NSS‑3D 分别独立 DC24V 供电。

2、数据链路(双向)

协议特性:DL/T645 是主从问答协议,电表不会主动上报数据,后端必须下发查询指令,电表才返回应答报文。

✅下行(明道云 → Python 中转服务 → DTU → 电表)

  1. (可选)明道云表单触发抄表指令;
  2. Python 中转服务接收业务信号,构造 DL/T645 二进制查询报文;
  3. 通过 MQTT 发送到主题 dtu/meter/cmd;
  4. NSS‑3D DTU 订阅该主题,取出原始二进制字节,通过 RS485 总线发给 BS‑4BH‑A;
  5. BS‑4BH‑A 将 RS485 电信号转为 38KHz 红外光,发送给 DTZ188 电表。

✅上行(电表 → DTU → EMQX → Python 中转服务 → 明道云)

  1. 电表收到查询指令,生成 DL/T645 应答二进制报文,以红外光输出;
  2. BS‑4BH‑A 接收红外光,解调转换成 RS485 差分字节流;
  3. NSS‑3D 收到 RS485 原始报文,以 payload 负载发布到 MQTT 主题 dtu/meter/data;
  4. EMQX 接收消息,Python 中转服务订阅主题,获取原始二进制报文;
  5. 中转服务完成DL/T645 协议解析:校验校验和、解析电表地址,提取正向有功电量、三相电压、电流、功率、故障告警;
  6. 组装成 JSON 结构体,调用明道云开放 API,把结构化数据写入明道云应用数据表;
  7. 在明道云内部配置视图、报表、仪表盘,展示能耗数据。

3、通讯协议

  1. 设备层:DL/T645‑2007(电表红外规约,二进制主从问答)
  2. 总线层:RS485 硬件串口,参数:9600‑8‑N‑1
  3. 网络层:MQTT(DTU 作为 MQTT 客户端);也可使用 TCP 透传模式。
  4. 对接明道云:HTTP REST API(JSON)

4、整套技术栈

  • 硬件:BS‑4BH‑A 红外抄表器、NSS‑3D 4G‑DTU、Cat‑1 物联网卡、DC24V 电源
  • 中间件:EMQX(MQTT Broker)
  • 中转服务:Python paho‑mqtt,实现 DL/T645 报文解析;调用明道云开放 API
  • 业务平台:明道云低代码平台(存储业务表单、报表、看板)
  • 存储说明:原始时序数据可保存至 MySQL/ClickHouse;业务结构化数据写入明道云数据表。

5、本方案踩坑小结

  1. 红外探头松动、遮挡会造成丢包;
  2. RS485 A/B 接反、缺少 GND 共地,出现乱码;
  3. DTU、抄表器串口波特率校验位必须保持完全一致;
  4. DTU 仅透传原始字节,本身不会解析电表电量数据;
  5. ⚠️明道云不能直接消费 MQTT 二进制报文,必须要有 Python 中转程序做协议解析,再通过 API 推送到明道云。

方案二:Adam‑SPB2103i 精密天平称重采集

硬件清单:

  • Adam‑SPB2103i 精密电子天平
  • USR‑TCP232‑410S 串口服务器(RS232 转以太网)
  • 网线、交换机

1、物理链路(硬件接线)

Adam‑SPB2103i天平【RS232接口】
        ←→ RS232交叉串口线:天平TX接网关RX,天平RX接网关TX,GND共地
USR‑TCP232‑410S串口服务器
        ←→ 网线
        ←→ 工厂局域网交换机
EMQX MQTT Broker
        ↓中转服务(Python)订阅主题、正则解析重量
        ↓调用明道云开放API写入表单
明道云低代码平台(称重业务表单、报表)

RS232 必须交叉接线 TX↔RX,GND 共地,否则收不到数据。

2、数据链路(双向)

协议特性:天平主动持续输出 ASCII 文本重量字符串,不需要下发查询指令。

✅上行(天平 → USR 网关 → EMQX → Python 中转 → 明道云)

  1. 天平持续输出 ASCII 原始文本,示例: 4.367 g\r\n;
  2. RS232 线缆将字符传输至 USR‑TCP232‑410S;
  3. 网关配置 MQTT 客户端模式,把原始 ASCII 字符串作为 payload,发布主题 scale/spb2103i/data;
  4. EMQX 接收消息;Python 中转服务订阅主题获取原始文本;
  5. 使用正则表达式提取重量数值,做数据有效性过滤;
  6. 组装 JSON,调用明道云开放 API,把称重数据写入明道云数据表;
  7. 明道云配置表单视图、统计报表、看板展示称重记录。

✅下行(明道云→Python 中转→USR 网关→天平,可选,用于清零、去皮)

  1. 明道云触发业务动作;
  2. Python 中转服务下发控制指令,发布到主题 scale/spb2103i/cmd;
  3. USR 网关订阅主题,取出指令转为 RS232 串口信号下发给天平。

3、通讯协议

  1. 设备层:天平自定义 ASCII 文本输出协议;
  2. 总线层:RS232 串口,参数 9600‑8‑N‑1;
  3. 网络层:MQTT,也可使用 TCP Client 透传。
  4. 对接明道云:HTTP REST API(JSON)

4、整套技术栈

  • 硬件:Adam‑SPB2103i 天平、USR‑TCP232‑410S 串口服务器
  • 中间件:EMQX MQTT Broker,两套采集复用同一套中间件
  • 中转服务:Python paho‑mqtt,正则解析重量,调用明道云 API
  • 业务平台:明道云低代码平台,实现称重业务表单、查询、统计报表

5、本方案踩坑小结

  1. RS232 需要交叉接线 TX‑RX,GND 必须共地;
  2. 网关串口参数要和天平串口参数严格匹配;
  3. 串口服务器只透传字符串,不会自动提取重量;解析逻辑在 Python 中转服务;
  4. 明道云不支持直接接收 MQTT 原始报文,依赖中转程序做数据预处理后 API 写入。

两套方案整体对比表

表格

对比项电表能耗采集(BS‑4BH‑A+NSS‑3D)天平称重采集(Adam+USR‑TCP232‑410S)
物理接口 电表红外 → RS485 → 4G 无线 天平 RS232 → 以太网有线局域网
原始报文格式 DL/T645 二进制报文 ASCII 可读字符串
交互模式 主从问答,下发查询指令才应答 设备主动源源不断上报数据
网关功能 透传原始二进制字节,不解析业务 透传原始 ASCII 字符串,不解析业务
网络 4G 蜂窝 Cat‑1 工厂局域网网线
后端解析 Python 中转服务实现 DL/T645 二进制解析 Python 中转服务正则提取重量数字
中间件 EMQX MQTT EMQX MQTT
业务平台 明道云(通过 REST API 写入结构化数据) 明道云(通过 REST API 写入结构化数据)

博客总结

两套采集方案底层逻辑完全一致:

  1. 串口网关(DTU / 串口服务器)只负责信号转换与透传,不做业务解析。
  2. 明道云低代码平台无法直接消费 MQTT 原始二进制 / ASCII 报文;必须有独立中转服务:完成报文接收、协议解析、数据清洗,组装 JSON,调用明道云开放 API 写入数据表。
  3. EMQX 作为统一物联网接入中间件,电表、天平设备可以统一接入,解析之后的数据给到明道云做业务层的表单、报表、看板,实现低代码快速搭建能耗、称重业务管理。

拓展阅读 《边缘网关是什么,离散车间采集链路通俗解析》 《MQTT 与 Modbus 有什么区别》


简历项目片段(可直接复制,电表 + 天平 + 明道云整合)

负责能耗与称重数据采集项目: 1、DTZ188 三相智能电表,使用 BS‑4BH‑A 红外抄表器完成红外‑RS485 信号转换,对接 NSS‑3D 4G‑DTU,DTU 以 MQTT 模式上送 DL/T645 二进制原始报文至 EMQX; 2、Adam‑SPB2103i 精密天平对接 USR‑TCP232‑410S 串口服务器,MQTT 上报 ASCII 格式称重原始报文; 3、开发 Python 中转服务,订阅 EMQX 对应主题,分别完成 DL/T645 电表协议解析、天平正则重量提取,完成数据校验清洗; 4、通过明道云开放 REST API,将结构化能耗、称重数据写入明道云低代码平台,利用明道云搭建业务表单、数据报表与可视化看板。

posted on 2026-10-10 23:49  94nut  阅读(8)  评论(0)    收藏  举报