树莓派4B与智能插排通过RS485(modbus RTU协议)通信

本文介绍了如何使用树莓派4B配合CANHAT扩展板,通过RS485和modbus RTU协议与智能插排通信,读取并转换电量等数据,最终将数据上传到Hyperledger Fabric区块链框架。内容包括PC端串口测试、树莓派通信实现、数据处理和链码修改。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目标:使用树莓派4B与CANHAT扩展板读取智能插排测量的各项数据(RS485+modbus RTU),获取的数据上传到Hyperledger Fabric框架。

之前学习过了modbus RTU协议,在智能涡轮流量计的实验中应用过一次,这次用这个带485模块的智能插座再复习一次~

实验材料:

树莓派4B/8G:

 CANHAT扩展板:

 USB-485转换器:

 RS485机柜排插:

 RJ45水晶头转8PIN端子:

 树莓派相关库与例程在上次实验已经安装过了,步骤可参照官网:

RS485 CAN HAT - Waveshare Wiki

一、PC端串口测试

还是先使用PC端的串口调试助手测试一下智能插座的通讯。先将设备正确接线:

 这次的智能插排RS485模块接线口是水晶头而不是通常的AB端子,所以还需要一个水晶头转端子线,接线如上图的说明书所示。

调试前先看看设备的通信说明书:

 可以看到一个寄存器同样也是表示2字节的数据,电量用两个寄存器表示也就是4个字节,其他数据应该都只占用一个寄存器。这次的说明书详细一些,还给出了数据转换公式。

具体各项数据存储的寄存器地址如下:

 计算一下需要用到的modbus命令:

01 03 00 48 00 01 04 1C    查询电压值
01 03 00 49 00 01 55 DC    查询电流值
01 03 00 4A 00 01 A5 DC    查询有功功率
01 03 00 4B 00 02 B4 1D    查询有功总电能
01 03 00 4D 00 01 14 1D    查询功率因数
01 03 00 4E 00 02 A4 1C    查询二氧化碳排量

以查询有功总电能为例,串口调试助手发送命令后接收到如下数据:

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lv(●—●)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值