前 言
本文主要介紹基于SBC-TL3562單板機的Modbus協(xié)議開發(fā)案例,為相關(guān)開發(fā)提供實用參考。
開發(fā)環(huán)境
Windows開發(fā)環(huán)境:Windows7 64bit、Windows10 64bit、
Linux開發(fā)環(huán)境:VMware16.2.5、Ubuntu20.04.6 64bit
sysroot:rk3562-Tronlong-Desktop-20.04-sysroot-[版本號].tar.gz
系統(tǒng)版本:Tronlong-Desktop20.04(類Ubuntu)、Linux-5.10.209、U-Boot-2017.09
備注:本文基于2GByte LPDDR4X、16GByte eMMC配置單板機進行演示。
術(shù)語表
為便于閱讀,下表對文檔出現(xiàn)的關(guān)鍵術(shù)語進行解釋;對于廣泛認同釋義的術(shù)語,在此不做注釋。

注意事項
(1)無特殊說明情況下,本文默認從eMMC啟動系統(tǒng),使用DEBUG作為調(diào)試串口。
(2)請先參考《應(yīng)用開發(fā)手冊》“開發(fā)環(huán)境搭建說明”章節(jié)完成應(yīng)用開發(fā)環(huán)境搭建。
1modbus_humiture_capture_save案例
1.1案例說明
本案例演示基于Modbus RTU協(xié)議的溫濕度數(shù)據(jù)采集,并在串口終端打印溫濕度數(shù)據(jù),同時支持將數(shù)據(jù)保存至CSV文件。程序的運行流程如下:
圖 1
案例相關(guān)資料位于產(chǎn)品資料“4-軟件資料Demoplatform-demosmodbus_humiture_capture_save”目錄下。案例bin目錄存放可執(zhí)行文件,src目錄存放源碼。
1.2案例測試
本次操作基于SBC-TL3562-BU、溫濕度變送器(廠家:中盛科技,型號:ZS-SHT30-1T-1H-5-36V-RS485)進行演示。
請使用杜邦線將溫濕度變送器RS-485接口的A、B端子分別連接至單板機的RS-485串口的A1、B1端子,硬件連接如下圖所示。
備注:如需使用其他RS-485接口進行測試,硬件連接方法類似。
圖 2
請將本案例bin目錄下的可執(zhí)行程序modbus_humiture_capture_save拷貝至單板機系統(tǒng),并在可執(zhí)行程序所在目錄下,執(zhí)行如下命令運行程序,查看程序參數(shù)說明。
Target# ./modbus_humiture_capture_save -h
圖 3
參數(shù)解析:
:表示RS485對應(yīng)的串口。
-b:設(shè)置波特率(默認為9600)
-s:設(shè)置從站ID(默認為1)。
-h:查看幫助信息。
執(zhí)行如下命令,采集溫濕度變送器的數(shù)據(jù)。
備注:本次操作單板機RS-485串口的設(shè)備節(jié)點為"/dev/ttyS3"。若使用其他RS-485串口,請參考《SBC-TL3562工業(yè)單板機使用說明書》修改為對應(yīng)的設(shè)備節(jié)點。
Target# ./modbus_humiture_capture_save /dev/ttyS3-b 9600 -s 1
圖 4
由以上打印信息可知,當前環(huán)境溫度為29.1°C,濕度為59.7%。同時,可觀察到該溫濕度信息每秒刷新一次。
按下"Ctrl + C"即可停止程序運行,并且生成.csv文件。
圖 5
執(zhí)行如下命令,查看.csv文件,可以看到程序每秒獲取到的溫濕度數(shù)據(jù)。
Target# catdata.csv
圖 6
圖 7
將.csv文件拷貝至PC機,可通過Excel表格查看獲取溫濕度數(shù)據(jù)。
圖 8
1.3案例編譯
請將產(chǎn)品資料“4-軟件資料Demoplatform-demosmodbus_humiture_capture_save”案例源碼拷貝至Ubuntu工作目錄。進入案例源碼目錄,執(zhí)行如下命令,修改Makefile文件,確保"SDK_PATH"為sysroot解壓路徑,用戶請根據(jù)實際情況修改。如下圖所示。
Host# vim Makefile
圖 9
圖 10
執(zhí)行如下命令,配置交叉編譯工具鏈,并執(zhí)行make命令進行案例編譯。編譯完成后,將在當前目錄下生成可執(zhí)行文件。
Host# source /home/tronlong/RK3562/environment
Host# make
圖 11
1.4關(guān)鍵代碼
(1)初始化CSV文件。
圖 12
(2)初始化Modbus,創(chuàng)建Modbus RTU通信對象,保存串口和通信參數(shù)。
圖 13
(3)讀取存放在溫濕度變送器的寄存器的溫濕度數(shù)據(jù)信息。
圖 14
(4)解析溫濕度信息。
圖 15
審核編輯 黃宇
-
MODBUS
+關(guān)注
關(guān)注
28文章
2491瀏覽量
83551 -
單板機
+關(guān)注
關(guān)注
1文章
45瀏覽量
18893 -
工業(yè)通信
+關(guān)注
關(guān)注
0文章
250瀏覽量
16153 -
RK3562
+關(guān)注
關(guān)注
0文章
105瀏覽量
731
發(fā)布評論請先 登錄
RK3562 單板機 Linux-RT 系統(tǒng)開發(fā)指南:內(nèi)核配置、實時性優(yōu)化與案例詳解
RK3562 單板機圖形用戶界面開發(fā)完全手冊:Qt Creator 配置與 LVGL 案例詳解(二)
RK3562 單板機嵌入式 ROS2 開發(fā)指南:環(huán)境搭建與工程編譯
機房溫濕度環(huán)境監(jiān)控系統(tǒng)用POE供電網(wǎng)絡(luò)型溫濕度傳感器
基于modbus協(xié)議的空間分布式溫濕度測控系統(tǒng)設(shè)計
新一代低價開發(fā)板芯片RK3562來啦! — 觸覺智能RK3562開發(fā)板
上新啦!工業(yè)級單板機、LoRa模組、USB轉(zhuǎn)藍牙適配器等
觸覺智能RK3562開發(fā)板新版強勢亮相
RK3562單板機系統(tǒng)使用與開發(fā)手冊:基礎(chǔ)操作、升級部署與工具鏈配置(一)
3562 單板機 Linux 系統(tǒng)固化完全指南:從 SD 卡啟動到 eMMC 永久部署
RK3562 單板機系統(tǒng)開發(fā)完全手冊:U-Boot/Kernel/Rootfs 開發(fā)與性能優(yōu)化
RK3562 單板機 Linux 應(yīng)用開發(fā)實戰(zhàn)手冊:LED/CAN/TCP/UART 案例與 Python 開發(fā)(二)
RK3562 單板機圖形用戶界面開發(fā)完全手冊:Qt Creator 配置與 LVGL 案例詳解(一)
RK3562 單板機多媒體開發(fā)完全手冊:視頻輸入輸出與 GStreamer 案例詳解(二)
RK3562 單板機工業(yè)通信開發(fā)手冊:Modbus 協(xié)議溫濕度采集案例
評論