陈工-创龙科技 发表于 2026-7-8 13:45:21

SBC/EPC-TL3588 Modbus RTU 温湿度采集实操指南

前言本文档主要介绍基于单板机/工控机的Modbus协议开发案例。备注:本文适用于SBCTL3588单板机及EPCTL3588工控机系列(由SBCTL3588单板机搭配扩展板与外壳组成),文中所有演示均基于4GByte LPDDR4X + 32GByte eMMC硬件配置的工控机开展。
开发环境Windows开发环境:Windows10 64bit、Windows7 64bitLinux开发环境:VMware16.2.5、Ubuntu22.04.4 64bit系统版本:Tronlong-Desktop 22.04(类Ubuntu)、Linux-6.1.141、U-Boot 2017.09sysroot:rk3588-Tronlong-Desktop-22.04-sysroot-[版本号].tar.gz应用开发交叉编译工具链:aarch64-linux-gnu-gcc(版本为11.4.0,通过网络下载)
术语表为便于阅读,下表对文档出现的关键术语进行解释;对于广泛认同释义的术语,在此不做注释。https://file1.elecfans.com/web3/M00/69/BC/wKgZO2pNumaARnaeAABlFgxF3Gw574.png

注意事项(1)请先参考《应用开发手册》完成应用开发环境搭建。(2)无特殊说明,默认从eMMC启动系统,使用DEBUG接口作为调试串口,通过路由器与PC机进行网络连接,请确保PC机、Ubuntu系统可正常访问互联网。

一、modbus_humiture_capture_save案例1.1案例说明本案例演示基于Modbus RTU协议的温湿度数据采集,并在串口终端打印温湿度数据,同时支持将数据保存至CSV文件。程序的运行流程如下:
https://file1.elecfans.com/web3/M00/51/84/wKgZPGnKMDKASIqvAADwDYqM7WA752.png图 1
案例相关资料位于产品资料“4-软件资料\Demo\platform-demos\modbus_humiture_capture_save\”目录下。案例bin目录存放可执行文件,src目录存放源码。1.2案例测试本次操作基于EPC-TL3588-BU工控机、温湿度变送器(厂家:中盛科技,型号:ZS-SHT30-1T-1H-5-36V-RS485)进行演示。请使用杜邦线将温湿度变送器RS-485接口的A、B端子分别连接至RS-485串口的A1、B1端子,硬件连接如下图所示。备注:如需使用其他RS-485接口进行测试,硬件连接方法类似。https://file1.elecfans.com/web3/M00/69/BC/wKgZO2pNuuKANZfvAN9rytLxqkQ247.png图 2
请将本案例bin目录下的可执行程序modbus_humiture_capture_save拷贝至文件系统,并在可执行程序所在目录下,执行如下命令运行程序,查看程序参数说明。Target# ./modbus_humiture_capture_save -h
https://file1.elecfans.com/web3/M00/69/C1/wKgZPGpNuviACxuMAABMlSJBX7Y715.png图 3
参数解析:<serial_port>:表示RS485对应的串口。-b:设置波特率(默认为9600)。-s:设置从站ID(默认为1)。-h:查看帮助信息。执行如下命令,采集温湿度变送器的数据。备注:本次操作RS-485串口的设备节点为"/dev/ttyS9"。若使用其他RS-485串口,请参考《EPC-TL3588工控机使用说明书》修改为对应的设备节点。Target# ./modbus_humiture_capture_save /dev/ttyS9 -b 9600 -s 1https://file1.elecfans.com/web3/M00/69/BC/wKgZO2pNuweAGha_AAAiJw3Wc_M006.png图 4
由以上打印信息可知,当前环境温度为26.7°C,湿度为68.9%。同时,可观察到该温湿度信息每秒刷新一次。按下"Ctrl + C"即可停止程序运行,并且生成.csv文件。https://file1.elecfans.com/web3/M00/69/BC/wKgZO2pNuxeAT9yZAAAw2fczwdU591.png图 5
执行如下命令,查看.csv文件,可以看到程序每秒获取到的温湿度数据。Target# cat data.csvhttps://file1.elecfans.com/web3/M00/69/BC/wKgZO2pNuyWAKCaAAAA0M9V7K54539.png图 6
https://file1.elecfans.com/web3/M00/69/C1/wKgZPGpNuyWASciNAAAcefkLzw4959.png图 7
将.csv文件拷贝至PC机,可通过Excel表格查看获取温湿度数据。https://file1.elecfans.com/web3/M00/69/C1/wKgZPGpNu0aAam26AABHsSAtrHk013.png图 8
1.3案例编译请将产品资料“4-软件资料\Demo\platform-demos\modbus_humiture_capture_save\”案例源码拷贝至Ubuntu工作目录。进入案例源码目录,执行如下命令,修改Makefile文件,确保"SDK_ROOT_PATH"为sysroot解压路径,用户请根据实际情况修改。如下图所示。Host# vim Makefilehttps://file1.elecfans.com/web3/M00/69/BC/wKgZO2pNu2GAHdPCAAA77HIGuHs121.png图 9
https://file1.elecfans.com/web3/M00/69/C1/wKgZPGpNu2GAG0C-AADRqDlx5xE598.png图 10
执行如下命令,配置交叉编译工具链,并执行make命令进行案例编译。编译完成后,将在当前目录下生成可执行文件。Host# source /home/tronlong/RK3588/environmentHost# make
https://file1.elecfans.com/web3/M00/69/BC/wKgZO2pNu36AGXieAAEFbEZxVdY025.png图 11
1.4关键代码
1.初始化CSV文件。

https://file1.elecfans.com/web3/M00/51/82/wKgZO2nKMd-AIgRlAABfeIALBQs820.png图 12
2.初始化Modbus,创建Modbus RTU通信对象,保存串口和通信参数。

https://file1.elecfans.com/web3/M00/51/84/wKgZPGnKMeeAchRpAABWJH4tVNA963.png图 13
3.读取存放在温湿度变送器的寄存器的温湿度数据信息。

https://file1.elecfans.com/web3/M00/51/84/wKgZPGnKMe6AKeQbAABG_kMNIEk082.png图 14
4.解析温湿度信息。

https://file1.elecfans.com/web3/M00/51/84/wKgZPGnKMfSAMXX9AABHO7Mh5cg371.png图 15
页: [1]
查看完整版本: SBC/EPC-TL3588 Modbus RTU 温湿度采集实操指南