全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 智能电网 >

Node-RED实现电表数据采集并上云

时间:2024-06-07 08:21

人气:

作者:admin

标签: docker容器  数据采集  电表 

导读:本案例将通过Docker容器安装DLT-645协议插件采集实现电表数据上云,前面已经讲过ModbusRTU协议通过Node-RED上云,如果采用支持ModbusRTU电表可以参考之前的“Docker容器实现边缘采集”。前文...

本案例将通过Docker容器安装DLT-645协议插件采集实现电表数据上云,前面已经讲过Modbus RTU协议通过Node -RED上云,如果采用支持Modbus RTU电表可以参考之前的“Docker容器实现边缘采集”。

首先需要搭建Node-RED运行环境,可以参考以往案例,也可以直接百度搜索,接下来的部分都是在搭建好环境的基础上进行。

安装插件

打开“菜单”选择“节点管理”在点击控制板,选择“安装”;

d080d218-2463-11ef-bd4a-92fbcf53809c.png

搜索插件“node-red-contrib-meter-works”,点击安装即可,该插件由Node-RED社区的三方开发者制作的免费插件。

d0908032-2463-11ef-bd4a-92fbcf53809c.png

创建“流程”

这次使用MQTT服务器来转发数据,Node-RED内置MQTT3.1.1协议可以快速接入云服务器,创建一个“MQTT IN”节点用于接收平台请求数据;

d09cd26a-2463-11ef-bd4a-92fbcf53809c.png

上图“2”为添加一个MQTT连接(通过EMQX搭建的私有服务器,使用阿里云、ONENET等支持标准MQTT3.1.1服务器与此处类似);

d0c0b202-2463-11ef-bd4a-92fbcf53809c.pngd0ca85c0-2463-11ef-bd4a-92fbcf53809c.png

以阿里云为例演示如何配置标准MQTT3.1.1服务连接方法。

d0e70a4c-2463-11ef-bd4a-92fbcf53809c.pngd1008cce-2463-11ef-bd4a-92fbcf53809c.png

登录阿里云查询三要素;

d11835e0-2463-11ef-bd4a-92fbcf53809c.png

填入上面查询得到的三要素;

d135a12a-2463-11ef-bd4a-92fbcf53809c.pngd1570ce8-2463-11ef-bd4a-92fbcf53809c.png

查询或定义用于测试的Topic,也可以使用标准物模型的订阅发布Topic,如果使用标准物模型需要加入编解码过程,笔者这里先不讲,大家可以自己先研究下,只需要使用一个节点一个脚本即可实现;

d15eb3da-2463-11ef-bd4a-92fbcf53809c.png

配置订阅地址(也就是刚才选择的MQTT IN节点):

d17538a8-2463-11ef-bd4a-92fbcf53809c.png

点击部署,连接成功后于节点下方会提示“已连接”代表设备连接服务器成功,并成功订阅;

d196a2f4-2463-11ef-bd4a-92fbcf53809c.pngd1ae2ef6-2463-11ef-bd4a-92fbcf53809c.png

code_meter(DLT654查询节点)采用固定查询方式,为了实现不同的数据查询引入“SWITCH”节点,如若使用阿里云标准物模型就可以在“SWITCH”节点前加入“function”节点实现数据的解码;

d1ba781e-2463-11ef-bd4a-92fbcf53809c.png

笔者为了演示方便直接使用服务器下发“1”“2”“3”“4”分别代表查询“正向有功功率”“当前电压”“当前电流”“当前功率”;

d1dc2658-2463-11ef-bd4a-92fbcf53809c.png

配置code_meter节点的表号和功能码,按照相同方法配置“当前电压”“当前电流”“当前功率”;

d1f6e56a-2463-11ef-bd4a-92fbcf53809c.pngd22320bc-2463-11ef-bd4a-92fbcf53809c.png

DLT645是一个用于串口的收发协议,笔者暂时没有测试过Node-RED直接驱动串口节点(node-red-node-serialport),并且搭建Node-RED的USB被之前搭建的3D打印机(Kilpper)占用,不想调试参数,这里就使用串口服务器来转发数据,添加网络节点“tcp out”;

d24044ee-2463-11ef-bd4a-92fbcf53809c.png

根据配置的服务器参数配置串口服务器网络参数和串口参数,DDSU666电表默认采用2400-8O1,将串口服务器的串口参数与电表一致;

d26c717c-2463-11ef-bd4a-92fbcf53809c.png

至此已经完成指令发送的全部过程,如下所示。

d28ddcae-2463-11ef-bd4a-92fbcf53809c.png

接下来处理电表返回数据,配置“tcp in”节点采集串口服务器返回数据;

d2a9fd30-2463-11ef-bd4a-92fbcf53809c.png

添加“decode_meter”节点解析电表返回参数;

d2b15e04-2463-11ef-bd4a-92fbcf53809c.png

配置发布地址用于向服务器返回采集数据,一图为自建MQTT服务器,二图为阿里云MQTT服务器;

d2c19b20-2463-11ef-bd4a-92fbcf53809c.pngd2dab70e-2463-11ef-bd4a-92fbcf53809c.png

至此就完成了Node-RED服务器采集DLT645电表全部流程。

d2e4c8d4-2463-11ef-bd4a-92fbcf53809c.png

测试演示

自建服务器查询当前电压,利用MQTTX连接服务器,向Node-RED订阅地址“DLT645SUB”发送数据2,就会从Node-RED发布地址“DLT645PUB”收到当前电压值,发送其他指令代码也会收到对应数据;

d2f89ce2-2463-11ef-bd4a-92fbcf53809c.png

利用阿里云查询“当前电压”,利用云服务器调试接口向“/a1iJTfIclao/DEV01/user/get”Node-RED订阅地址发送数据2,就会从Node-REN发布地址“/a1iJTfIclao/DEV01/user/test”收到当前电压值,发送其他指令代码也会收到对应数据;

d31a0436-2463-11ef-bd4a-92fbcf53809c.png

查询MQTT日志,电表返回数据成功传输到服务器;

d32f35d6-2463-11ef-bd4a-92fbcf53809c.png

如果采用物模型就可以利用阿里云的提供的安卓软件“云智能”查看DDSU666的采集的参数。

产品推荐

d3609356-2463-11ef-bd4a-92fbcf53809c.jpg

E870-G1边缘计算网关是基于亿佰特自行研发的通讯协议《亿佰特云设备通讯协议》开发的以太网/4G边缘采集云网关,可通过服务器下发指令到设备达到控制或采集功能;可采集500个边缘数据点。设备上支持多种协议(TCP、UDP、MQTT)接入服务器,支持心跳包、注册包设置;同时该产品支持多种配置方式,支持网页平台;采用工业级设计标准,保证设备的高可靠性。

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信