加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長(zhǎng)期合作伙伴
立即加入
  • 正文
    • Part 1、配置文件介紹
    • Part 2、執(zhí)行
    • Part 3、MQTT的測(cè)試驗(yàn)證
  • 推薦器件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

如何在飛凌嵌入式T113-i開(kāi)發(fā)板的Buildroot中移植MQTT協(xié)議?

01/26 10:50
2381
閱讀需 7 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

飛凌嵌入式OK113i-S開(kāi)發(fā)板上市一段時(shí)間以來(lái)收獲了很多關(guān)注,也成為了許多客戶項(xiàng)目選型的優(yōu)質(zhì)之選。在實(shí)際的項(xiàng)目開(kāi)發(fā)中,工程師朋友們可能會(huì)需要在文件系統(tǒng)中移植一些工具或協(xié)議,那么該如何進(jìn)行移植操作呢?

我們可以通過(guò)添加package包配置的方式在OK113i-S開(kāi)發(fā)板的Buildroot中移植新功能。本篇文章,小編就以在Buildroot移植MQTT協(xié)議為例為大家介紹。

Part 1、配置文件介紹

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

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

Config.in

mosquitto.mk

mosquitto.hash

mosquitto.service

S50mosquitto

① Config.in

Config.in文件通過(guò)?BR2_PACKAGE_**?作為開(kāi)關(guān)來(lái)告知Buildroot需要哪個(gè)包參與編譯,開(kāi)關(guān)在?buildroot/buildroot-201902/configs/?下面的?OK113I_linux_defconfig?配置文件中賦值,類(lèi)似于內(nèi)核中的Kconfig文件。

例如:

package/Config.in中寫(xiě)了調(diào)用關(guān)系

source "package/mosquitto/Config.in";

package/mosquitto/Config.in中寫(xiě)了

BR2_PACKAGE_MOSQUITTO信息。

② demo.mk

這個(gè)文件中聲明一些包的信息,比如:指定包的版本、包源碼下載鏈接、存放路徑、編譯規(guī)則、工具鏈等。編譯時(shí)會(huì)按照這個(gè)文件中的下載地址和版本下載源碼包到指定路徑并進(jìn)行編譯和文件拷貝,相當(dāng)于Makefile文件。

例如:mosquitto.mk

文件開(kāi)頭先寫(xiě)了軟件包版本和下載地址,我們?cè)跒g覽器訪問(wèn)該地址可以找到對(duì)應(yīng)版本的軟件包。編譯時(shí),如果源碼中沒(méi)有該文件,就會(huì)自動(dòng)下載。

mosguitto-1.5.8.tar.gz

mosguitto-1.5.8.tar.gz.asc

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

③ demo.hash

這個(gè)文件會(huì)記錄下載的源碼包的hash校驗(yàn)碼,防止下載的源碼包出錯(cuò)。

④ demo.service

此文件是為systemd服務(wù)
,systemd開(kāi)機(jī)后會(huì)依據(jù)此文件啟動(dòng)demo服務(wù),在demo.mk中會(huì)指定此文件的源路徑已經(jīng)安裝路徑。目前OK113i-S開(kāi)發(fā)板沒(méi)有使用該服務(wù),因此可以不用管它。

⑤ S50demo

此文件類(lèi)是demo.service,是目前OK113i-S開(kāi)發(fā)板在使用的開(kāi)機(jī)服務(wù)類(lèi)型。

 

在以上5種文件中Config.indemo.mk是必須的,其他文件按需配置即可。具體配置內(nèi)容可參考已有文件或根據(jù)實(shí)際情況進(jìn)行書(shū)寫(xiě)。Mosquitto已經(jīng)有寫(xiě)好的配置文件,可以直接用,一般配置文件由項(xiàng)目的維護(hù)者或開(kāi)發(fā)者提供,如果自己移植的文件沒(méi)有配置文件,可以參考已有配置文件寫(xiě)一個(gè)。

Part 2、執(zhí)行

我們需要在buildroot/buildroot-201902中執(zhí)行

make
OK113I_linux_defconfig

然后執(zhí)行make
menuconfig ARCH=arm

在圖形配置界面進(jìn)行配置(如果執(zhí)行報(bào)錯(cuò),請(qǐng)先安裝該指令:sudo
apt-get update?
和?sudo
apt-get install
ncurses
)。

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

配置完成后,在當(dāng)前目錄下執(zhí)行 ./build.sh對(duì)文件系統(tǒng)進(jìn)行編譯,編譯完成后可查看文件系統(tǒng)中是否已經(jīng)有對(duì)應(yīng)文件。(注:如果沒(méi)有網(wǎng)絡(luò),則編譯時(shí)不能自動(dòng)下載源碼包,需要到下載地址手動(dòng)下載源碼包并放到源碼包存放路徑中。)

Part 3、MQTT的測(cè)試驗(yàn)證

修改OK113i-S開(kāi)發(fā)板的?/etc/mosquitto/mosquitto.conf?文件,在#user
mosquitto后加一行user
root,重啟服務(wù)或者開(kāi)發(fā)板。也可以殺掉進(jìn)程并重新執(zhí)行:

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

然后進(jìn)行測(cè)試——

訂閱test主題:

mosquitto_sub
-t test &

發(fā)布test主題:

mosquitto_pub
-t test -m "hello world"

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

 

以上就是在飛凌嵌入式OK113i-S開(kāi)發(fā)板的Buildroot中移植MQTT協(xié)議的方法,供屏幕前的工程師小伙伴參考。如果您還有其他想要了解的內(nèi)容,歡迎在文末留言。點(diǎn)擊下圖進(jìn)入飛凌嵌入式官網(wǎng),即可查看OK113i-S開(kāi)發(fā)板的更多產(chǎn)品詳情。

推薦器件

更多器件
器件型號(hào) 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊(cè) ECAD模型 風(fēng)險(xiǎn)等級(jí) 參考價(jià)格 更多信息
JST01TMAC1CY5GE2 1 Viavi Solutions Inc Transceiver,
暫無(wú)數(shù)據(jù) 查看
6N137-X007T 1 Vishay Intertechnologies Optocoupler Logic-Out Open Collector DC-IN 1-CH 8-Pin PDIP SMD T/R

ECAD模型

下載ECAD模型
$2.22 查看
TJA1055T/3/CM,118 1 NXP Semiconductors TJA1055 - Enhanced fault-tolerant CAN transceiver SOIC 14-Pin

ECAD模型

下載ECAD模型
$1.95 查看
飛凌嵌入式

飛凌嵌入式

保定飛凌嵌入式技術(shù)有限公司,創(chuàng)建于2006年,是一家專注嵌入式核心控制系統(tǒng)研發(fā)、設(shè)計(jì)和生產(chǎn)的高新技術(shù)企業(yè),是國(guó)內(nèi)較早專業(yè)從事嵌入式技術(shù)的企業(yè)之一。 經(jīng)過(guò)十幾年的發(fā)展與積累,公司擁有業(yè)內(nèi)優(yōu)秀的軟硬件研發(fā)團(tuán)隊(duì),在北京及保定建立兩大研發(fā)基地,在蘇州、深圳設(shè)有華東、華南技術(shù)服務(wù)中心,并在北美、歐洲以及亞太等其他國(guó)家和地區(qū)擁有國(guó)際業(yè)務(wù)網(wǎng)絡(luò)。公司研發(fā)的智能設(shè)備核心平臺(tái)廣泛應(yīng)用于物聯(lián)網(wǎng)、工控、軌道交通、醫(yī)療、電力、商業(yè)電子、智能家居、安防、機(jī)器人、環(huán)境監(jiān)測(cè)等諸多領(lǐng)域。

保定飛凌嵌入式技術(shù)有限公司,創(chuàng)建于2006年,是一家專注嵌入式核心控制系統(tǒng)研發(fā)、設(shè)計(jì)和生產(chǎn)的高新技術(shù)企業(yè),是國(guó)內(nèi)較早專業(yè)從事嵌入式技術(shù)的企業(yè)之一。 經(jīng)過(guò)十幾年的發(fā)展與積累,公司擁有業(yè)內(nèi)優(yōu)秀的軟硬件研發(fā)團(tuán)隊(duì),在北京及保定建立兩大研發(fā)基地,在蘇州、深圳設(shè)有華東、華南技術(shù)服務(wù)中心,并在北美、歐洲以及亞太等其他國(guó)家和地區(qū)擁有國(guó)際業(yè)務(wù)網(wǎng)絡(luò)。公司研發(fā)的智能設(shè)備核心平臺(tái)廣泛應(yīng)用于物聯(lián)網(wǎng)、工控、軌道交通、醫(yī)療、電力、商業(yè)電子、智能家居、安防、機(jī)器人、環(huán)境監(jiān)測(cè)等諸多領(lǐng)域。收起

查看更多

相關(guān)推薦

電子產(chǎn)業(yè)圖譜

秉承專業(yè)態(tài)度,專注智能設(shè)備核心平臺(tái)研發(fā)與制造,以技術(shù)研發(fā)創(chuàng)新為主導(dǎo),以客戶實(shí)用化,產(chǎn)品化為目標(biāo),把握嵌入式行業(yè)的前沿發(fā)展需求,利用核心技術(shù)為客戶提供穩(wěn)定、可靠、功能優(yōu)異的高品質(zhì)產(chǎn)品。合作聯(lián)系:17713286011