色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Linux上位機開發

瑞薩MCU小百科 ? 來源:瑞薩MCU小百科 ? 2025-01-08 15:28 ? 次閱讀

第13章 Linux上位機開發

13.1 功能分析與最終源碼

最終源碼在如下目錄里:

879321c0-cd76-11ef-9310-92fbcf53809c.png

13.1.1 硬件連接

參考《11.5 Modbus RTU客戶端編程與實驗》連接TTL轉485模塊,連接Modbus RTU傳感器。在板子上先插上USB鼠標,連接HDMI顯示器,然后啟動開發板。

13.1.2 運行程序

把網盤中如下可執行程序放到板子上,假設放在/mnt目錄下:

87ac29ea-cd76-11ef-9310-92fbcf53809c.png

解壓后,它里面有2個目錄:mnt里存放應用程序,usr目錄下存放庫文件。在板子上執行如下命令:

左右滑動查看完整內容

# cd /mnt
# tar xjf apps.tar.bz2
# ls
mnt usr
# cd apps
# cp -rfd * /

移除出廠自帶的GUI,在開發板執行如下命令:

左右滑動查看完整內容

# mv /etc/systemd/system/myir.service /home/root
# reboot

然后運行如下命令啟動程序:

左右滑動查看完整內容

# cd /mnt
# echo 0 > /proc/sys/kernel/printk // 關閉內核打印信息
# ./modbus_server_tcp 127.0.0.1 & // 運行模擬 modbus rtu 協議傳感器的程序
# ./control_center server & // 運行后臺程序
# ./demo_lv_modbus_tool & // 運行前臺程序
# ./mqtt_client_app // 運行 MQTT 程序

執行上述命令后,可以在HDMI界面看到操作界面。參考《13.1.4界面》,使用鼠標在控制界面上添加點、設置MQTT信息。然后就可以通過界面觀察、控制傳感器了。

要使用MQTT,需要先學習《13.6 MQTT開發基礎》:

①在開發板界面設置MQTT信息

②啟動MQTT Broker

③MQTT客戶端可以如下設置:

87c44cfa-cd76-11ef-9310-92fbcf53809c.png

在MQTT客戶端,訂閱“iot/up”主題的信息。

要控制傳感器,需要在顯示屏控制界面添加“點”,才能發布“iot/down”主題的信息去控制這個點,信息格式如下(注意大小寫):

左右滑動查看完整內容

{"port_info": "/dev/ttySC4,115200,8N1","dev_addr": 3,"reg_addr": 0,"reg_type": "0x",
"value": 0}

13.1.3 從源碼編譯程序

先配置環境,在Ubuntu執行:

左右滑動查看完整內容

$ source /opt/remi-sdk/environment-setup-aarch64-poky-linux

1. 編譯libev庫

操作命令如下:

左右滑動查看完整內容

$ tar xjf libev.tar.bz2
$ cd libev/
$ ./configure --prefix=$PWD/tmp --host=aarch64-poky-linux CFLAGS="-mtune=cortex-a55
-fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wformat -Wformat-s
ecurity -Werror=format-security --sysroot=/opt/remi-sdk/sysroots/a
arch64-poky-linux"
$ make -j 16
$ make install
$ ls tmp/
include lib share
$ sudo cp -rf tmp/include/* /opt/remi-sdk/sysroots/aarch64-poky-linux/usr/include/
$ sudo cp -rfd tmp/lib/* /opt/remi-sdk/sysroots/aarch64-poky-linux/usr/lib64/

把庫復制到開發板上,在Ubuntu上執行如下命令:

左右滑動查看完整內容

$ scp tmp/lib/*so* root@192.168.5.9:/usr/lib64/

2. 編譯jsonrpc庫

操作命令如下:

左右滑動查看完整內容

$ tar xjf jsonrpc-c.tar.bz2
$ cd jsonrpc-c/
$ autoreconf -i
$ ./configure --prefix=$PWD/tmp --host=aarch64-poky-linux CFLAGS="-mtune=cortex-a55
-fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wformat -Wformat-s
ecurity -Werror=format-security --sysroot=/opt/remi-sdk/sysroots/a
arch64-poky-linux"
$ make -j 16
$ make install
$ ls tmp/
include lib
$ sudo cp -rf tmp/include/* /opt/remi-sdk/sysroots/aarch64-poky-linux/usr/include/
$ sudo cp -rfd tmp/lib/* /opt/remi-sdk/sysroots/aarch64-poky-linux/usr/lib64/

把庫復制到開發板上,在Ubuntu上執行如下命令:

左右滑動查看完整內容

$ scp tmp/lib/*so* root@192.168.5.9:/usr/lib64/

3. 編譯libmodbus庫

參考《11.4.1 編譯安裝》。

4. 編譯MQTT庫

參考《13.6.5 MQTT測試程序上機實驗》。

5. 編譯LVGL程序

操作命令如下:

左右滑動查看完整內容

$ tar xjf demo_lv_modbus_tool.tar.bz2
$ cd demo_lv_modbus_tool/
$ mkdir build
$ cd build
$ cmake ..
$ make -j 16
$ ls ../bin/
demo_lv_modbus_tool

6. 編譯后臺程序

操作命令如下:

$ tar xzf control_center.tar.bz2
$ cd control_center
$ make

生成“control_center”可執行程序。

7. 編譯MQTT程序

操作命令如下:

$ tar xjf mqtt_client.tar.bz2
$ cd mqtt_client
$ make

生成“mqtt_client_app”可執行程序。

8. 編譯Modbus TCP程序

操作命令如下:

左右滑動查看完整內容

$ tar xjf modbus_client.tar.bz2
$ cd modbus_client
$ make

生成“modbus_server_tcp”可執行程序。

13.1.4 界面

在前臺程序,可以增加、修改、刪除“點”(“點”是工業控制領域的概念,參考《13.2.2前后臺的交互》)。可以讀取“點”、寫“點”。還可以設置MQTT參數、升級某個傳感器程序。

1. 整體界面

運行程序后,會根據“/etc/control.cfg”生成界面。第1次運行程序是沒有“/etc/control.cfg”文件,你在屏幕上看到的是空白界面。如果“/etc/control.cfg”內容如下:

左右滑動查看完整內容

{"port_info": "/dev/ttySC4,115200,8N1", "dev_addr": 3, "reg_addr": 0, "reg_type": "0x
", "period": 300}
{"port_info": "/dev/ttySC4,115200,8N1", "dev_addr": 3, "reg_addr": 1, "reg_type": "3x
", "period": 300}
{"port_info": "/dev/ttySC4,115200,8N1", "dev_addr": 3, "reg_addr": 0, "reg_type": "3x
", "period": 300}
{"broker": "192.168.5.10", "port": 1883, "client_id": "dev_019999", "user": "100ask99
", "password": "100asktech99", "publish": "/iot/up", "subcribe": "
/iot/down"}

則可以看到如下界面:

87dfdaa6-cd76-11ef-9310-92fbcf53809c.png

2. 添加/設置點位

點擊右上角的加號,可以添加一個“點位”,界面如下(可以選擇使用RTU協議或TCP協議,可以設置讀取周期,可以設置設備地址、寄存器地址、寄存器類別):

88015078-cd76-11ef-9310-92fbcf53809c.png

3. MQTT設置界面

點擊“MQTT Setting”后,設置界面如下:

882acf84-cd76-11ef-9310-92fbcf53809c.png

3. 升級傳感器

點擊“Update”后,界面如下:

88473e26-cd76-11ef-9310-92fbcf53809c.png

本界面僅供演示,并未實現升級功能:因為傳感器如何升級,取決于傳感器內部實現,我們無法得知升級方法。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 傳感器
    +關注

    關注

    2552

    文章

    51382

    瀏覽量

    755771
  • Linux
    +關注

    關注

    87

    文章

    11342

    瀏覽量

    210140
  • 源碼
    +關注

    關注

    8

    文章

    652

    瀏覽量

    29363
  • 上位機
    +關注

    關注

    27

    文章

    945

    瀏覽量

    54940

原文標題:Linux上位機開發 - RZ MPU工業控制教程連載(47)

文章出處:【微信號:瑞薩MCU小百科,微信公眾號:瑞薩MCU小百科】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    linux環境下使用QT開發上位控制CH9326的io口,代碼編譯不通過是為啥呢?

    本人最近遇到了這個問題。根據官方文檔中的步驟來進行Linux上位開發,代碼編譯不通過提示【undefined reference to ch9326_find()】還有就是在使用鏈
    發表于 07-11 07:03

    C#上位實戰開發指南

    C#上位實戰開發指南
    發表于 11-22 19:25 ?0次下載

    上位應用開發與綜合實訓(上)

    上位應用開發與綜合實訓(上)
    發表于 09-28 10:03 ?0次下載

    上位應用開發與綜合實訓(下)

    上位應用開發與綜合實訓(下)
    發表于 09-28 10:05 ?0次下載

    linux的驅動開發——基于linux的單片開發簡介

    1.基于linux的單片開發和裸機開發的區別\qquad單片的裸機開發和基于
    發表于 11-13 11:21 ?7次下載
    <b class='flag-5'>linux</b>的驅動<b class='flag-5'>開發</b>——基于<b class='flag-5'>linux</b>的單片<b class='flag-5'>機</b><b class='flag-5'>開發</b>簡介

    納米軟件分享:上位軟件是什么?快速上手上位開發軟件分享

    上位軟件在測試測量行業應用十分廣泛,但對于很多新人來說上位軟件是什么,他們可能不甚了解。今天就和大家來聊一聊上位
    的頭像 發表于 11-28 17:03 ?4398次閱讀
    納米軟件分享:<b class='flag-5'>上位</b><b class='flag-5'>機</b>軟件是什么?快速上手<b class='flag-5'>上位</b><b class='flag-5'>機</b><b class='flag-5'>開發</b>軟件分享

    上位軟件開發流程是怎樣的?上位開發軟件分享

    隨著科技的發展,上位軟件開發已經成為當今社會的一個重要組成部分。上位軟件開發是一種技術,它可
    的頭像 發表于 03-28 16:20 ?3121次閱讀
    <b class='flag-5'>上位</b><b class='flag-5'>機</b>軟件<b class='flag-5'>開發</b>流程是怎樣的?<b class='flag-5'>上位</b><b class='flag-5'>機</b><b class='flag-5'>開發</b>軟件分享

    上位開發新手指南(二)上位通信

    上位開發中,串口通信和TCP通信是兩種常見的通信方式。串口通信是指通過串口將數據發送和接收到控制器或其他外設中,TCP通信則是通過網絡將 數據傳輸到遠程設備中。下面介紹一下為什么學習串口通信和TCP通信在
    發表于 05-08 11:37 ?8次下載
    <b class='flag-5'>上位</b><b class='flag-5'>機</b><b class='flag-5'>開發</b>新手指南(二)<b class='flag-5'>上位</b><b class='flag-5'>機</b>通信

    上位和下位有什么區別 常用上位軟件開發工具介紹

    上位和下位分別指的是什么呢?又有哪些區別呢?以及上位和下位之間的關系又是怎樣的呢?常用的
    發表于 05-08 10:21 ?0次下載
    <b class='flag-5'>上位</b><b class='flag-5'>機</b>和下位<b class='flag-5'>機</b>有什么區別 常用<b class='flag-5'>上位</b><b class='flag-5'>機</b>軟件<b class='flag-5'>開發</b>工具介紹

    上位開發要學什么 上位開發是做什么的

    上位開發需要學習以下技術:   編程語言:常用的編程語言包括C/C++、Python、Java等,不同的編程語言適用于不同的應用場景。在工控行業中,C/C++是主流語言,精通C/C++語言
    的頭像 發表于 05-08 15:18 ?1.3w次閱讀

    上位開發是什么意思 上位開發工作主要內容

    上位開發是為了實現工控設備的控制、實時數據采集和處理等功能,使用計算機、各種傳感器和執行器等智能設備,開發出一套可靠、高效的自動化控制系統。通常
    的頭像 發表于 05-08 15:20 ?1.5w次閱讀

    上位軟件定制開發如何選擇服務商

    的執行。 上位的硬件一般是工業電腦或者叫工控上位機上運行的操作系統一般可以是Windows、WinCE、linux等,根據不同的性能
    發表于 05-09 10:02 ?0次下載
    <b class='flag-5'>上位</b><b class='flag-5'>機</b>軟件定制<b class='flag-5'>開發</b>如何選擇服務商

    上位和FPGA開發板--串口通信實驗

    首先,上位發送數據給FPGA開發板;然后,FPGA開發板收到數據,再回發給上位
    發表于 05-11 18:26 ?12次下載
    <b class='flag-5'>上位</b><b class='flag-5'>機</b>和FPGA<b class='flag-5'>開發</b>板--串口通信實驗

    上位軟件開發培訓

    上位開發要學什么 上位開發主要是指針對某個硬件或設備,使用軟件
    發表于 06-05 09:58 ?1771次閱讀

    上位軟件開發用什么語言

    上位軟件開發是指開發用于與下位(如PLC、單片等)進行通信、控制和數據處理的計算機軟件。
    的頭像 發表于 06-06 10:44 ?2140次閱讀
    主站蜘蛛池模板: 色欲无码国产喷水AV精品 | 亚洲另类国产综合在线 | 国产主播福利一区二区 | 一攻多受h嗯啊巨肉bl巨污 | 探花口爆颜射乳交日韩 | 国产精品九九九久久九九 | 噼里啪啦免费观看视频大全 | 宫交拔不出来了h黑人 | 国外经典三级 | 麻豆免费观看高清完整视频在线 | 秋霞网站一级一片 | 日韩欧美一区二区三区免费看 | 国产一级特黄aa毛片 | 97草碰在线视频免费 | 亚洲精品成人在线 | 午夜理论片日本中文在线 | 116美女写真午夜电影z | 久久久久国产精品嫩草影院 | 国产午夜精品理论片免费观看 | 国产成人拍精品免费视频爱情岛 | 欧美三级不卡在线观线看 | 美国xaxwaswaskino| 亚洲高清有码中文字 | 美女脱光app | 久久国产免费一区二区三区 | 亚洲 中文 自拍 无码 | 麻豆成人啪啪色婷婷久久 | 国产精品久久久久久久久无码 | brazzers情欲狂欢 | 97在线观看免费 | 午夜免费福利小电影 | 娇妻被朋友玩得呻吟在线电影 | 久久是热频国产在线 | chinese极品嫩模videos | 国产香蕉九九久久精品免费 | 欧美性色xo影院69 | 暖暖 免费 高清 日本 在线 | 午夜伦午夜伦锂电影 | 国产精品成久久久久三级四虎 | 久久99国产精品自在自在 | 亚洲乱码爆乳精品成人毛片 |