跳至主要內容

智能水表接入 ThingsCloud 实现远程抄表

约 1080 字大约 4 分钟

智能水表接入 ThingsCloud 实现远程抄表

这个示例,我们介绍如何将 RS485/Modbus 采集型水表接入 ThingsCloud,定时上报用水量,同时利用 ThingsCloud 的任务系统,来定期生成单位时间的用水量统计,例如:每日用水量和每月用水量。

通过分析不同业务水表的日、月、年用水统计数据,可以找到减少水费的方法。

通过 DTU 透传接入 ThingsCloud

关于 DTU 如何连接到 ThingsCloud,请参考以下文档和教程。ThingsCloud 是开放的物联网平台,支持任何 DTU 接入。

添加属性定义

首先,我们在设备类型中,找到 功能定义,添加属性定义,如下图:

配置 Modbus 寄存器

接下来,确保设备类型的接入协议设置为Modbus RTU 透传,在设备类型的 Modbus 配置中,设置属性对应的设备端 Modbus 寄存器参数。

参考设备厂商提供的 Modbus 协议手册,可以知道水表读数的寄存器信息如下:

  • 寄存器起始地址:0x0001
  • 寄存器数量:2
  • 数据类型:32 位无符号整数

水表通常还支持的寄存器包括:

  • 控制阀门开关
  • 查询阀门状态
  • 读数清零

不同厂家的产品,支持的 Modbus 寄存器略有不同,请您参考实际产品手册。

根据手册中的寄存器信息,我们对设备类型的 Modbus 设置如下:

接下来,记得开启 属性智能转换,并设置正确的自定义数据流标识符,自定义数据流用于云平台和 DTU 之间收发 Modbus RTU 报文,通常默认创建的自定义数据流标识符为 stream,请您根据实际情况为准。

通过任务查询数据

Modbus 数据上报需要主机发起查询,也就是从云平台下发查询指令,通过 DTU 透传到终端设备。

我们来创建 Modbus 查询任务,如下图:

保存任务后,我们可以手动点击单次运行任务,也可以在任务的定时选项中,设置定时时间间隔,例如 5 分钟,这样便可以每 5 分钟获得最新的数据。

查看数据

通过云平台的智能 Modbus 解析,在设备概要页面的属性中,我们可以实时看到设备最新上报的属性数据,如下图:

差值计算

通常水表上报的是累计总用水量,可以通过 ThingsCloud 的定时任务,周期计算并生成单位时间的用水量。

例如:定时任务在每天的 0 时运行,用总用水量减去前一天的总用水量,得出当天的总用水量。

使用 ThingsCloud 任务中的属性云函数,可以快速实现这个计算逻辑。如下图:

运行任务后,得到每日用水量的数值,如下图:

还可以再创建一个每个月定时执行的任务,来计算每个月的用水量。

编辑 App 设备界面

对于远程抄表项目运营商,通过 ThingsCloud 的零代码用户应用平台,可以随意设计个性十足的 App 设备界面,为用户实现水表的数字化管理系统。

同时,借助 ThingsCloud 内置的用户权限系统,可以将设备分配给不同终端用户账号。

更多功能

设备接入成功后,您在 ThingsCloud 的探索之旅才刚刚开始,请浏览: