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

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Linux上位機(jī)開發(fā)

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

第13章 Linux上位機(jī)開發(fā)

13.1 功能分析與最終源碼

最終源碼在如下目錄里:

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

13.1.1 硬件連接

參考《11.5 Modbus RTU客戶端編程與實(shí)驗(yàn)》連接TTL轉(zhuǎn)485模塊,連接Modbus RTU傳感器。在板子上先插上USB鼠標(biāo),連接HDMI顯示器,然后啟動(dòng)開發(fā)板。

13.1.2 運(yùn)行程序

把網(wǎng)盤中如下可執(zhí)行程序放到板子上,假設(shè)放在/mnt目錄下:

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

解壓后,它里面有2個(gè)目錄:mnt里存放應(yīng)用程序,usr目錄下存放庫文件。在板子上執(zhí)行如下命令:

左右滑動(dòng)查看完整內(nèi)容

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

移除出廠自帶的GUI,在開發(fā)板執(zhí)行如下命令:

左右滑動(dòng)查看完整內(nèi)容

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

然后運(yùn)行如下命令啟動(dòng)程序:

左右滑動(dòng)查看完整內(nèi)容

# cd /mnt
# echo 0 > /proc/sys/kernel/printk // 關(guān)閉內(nèi)核打印信息
# ./modbus_server_tcp 127.0.0.1 & // 運(yùn)行模擬 modbus rtu 協(xié)議傳感器的程序
# ./control_center server & // 運(yùn)行后臺(tái)程序
# ./demo_lv_modbus_tool & // 運(yùn)行前臺(tái)程序
# ./mqtt_client_app // 運(yùn)行 MQTT 程序

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

要使用MQTT,需要先學(xué)習(xí)《13.6 MQTT開發(fā)基礎(chǔ)》:

①在開發(fā)板界面設(shè)置MQTT信息

②啟動(dòng)MQTT Broker

③MQTT客戶端可以如下設(shè)置:

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

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

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

左右滑動(dòng)查看完整內(nèi)容

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

13.1.3 從源碼編譯程序

先配置環(huán)境,在Ubuntu執(zhí)行:

左右滑動(dòng)查看完整內(nèi)容

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

1. 編譯libev庫

操作命令如下:

左右滑動(dòng)查看完整內(nèi)容

$ 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/

把庫復(fù)制到開發(fā)板上,在Ubuntu上執(zhí)行如下命令:

左右滑動(dòng)查看完整內(nèi)容

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

2. 編譯jsonrpc庫

操作命令如下:

左右滑動(dòng)查看完整內(nèi)容

$ 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/

把庫復(fù)制到開發(fā)板上,在Ubuntu上執(zhí)行如下命令:

左右滑動(dòng)查看完整內(nèi)容

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

3. 編譯libmodbus庫

參考《11.4.1 編譯安裝》。

4. 編譯MQTT庫

參考《13.6.5 MQTT測試程序上機(jī)實(shí)驗(yàn)》。

5. 編譯LVGL程序

操作命令如下:

左右滑動(dòng)查看完整內(nèi)容

$ 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. 編譯后臺(tái)程序

操作命令如下:

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

生成“control_center”可執(zhí)行程序。

7. 編譯MQTT程序

操作命令如下:

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

生成“mqtt_client_app”可執(zhí)行程序。

8. 編譯Modbus TCP程序

操作命令如下:

左右滑動(dòng)查看完整內(nèi)容

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

生成“modbus_server_tcp”可執(zhí)行程序。

13.1.4 界面

在前臺(tái)程序,可以增加、修改、刪除“點(diǎn)”(“點(diǎn)”是工業(yè)控制領(lǐng)域的概念,參考《13.2.2前后臺(tái)的交互》)。可以讀取“點(diǎn)”、寫“點(diǎn)”。還可以設(shè)置MQTT參數(shù)、升級(jí)某個(gè)傳感器程序。

1. 整體界面

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

左右滑動(dòng)查看完整內(nèi)容

{"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. 添加/設(shè)置點(diǎn)位

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

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

3. MQTT設(shè)置界面

點(diǎn)擊“MQTT Setting”后,設(shè)置界面如下:

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

3. 升級(jí)傳感器

點(diǎn)擊“Update”后,界面如下:

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

本界面僅供演示,并未實(shí)現(xiàn)升級(jí)功能:因?yàn)閭鞲衅魅绾紊?jí),取決于傳感器內(nèi)部實(shí)現(xiàn),我們無法得知升級(jí)方法。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 傳感器
    +關(guān)注

    關(guān)注

    2552

    文章

    51219

    瀏覽量

    754620
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11320

    瀏覽量

    209834
  • 源碼
    +關(guān)注

    關(guān)注

    8

    文章

    646

    瀏覽量

    29281
  • 上位機(jī)
    +關(guān)注

    關(guān)注

    27

    文章

    944

    瀏覽量

    54882

原文標(biāo)題:Linux上位機(jī)開發(fā) - RZ MPU工業(yè)控制教程連載(47)

文章出處:【微信號(hào):瑞薩MCU小百科,微信公眾號(hào):瑞薩MCU小百科】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    linux環(huán)境下使用QT開發(fā)上位機(jī)控制CH9326的io口,代碼編譯不通過是為啥呢?

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

    上位機(jī)應(yīng)用開發(fā)與綜合實(shí)訓(xùn)(上)

    上位機(jī)應(yīng)用開發(fā)與綜合實(shí)訓(xùn)(上)
    發(fā)表于 09-28 10:03 ?0次下載

    上位機(jī)應(yīng)用開發(fā)與綜合實(shí)訓(xùn)(下)

    上位機(jī)應(yīng)用開發(fā)與綜合實(shí)訓(xùn)(下)
    發(fā)表于 09-28 10:05 ?0次下載

    linux的驅(qū)動(dòng)開發(fā)——基于linux的單片機(jī)開發(fā)簡介

    1.基于linux的單片機(jī)開發(fā)和裸機(jī)開發(fā)的區(qū)別\qquad單片機(jī)的裸機(jī)開發(fā)和基于
    發(fā)表于 11-13 11:21 ?7次下載
    <b class='flag-5'>linux</b>的驅(qū)動(dòng)<b class='flag-5'>開發(fā)</b>——基于<b class='flag-5'>linux</b>的單片<b class='flag-5'>機(jī)</b><b class='flag-5'>開發(fā)</b>簡介

    納米軟件分享:上位機(jī)軟件是什么?快速上手上位機(jī)開發(fā)軟件分享

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

    上位機(jī)軟件開發(fā)流程是怎樣的?上位機(jī)開發(fā)軟件分享

    隨著科技的發(fā)展,上位機(jī)軟件開發(fā)已經(jīng)成為當(dāng)今社會(huì)的一個(gè)重要組成部分。上位機(jī)軟件開發(fā)是一種技術(shù),它可
    的頭像 發(fā)表于 03-28 16:20 ?3064次閱讀
    <b class='flag-5'>上位</b><b class='flag-5'>機(jī)</b>軟件<b class='flag-5'>開發(fā)</b>流程是怎樣的?<b class='flag-5'>上位</b><b class='flag-5'>機(jī)</b><b class='flag-5'>開發(fā)</b>軟件分享

    上位機(jī)開發(fā)新手指南(二)上位機(jī)通信

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

    上位機(jī)和下位機(jī)有什么區(qū)別 常用上位機(jī)軟件開發(fā)工具介紹

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

    VS上位機(jī)開發(fā)之曲線顯示

    VS上位機(jī)開發(fā)——曲線顯示目錄VS上位機(jī)開發(fā)——曲線顯示 一、新建項(xiàng)目 二、添加ZedGraph
    發(fā)表于 05-08 09:48 ?2次下載
    VS<b class='flag-5'>上位</b><b class='flag-5'>機(jī)</b><b class='flag-5'>開發(fā)</b>之曲線顯示

    上位機(jī)開發(fā)要學(xué)什么 上位機(jī)開發(fā)是做什么的

    上位機(jī)開發(fā)需要學(xué)習(xí)以下技術(shù):   編程語言:常用的編程語言包括C/C++、Python、Java等,不同的編程語言適用于不同的應(yīng)用場景。在工控行業(yè)中,C/C++是主流語言,精通C/C++語言
    的頭像 發(fā)表于 05-08 15:18 ?1.2w次閱讀

    上位機(jī)開發(fā)是什么意思 上位機(jī)開發(fā)工作主要內(nèi)容

    上位機(jī)開發(fā)是為了實(shí)現(xiàn)工控設(shè)備的控制、實(shí)時(shí)數(shù)據(jù)采集和處理等功能,使用計(jì)算機(jī)、各種傳感器和執(zhí)行器等智能設(shè)備,開發(fā)出一套可靠、高效的自動(dòng)化控制系統(tǒng)。通常
    的頭像 發(fā)表于 05-08 15:20 ?1.5w次閱讀

    上位機(jī)軟件定制開發(fā)如何選擇服務(wù)商

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

    上位機(jī)和FPGA開發(fā)板--串口通信實(shí)驗(yàn)

    首先,上位機(jī)發(fā)送數(shù)據(jù)給FPGA開發(fā)板;然后,F(xiàn)PGA開發(fā)板收到數(shù)據(jù),再回發(fā)給上位機(jī)
    發(fā)表于 05-11 18:26 ?12次下載
    <b class='flag-5'>上位</b><b class='flag-5'>機(jī)</b>和FPGA<b class='flag-5'>開發(fā)</b>板--串口通信實(shí)驗(yàn)

    上位機(jī)軟件開發(fā)培訓(xùn)

    上位機(jī)開發(fā)要學(xué)什么 上位機(jī)開發(fā)主要是指針對(duì)某個(gè)硬件或設(shè)備,使用軟件
    發(fā)表于 06-05 09:58 ?1725次閱讀

    上位機(jī)軟件開發(fā)用什么語言

    上位機(jī)軟件開發(fā)是指開發(fā)用于與下位機(jī)(如PLC、單片機(jī)等)進(jìn)行通信、控制和數(shù)據(jù)處理的計(jì)算機(jī)軟件。
    的頭像 發(fā)表于 06-06 10:44 ?1970次閱讀
    主站蜘蛛池模板: 亚洲性夜夜色综合网站| 娇女的呻吟亲女禁忌h16| 国产成人在线播放视频| 韩国女人高潮嗷嗷叫视频| 老司机福利在视频在ae8| 日韩无码在线| 野花社区视频WWW高清| JK白丝校花爽到娇喘视频| 国产精品永久免费| 美女被C污黄网站免费观看| 色一情一乱一伦一区二区三区 | 九九热久久只有精品2| 欧美亚洲国产专区在线| 亚洲黄色片免费看| 99久久精品费精品国产| 国产亚洲精品AAAAAAA片| 暖暖日本在线手机免费完整版| 喜马拉雅听书免费版| 99国产在线视频| 国内精品久久久久影院亚洲| 欧美精品熟妇乱| 一个人在线观看的视频| 国产69精品麻豆久久久久| 两个人的视频日本在线观看完整| 同居了嫂子在线观看| 99久久re6热精品首页| 含羞草在线免费观看| 日本妈妈JMZZZZZ| 中文在线观看免费网站| 国产欧洲野花A级| 秋霞电影网午夜鲁丝片| 在线看片福利无码网址| 国产人妻久久久精品麻豆| 秋霞电影院午夜伦高清| 怡春院院日本一区二区久久| 国产成人在线视频播放| 欧美成人性色生活18黑人| 亚洲最大在线视频| 国产精品内射久久久久欢欢 | 女张腿男人桶羞羞漫画| 亚洲综合视频|