成人免费无码不卡毛片,亚洲AⅤ无码精品一区二区三区,国产尤物精品视频,久久精品日本亚洲,欧美成人一区三区无码乱码A片,中文字日产幕码一区二区色哟哟,亞洲日韓中文字幕網AV

  • 正文
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

嵌入式Linux工業(yè)網(wǎng)關(guān)設(shè)計(jì),離不開(kāi)這個(gè)關(guān)鍵核心通信模塊

04/14 11:50
441
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

我是老溫,一名熱愛(ài)學(xué)習(xí)的嵌入式工程師。關(guān)注我,一起變得更加優(yōu)秀!

前一段時(shí)間,我們分享了嵌入式工業(yè)網(wǎng)關(guān)的設(shè)計(jì)思路,很多工控行業(yè)的工程師對(duì)其興趣比較大,具體可以點(diǎn)擊以下鏈接進(jìn)行回顧:

朋友想自研一款嵌入式工業(yè)網(wǎng)關(guān),分享一下我的設(shè)計(jì)思路!

工業(yè)網(wǎng)關(guān)主要用于采集工業(yè)現(xiàn)場(chǎng)設(shè)備的數(shù)據(jù),并且把這些設(shè)備數(shù)據(jù)傳輸到指定的云端網(wǎng)絡(luò)服務(wù)器,網(wǎng)關(guān)也可以自動(dòng)運(yùn)行預(yù)設(shè)的設(shè)備控制邏輯。

對(duì)于設(shè)備端數(shù)據(jù)采集,比較常用的傳輸協(xié)議是Modbus,嵌入式Linux設(shè)備一般采用libmodbus通信庫(kù)提供的API接口,來(lái)實(shí)現(xiàn)Modbus-RTU或Modbus-TCP通信
以下是基于RK3506J開(kāi)發(fā)平臺(tái),移植 libmodbus 通信庫(kù)的具體過(guò)程。

虛擬機(jī)系統(tǒng):Ubuntu22.04 LTS嵌入式開(kāi)發(fā)平臺(tái):OK3506J-SLinux內(nèi)核:Linux Kernel 6.1.99交叉編譯工具鏈:arm-linux-gcc

1、先根據(jù)開(kāi)發(fā)平臺(tái)配套的資料文檔,搭建好交叉編譯環(huán)境,我使用VSCode+CMake進(jìn)行工程框架構(gòu)建,基本的工程框架搭建后,如下圖所示。

2、訪問(wèn)libmodbus的官網(wǎng),鏈接如下:https://libmodbus.org/

3、點(diǎn)擊右上角的github鏈接,下載3.1.10版本的libmodbus庫(kù),然后上傳到Ubuntu22.04指定目錄下進(jìn)行解壓,解壓出來(lái)的文件如下圖所示。

4、在libmodbus源碼目錄下,創(chuàng)建一個(gè)install目錄用來(lái)存放編譯后的庫(kù)文件,最后執(zhí)行./configure腳本對(duì)源碼進(jìn)行配置。

mkdir?install./configure --host=arm-linux-gnueabihf ? ? ? ? ? ? --enable-static ? ? ? ? ? ? --prefix=/opt/work/ok3506j/third_party_libs/libmodbus-3.1.10/install/ ? ? ? ? ? ? CC=arm-linux-gcc

源碼配置成功后,如下圖所示。

5、在libmodbus源碼目錄下,執(zhí)行 make && make install 命令,對(duì)源碼進(jìn)行編譯和安裝,編譯安裝成功后,在install目錄下會(huì)生成Modbus相關(guān)的頭文件和庫(kù)文件,如下圖所示。

6、把include目錄和lib目錄都添加到CMake工程里面,然后在main.c函數(shù)里面編寫一個(gè)測(cè)試?yán)?,具體代碼如下圖所示。

7、編譯上述示例代碼,編譯成功后把可執(zhí)行文件OpenGateway拷貝到開(kāi)發(fā)板,同時(shí)把lib目錄下的libmodbus.so.5.1.0文件,也拷貝到開(kāi)發(fā)板的/usr/lib目錄下,并創(chuàng)建對(duì)應(yīng)的軟鏈接,如下圖所示。

8、使用 Modbus-Slave 軟件工具,模擬一個(gè)Modbus-RTU從機(jī),OK3506J-S開(kāi)發(fā)平臺(tái)每隔1秒輪詢讀取Modbus從機(jī)的數(shù)據(jù),并在終端打印出來(lái),如下圖所示。

通過(guò)USB轉(zhuǎn)RS485工具,OK3506J-S開(kāi)發(fā)板與電腦進(jìn)行通信。

8、下一節(jié),我們將繼續(xù)移植另一個(gè)重要的通信模塊,MQTT通信庫(kù),歡迎繼續(xù)關(guān)注!

工程源碼鏈接,或點(diǎn)擊【閱讀原文】https://gitee.com/embediot/open-gateway.git

相關(guān)推薦

巴塘县| 平远县| 湾仔区| 丘北县| 新泰市| 张掖市| 绥滨县| 南京市| 姚安县| 辉南县| 黑山县| 偃师市| 巴楚县| 平安县| 平远县| 临西县| 建始县| 达孜县| 石狮市| 苍南县| 梨树县| 龙岩市| 延庆县| 华宁县| 邮箱| 衡阳县| 太康县| 新化县| 应用必备| 天全县| 靖西县| 中西区| 保康县| 滨州市| 石家庄市| 宝清县| 桑植县| 泰来县| 达州市| 中山市| 东乌珠穆沁旗|