实例3-空调设备对接(Modbus)
# 实例简介
本例中,使用支持RS485串口
的DTU,轮询使用Modbus协议的设备,Modbus二进制数据在云端进行图形化编排解析后,即可在web端或者小程序呈现设备数据,平台会处理数据中的报警消息,根据报警配置进行存储或者消息推送,关键数据会实时保存,用于曲线的显示和历史数据的导出。
# 预期效果
- 根据设备的Modbus点表信息,快速完成设备协议适配。
- 设备上报数据,web页面、小程序可实时呈现设备状态,设备原始数据可保留,可解析,关键数据可保存,可绘制数据曲线。
- 可定义报警变量,触发报警后可发出电话、短信、微信报警。
- 介绍复杂协议的表格编排方法。
# 实例设备
所有支持RS485串口轮询的DTU均可完成本示例,本例中使用YED-S710(YED-S724Y)型号DTU,对接空调控制器(真机),完成Modbus数据的轮询、解析、显示。
# 接入过程
# Step.1 进入可视化平台
登录可视化平台 (opens new window),点击免注册快速开始
快速进入系统。
- 免注册进入系统一般用于快速产品验证,不建议正式使用,正式使用时请使用短信登录(登录即注册),设定密码后可以使用手机号和密码登录。
- 当更换浏览器后,免注册登录的默认ID会变更,同一电脑同一浏览器可反复登录,免注册登录的ID保持不变(如果电脑外接设备后,可能导致免注册登录ID发生变化)。
# Step.2 快速接入
输入DTU的IMEI,新创建产品,输入一个产品名称(空调监控),选择TCP方式完成DTU的网络通道配置。
- 说明:选择MQTT同样可以完成本例,设置DTU的网络通道为MQTT方式即可。
添加后设备出现在设备列表,此时设备处于离线状态
# Step.3 配置DTU参数
- 说明:本步骤(Step3)在银尔达DTU配置平台操作完成, 银尔达DTU配置平台与可视化平台账号各自独立,请单独注册使用。
【1】 登录DTU配置平台:银尔达DTU配置平台 (opens new window),点击分组管理
创建分组空调监控
。
【2】 配置串口参数:点击参数配置->串口参数
进行串口参数配置,如下图所示。
- 说明:用户需要根据实际情况正确设置串口参数。
【3】 轮询数据设定 根据空调控制器的点表,设置轮询数据
- 说明:此过程需要一定的Modbus协议知识,如果需要帮助,可以联系我们协助完成。
此控制器的主要点表定义截图
本例中实现的功能有
- 设备制冷温度设置和读取,制热温度设置和读取,模式设定和读取
- 环境温度、热水温度等变量的读取
需要轮询485寄存器的命令为:
- 01 03 01 F6 00 04 A5 C7 【制冷制热温度等】
- 01 03 03 F2 00 09 24 7B 【环境温度等】
【4】 设置DTU轮询参数 设定应答超时时间200毫秒,轮询周期时间60000毫秒(60秒),设置轮询数据,如下图。
【5】 配置服务器信息:
点击参数配置->网络通道参数
配置通道1,如下图所示。
其中:
- 心跳包数据:TCP-PING
- 服务器地址:iot.di-link.com
- 服务器端口:1883
- 登录注册信息内容:REG_${IMEI} 保存参数生效。
【6】 添加设备: 将设备IMEI添加到DTU配置平台。
【7】 将设备分配到刚才创建的分组串口透传
。
【8】 DTU接入SIM卡后上电后,会自动更新配置,然后连接可视化平台。
# Step.4 连接DTU和空调控制器,也可以用串口工具模拟
- 将DTURS485模块连接空调控制器RS485口,请注意两个485接口的A线接A线,B线接B线。
# Step.5 完成数据编排
【1】设备上线:
DTU定期轮询设备,设备回复数据后,被DTU透传到可视化平台,平台收到设备的数据后,会标记设备上线,如下图所示。
【2】原始数据显示: 点击此设备的查看设备数据,可以看到设备上报的原始数据,可以点击JSON/HEX切换按钮更改显示方式。
【3】协议编排:
此时数据并没有进行识别,仅是原始显示,点击原始数据后的编排
操作,会自动跳转到产品->协议编排
页面。
在编排页面,会自动刷新出设备上报的最后一组数据,一组数据中包含在DTU配置平台上设置的所有轮询数据帧,
如果数据显示不完整,可以点击刷新一组数据
重新获取。
点击某帧数据,系统能自动识别是否是Modbus数据格式,如果识别成功,会按照Modbus格式分解数据,自动标注设备地址、命令字、字节数、数据、校验码。
【3.1】数据包对应: 系统获取的数据的帧顺序,和DTU配置的轮询顺序是一致的,也可以根据帧数据长度判断此帧数据对应的轮询数据, 结合设备的Modbus协议定义,点击对应的寄存器进行编辑,本例获取的一组数据为:
- 010308008C01C20003000191DF 对应的轮询数据为:01 03 01 F6 00 04 A5 C7 【制冷制热温度等】
- 0103120153F44800F7FC1800F7020BFC18FC1800009A6D 对应的轮询数据为:01 03 03 F2 00 09 24 7B 【环境温度等】
【3.2】编排第一帧:
第一帧数据为:010308008C01C20003000191DF ,点击此数据后的编排,根据协议定义,
设定寄存器首地址为01F6
(不设定首地址也可以编排,设定后便与和协议对比查看),本包数据标签为控制
,根据协议点击对应寄存器,完成本帧的编排。
【3.2.1】点击01F6
寄存器,定义制冷温度
,报警设置设定为报警且推送,注意修正系数为0.1,可写,如下图所示。
【3.2.2】点击01F7
寄存器,定义制热温度
,报警设置设定为报警且推送,注意修正系数为0.1,可写,如下图所示。
【3.2.3】点击01F8
寄存器,定义设定模式
,注意此变量使用枚举定义,可写,如下图所示。
- 说明:没有使用的寄存器可不用定义。
【3.3】编排第二帧:
第二帧数据为:0103120153F44800F7FC1800F7020BFC18FC1800009A6D,根据协议定义。
设定寄存器首地址为03F2
(不设定首地址也可以编排,设定后便与和协议对比查看),本包数据标签为状态
,根据协议点击对应寄存器,完成本帧的编排。
【3.3.1】点击03F2
寄存器,定义环境温度
,注意修正系数为0.1,如下图所示。
【3.3.2】参考环境温度
,定义其他寄存器即可,部分传感器未接通,不使用这些数据即可 。
【3.4】特征值:
设置特征值(T图标)
:Modbus格式的数据,会有系统自动设定特征值,包含设备地址、命令子、字节数,用于识别每帧数据;
如果某些帧的特征值相同,系统会根据帧所在顺序判别,此时可能会有一定的误判,建议用户修改轮询语句,保证每帧数据的特征值都不同。
保存后生效。
【4】UI编排:
点击UI编排
, 可以创建小程序设备主控页面模版,本例可参考下图进行配置。
此页面如果无法满足实际需要,可以定制完成。
编排完成后,小程序会按照编排的模版进行页面显示。
【5】关键数据:
点击关键数据
,选择变量后,系统即可实时保存变量数据。
- 被设置了
关键数据
的变量,会实时完成解析,并保存到数据库,形成曲线数据。- 一个产品中,
关键数据
最多30个,默认保存90天。- 本例中,设置环境温度、系统蒸发回温、系统冷凝出温、系统冷凝回温、制热温度、制冷温度为关键数据。
【6】报警阈值:
点击报警阈值
,选择设置了报警属性的参数,设定阈值低报参数和阈值高报参数。
# Step.6 设备出库,小程序绑定
【1】销售出库:进入设备管理->销售出库
,点击单设备出库
,输入设备IMEI后点击确认,设备即可被终端用户小程序绑定。
- 如果用户退回设备,可执行
退货入库
清除设备的使用信息,可再次出库使用。
【2】小程序:微信小程序搜索“水滴芯”(示例小程序,可定制),验证码登录
- 重要说明:web系统的使用者是厂家或经销商,非终端用户,小程序使用者是终端用户,web账户和小程序账户互不相通。
- 一个手机号可同时注册web账号(厂家或经销商)和小程序账号(终端用户),两个账号独立。
【3】绑定设备:点击设备添加按钮,使用微信直接扫描设备二维码,即可完成设备绑定,也可以使用水滴芯小程序里的添加设备功能扫描二维码完成绑定。
- 设备二维码使用设备IMEI生成,可视化平台中的设备列表处可以显示设备二维码。
![]()
绑定后,设备出现在设备列表,如果设备300秒(可调)没上报数据,会设置设备离线。
【4】项目设置: 小程序上进入项目->默认项目
,长按项目二维码,完成项目关注,可接收微信消息。
如果需要其他用户关注项目,只需要把项目二维码发送给用户用微信识别即可。
刷新后,可显示最新关注此项目的微信用户。
添加手机联系人,可接收电话短信消息, 可添加多人手机。
# Step.7 效果测试
- 需保证有足够余额,电话0.15元/条,短信0.1元/条,微信免费。
- 新注册用户会赠送1元费用,用户可在
小程序->我的->账户余额
中完成充值,费用不足时,无法完成电话和短信推送,只可完成微信公众号推送。
空调控制器上电后,DTU会按照设定的轮询语句定期查询数据,并将收到的数据回传给可视化平台;可视化平台根据设定的解析规则实时解析数据, 处理报警消息;
- 当设定的制冷温度低于设定的阈值下限(18度)或者高于阈值上限(28度)时,会触发报警推送。
- 当设定的制热温度低于设定的阈值下限(30度)或者高于阈值上限(50度)时,会触发报警推送。
- 如果控制器支持状态(故障)位,可以将关键状态位设定为开关量且报警推送,获取设备的实时关键状态。
【1】报警消息接收。
【2】小程序查看设备当前数据、曲线数据、报警信息。
【3】后台查看设备曲线数据
【4】后台查看设备报警信息
【5】后台查看设备原始日志
【6】后台查看设备当前数据
# 复杂设备接入
复杂类型的Modbus设备,可以使用Excel表格编排点表,上传表格完成解析解析,系统会自动计算所需要的轮询数据
- 复杂设备接入需要一定基础的Modbus协议知识,用户可联系我们协助完成对接,也可以参考以下介绍自行对接。
# Step.1 获取设备协议
一般复杂类设备会提供比较详细的寄存器定义文档,如下图所示的协议片段:
# Step.2 编排协议表格
按照示例表格,将所需要的寄存器编排到协议表格中
# Step.3 定义产品,录入协议
在可视化平台定义好产品,定义产品时,选择Modbus RTU类型,如下图。
在产品的协议编排页面录入表格
录入编排的excel表格,系统解析表格后生成产品协议,并自动生产DTU配置参数,点击下载获取
可根据DTU配置参数进行DTU平台的配置
# Step.4 录入设备使用
在可视化平台录入设备,选择对应的产品,输入设备IMEI后,即可出库绑定使用。
- 录入设备时,需要有足够的授权数量,授权数量不足时可线上采购授权快速完成,也可线下执行采购合同。
# 任务脚本
某些应用场景,需要使用任务功能满足需求,典型的需求包括:
- 获取DTU的MAC(IMEI),显示在屏幕上,方便扫码绑定。
- 获取RTC时钟,校准本地设备。
- 加快本地485数据的轮询速度,但是使用变化上报,提高数据的同步速度,且减少流量。
- 使用定时上报全状态、网络重联上报全状态,用于保持设备状态完整。
- 获取网络连接状态,显示在本地屏幕上,方便查看。
- ...
在支持任务的DTU型号上,上述需求均可以完成,请联系我们 (opens new window)沟通任务需求。