国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

電子工程網

標題: 如何在全志T113i的Buildroot中移植MQTT協議 [打印本頁]

作者: 繁花之語    時間: 2024-1-30 10:12
標題: 如何在全志T113i的Buildroot中移植MQTT協議

飛凌嵌入式OK113i-S開發板上市一段時間以來收獲了很多關注,也成為了許多客戶項目選型的優質之選。在實際的項目開發中,工程師朋友們可能會需要在文件系統中移植一些工具或協議,那么該如何進行移植操作呢?我們可以通過添加package包配置的方式在OK113i-S開發板的Buildroot中移植新功能。本篇文章,小編就以在Buildroot移植MQTT協議為例為大家介紹。


Part 1 配置文件介紹

首先了解一下在Buildroot中移植功能時涉及到的配置文件。

查看飛凌嵌入式OK113i-S開發板源碼中已有的配置文件,可以看到在路徑 buildroot/buildroot-201902/package/mosquitto 里邊包括以下幾個文件:

Config.in mosquitto.mk mosquitto.hash mosquitto.service S50mosquitto

① Config.in

Config.in文件通過 BR2_PACKAGE_** 作為開關來告知Buildroot需要哪個包參與編譯,開關在 buildroot/buildroot-201902/configs/ 下面的 OK113I_linux_defconfig 配置文件中賦值,類似于內核中的Kconfig文件。

例如:

package/Config.in中寫了調用關系

source "package/mosquitto/Config.in";

package/mosquitto/Config.in中寫了

BR2_PACKAGE_MOSQUITTO信息。




② demo.mk

這個文件中聲明一些包的信息,比如:指定包的版本、包源碼下載鏈接、存放路徑、編譯規則、工具鏈等。編譯時會按照這個文件中的下載地址和版本下載源碼包到指定路徑并進行編譯和文件拷貝,相當于Makefile文件。

例如:mosquitto.mk

文件開頭先寫了軟件包版本和下載地址,我們在瀏覽器訪問該地址可以找到對應版本的軟件包。編譯時,如果源碼中沒有該文件,就會自動下載。

mosguitto-1.5.8.tar.gz

mosguitto-1.5.8.tar.gz.asc

除此之外文件中還定義了其他的編譯規則,包括文件拷貝路徑等內容。

③ demo.hash

這個文件會記錄下載的源碼包的hash校驗碼,防止下載的源碼包出錯。

④ demo.service

此文件是為systemd服務 ,systemd開機后會依據此文件啟動demo服務,在demo.mk中會指定此文件的源路徑已經安裝路徑。目前OK113i-S開發板沒有使用該服務,因此可以不用管它。

⑤ S50demo

此文件類是demo.service,是目前OK113i-S開發板在使用的開機服務類型。


在以上5種文件中Config.in和demo.mk是必須的,其他文件按需配置即可。具體配置內容可參考已有文件或根據實際情況進行書寫。Mosquitto已經有寫好的配置文件,可以直接用,一般配置文件由項目的維護者或開發者提供,如果自己移植的文件沒有配置文件,可以參考已有配置文件寫一個。

Part 2 執行

我們需要在buildroot/buildroot-201902中執行

make OK113I_linux_defconfig

然后執行make menuconfig ARCH=arm

在圖形配置界面進行配置(如果執行報錯,請先安裝該指令:sudo apt-get update 和 sudo apt-get install ncurses)。

進入圖形配置界面后輸入“/”搜索要配置的功能,如圖搜索Mosquitto看到的信息,按提示選“1”可進入目標選項,按“空格”選擇后保存并退出。


配置完成后,在當前目錄下執行 ./build.sh對文件系統進行編譯,編譯完成后可查看文件系統中是否已經有對應文件。(注:如果沒有網絡,則編譯時不能自動下載源碼包,需要到下載地址手動下載源碼包并放到源碼包存放路徑中。)

Part3 MQTT的測試驗證

修改OK113i-S開發板的 /etc/mosquitto/mosquitto.conf 文件,在#user mosquitto后加一行user root,重啟服務或者開發板。也可以殺掉進程并重新執行:

/usr/sbin/mosquitto -c /etc/mosquitto/mosquitto.conf

然后進行測試——

訂閱test主題:

mosquitto_sub -t test &

發布test主題:

mosquitto_pub -t test -m "hello world"

能看到返回的 hello world 字樣,就說明移植成功了。







歡迎光臨 電子工程網 (http://www.qingdxww.cn/) Powered by Discuz! X3.4
主站蜘蛛池模板: 91色国产| 精品视频入口 | 国产麻豆| 香蕉国产人午夜视频在线观看 | 亚洲成熟人网站 | 不卡视频在线播放 | 成年女人免费毛片视频永久 | 亚洲欧洲精品成人久久曰 | 亚洲欧美日韩不卡一区二区三区 | 网站免黄| 妻子的诱惑在线免费观看正片 | 趁女同学洗澡摸她胸喝她奶 | 日本在线高清 | 家庭教师第二季 | 终极教师电视剧免费观看完整版 | 在线免费色 | 欧美在线视频免费看 | 日韩国产欧美在线观看一区二区 | 在线播放国产不卡免费视频 | 久久99精品久久久久久h | 欧美高清视频在线 | 在线精品一区二区三区 | 特黄日韩免费一区二区三区 | 天天拍拍天天爽免费视频 | 爱婷婷网站在线观看 | 91欧美国产| 日日日视频 | 欧美黑粗硬 | 日本成人不卡视频 | 日韩高清在线日韩大片观看网址 | 欧美成人黄色片 | 国内自拍中文字幕 | 99久久精品费精品国产 | 欧美一级日韩一级亚洲一级va | 美女一级毛片免费不卡视频 | 99re视频在线观看 | 欧美aaaa在线观看视频免费 | 美国一级毛片不卡无毒 | 国产无卡一级毛片aaa | 亚洲视频一区二区三区 | 狠狠色丁香婷婷久久综合不卡 |