DDSU666,我是这样玩的

 01 前言

本文章原文发表于我的微信公众号,请大家关注阅读,涉及的源代码等都在公众号,请搜索公众号: 智能家居NodeRed和HomeAssistant 即可关注。

02 概述

我并没有DDSU666这款电表的使用需求,但还是买了一只。原因有两个,其一是为了测试NodeRed解析流程中的浮点数据类型,其二是这款电表网友们关注度较高。

03 如何切换到Modbus通讯

DDSU666出厂默认是DL/T645协议,但我们一般都是用Modbus,我拿到的这只也不例外,按照网上搜罗的教程切换通讯协议操作起来都比较繁琐,于是根据资料编写了一条NodeRed流程来执行,大大简化了操作流程,无需计算校验码、无需进制转换、无需其他软件即可一键完成。

首先确定波特率:在液晶屏上读取BAUD的值,例如BAUD-1,则对应波特率为2400bps,0:1200bps,2:4800bps,3:9600bps

获取数据校验方式:查看屏幕显示是否为8N1或者8N2,一般情况下都是8N2校验。然后在NodeRed中安装serial port节点,使用serial request节点,设置好通讯参数如下:

图片

如下流程中在Inject节点输入16位表号,可以从液晶屏幕显示或者机身条码获取,按照顺序填入触发节点即可切换到Modbus通讯。

图片

04 更改Modbus从站地址

为方便更改从站地址我又编写了一条流程,只需查看显示屏当前的Modbus从站地址和波特率(需更改serial port波特率设置),例如把从站地址72改成1,Inject节点填入Now的值72,New的值1,触发节点即可完成。

图片

05 更改通讯校验方式

在实际使用中,总线上的设备一般都不会只有一台,如果要使他们都能同时读取,就必须保证他们的通讯参数一致。但是正泰的电表基本默认都采用的是偶校验方式,如果把它改为无校验呢?于是我又查询了相关资料写出了下面一条NodeRed流程,这次只需要填写当前的从站地址即可,触发流程即可更改。

图片

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值