硬件準(zhǔn)備
PC機(jī)需要支持藍(lán)牙4.0及以上版本,如果沒(méi)有的話需要購(gòu)買一個(gè)USB藍(lán)牙適配器,而且需要支持Linux,可以參考購(gòu)買這款藍(lán)牙適配器
準(zhǔn)備工作
1.遞歸克隆Matter倉(cāng)庫(kù)
執(zhí)行如下命令:
git clone --recurse-submodules git@github.com:project-chip/connectedhomeip.git
如果克隆過(guò)程中發(fā)生報(bào)錯(cuò),請(qǐng)執(zhí)行如下命令來(lái)同步子模塊:
git submodule update --init
由于我們的環(huán)境構(gòu)建配置均是基于Matter1.0,所以我們需要切換到v1.0分支下
git checkout v1.0
2.Matter依賴項(xiàng)安裝
Matter 構(gòu)建依賴于以下軟件包及環(huán)境庫(kù):
sudo apt-get install git gcc g++ pkg-config libssl-dev libdbus-1-dev
libglib2.0-dev libavahi-client-dev ninja-build python3-venv python3-dev
python3-pip unzip libgirepository1.0-dev libcairo2-dev libreadline-dev
如果通過(guò)build_examples.py 和 -with-ui 變體進(jìn)行構(gòu)建,也要安裝 SDL2:
sudo apt-get install libsdl2-dev
3.Matter環(huán)境構(gòu)建
執(zhí)行scripts/activate.sh腳本。該腳本負(fù)責(zé)下載 GN、ninja,并使用用于構(gòu)建和測(cè)試的庫(kù)設(shè)置 Python 環(huán)境。
source scripts/activate.sh
如果顯示環(huán)境已過(guò)期可執(zhí)行如下命令進(jìn)行更新(一般如果沒(méi)提示環(huán)境已過(guò)期的提示不建議執(zhí)行這一步,編譯會(huì)花一段時(shí)間):
source scripts/bootstrap.sh
4.安裝zap
注意:zap 包目前不可用arm64(比如在 Raspberry PI 上編譯時(shí))。
Step1:ZAP需要Node.js來(lái)運(yùn)行,請(qǐng)先確保你的計(jì)算機(jī)上已經(jīng)安裝了Node.js。可以使用以下命令:
node -v
如果安裝的話不出意外會(huì)出現(xiàn)版本號(hào)。
Step2:zap安裝
cd connectedhomeip/scripts/tools/zap
python3 zap_download.py
下面是安裝日志:
root@kurisaw-virtual-machine:/home/kurisaw/Desktop/esp/esp-gitee-tools/esp-matter/connectedhomeip/connectedhomeip/scripts/tools/zap# python3 zap_download.py
2023-06-19 13:28:22 root INFO Found required zap version to be: v2023.04.27-nightly
2023-06-19 13:28:22 root INFO Fetching: https://github.com/project-chip/zap/releases/download/v2023.04.27-nightly/zap-linux.zip
2023-06-19 13:29:20 root INFO Data downloaded, extracting ...
2023-06-19 13:29:25 root INFO Done extracting.
export ZAP_INSTALL_PATH=/home/kurisaw/Desktop/esp/esp-gitee-tools/esp-matter/connectedhomeip/connectedhomeip/.zap/zap-v2023.04.27-nightly
Step3:配置zap環(huán)境變量
我們看上面 zap 安裝日志,其中最后導(dǎo)出了zap 的安裝路徑為/home/kurisaw/Desktop/esp/esp-gitee-tools/esp-matter/connectedhomeip/connectedhomeip/.zap/zap-v2023.04.27-nightly,在此目錄下有個(gè) zap 腳本,我們這個(gè)位置一定要記住!!
設(shè)置ZAP_DEVELOPMENT_PATH環(huán)境變量(這里的路徑需要根據(jù)上面安裝zap后提示的路徑進(jìn)行設(shè)置,不能一昧照抄)
export ZAP_DEVELOPMENT_PATH=/home/kurisaw/Desktop/esp/esp-gitee-tools/esp-matter/connectedhomeip/connectedhomeip/.zap/zap-v2023.04.27-nightly
Step4:運(yùn)行zap引導(dǎo)程序
執(zhí)行如下代碼:
./run_zaptool.sh
效果如下:
Step4:為了方便我們后續(xù)使用zap,我們?cè)O(shè)置root終端下自啟動(dòng):
sudo su
vi ~/.bashrc
在.bashrc文件最末添加如下代碼,也就是配置zap環(huán)境變量
export ZAP_DEVELOPMENT_PATH=/home/kurisaw/Desktop/esp/esp-gitee-tools/esp-matter/connectedhomeip/connectedhomeip/.zap/zap-v2023.04.27-nightly
保存退出!
應(yīng)用程序構(gòu)建
在官方文檔中提供有兩種構(gòu)建方式:
通過(guò)腳本構(gòu)建
使用 Gn 和 Ninja 命令構(gòu)建
1.通過(guò)腳本構(gòu)建
./build_script.sh EXAMPLE_DIR OUTPUT_DIR [ARGUMENTS]
build_script.sh 是腳本的文件名;
EXAMPLE_DIR 是示例項(xiàng)目的目錄路徑;
OUTPUT_DIR 是構(gòu)建輸出的目錄路徑;
[ARGUMENTS] 是可選的其他參數(shù),用于設(shè)置gn和ninja命令的選項(xiàng)。
1.1 構(gòu)建示例
./scripts/examples/gn_build_example.sh examples/placeholder/linux out/debug/simulated/ chip_tests_zap_config="app1"
"
1.2 運(yùn)行構(gòu)建
./out/simulated/chip-app1
2.通過(guò) gn 和 ninja 構(gòu)建應(yīng)用程序
2.1 構(gòu)建示例
source scripts/activate.sh
gn gen --check --root=examples/placeholder/linux out/simulated --args="chip_tests_zap_config="app1""
ninja -C out/simulated
2.2 運(yùn)行構(gòu)建
cd
./out/app1/chip-app1
測(cè)試應(yīng)用程序
在前面的應(yīng)用程序構(gòu)建那一節(jié)中我們已經(jīng)完成了應(yīng)用程序的構(gòu)建并且成功運(yùn)行了構(gòu)建,同時(shí)我們?cè)谌罩局幸部梢钥吹缴闪薗R碼的鏈接,我們將其復(fù)制到瀏覽器打開(kāi)即可得到二維碼
我們使用chip tool結(jié)合生成的QR碼進(jìn)行調(diào)試,重新打開(kāi)一個(gè)終端,使用默認(rèn)的chip tool工具(記住不是之前構(gòu)建應(yīng)用程序生成的chip tool),通過(guò)QR碼可以快捷迅速地將虛擬設(shè)備添加到網(wǎng)絡(luò)中,我們使用chip tool對(duì)設(shè)備進(jìn)行調(diào)試:
cd out/debug
./chip-tool onoff on 0x654321 1
./chip-tool onoff off 0x654321 1
./chip-tool onoff read accepted-command-list 0x654321 1
./chip-tool onoff read on-time 0x654321 1
-
Linux系統(tǒng)
+關(guān)注
關(guān)注
4文章
594瀏覽量
27409 -
藍(lán)牙適配器
+關(guān)注
關(guān)注
0文章
21瀏覽量
8814 -
PC機(jī)
+關(guān)注
關(guān)注
2文章
201瀏覽量
28585 -
python
+關(guān)注
關(guān)注
56文章
4797瀏覽量
84742
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論