建完整指南)
5分鐘快速上手zigbee_home CLI安裝與從源碼構(gòu)建完整指南【免費(fèi)下載鏈接】zigbee_homeProject to provide functionality similar to ESPHome but for Zigbee instead of WiFi for nRF52, nRF53 nRF54L項(xiàng)目地址: https://gitcode.com/gh_mirrors/zi/zigbee_homezigbee_home 是一個(gè)類似 ESPHome 的開源項(xiàng)目但它服務(wù)的不是 WiFi而是 Zigbee 協(xié)議主要面向 nRF52、nRF53 與 nRF54L 系列芯片。zigbee_home CLI 是項(xiàng)目的核心入口只需一份 YAML 配置文件就能自動(dòng)完成源碼生成、固件構(gòu)建與設(shè)備刷寫三大工作。這篇文章將帶你用 5 分鐘完成 zigbee_home CLI 安裝并附上一份 zigbee_home 從源碼構(gòu)建的完整指南零基礎(chǔ)也能輕松跟上。zigbee_home CLI 能做什么簡(jiǎn)單說它把寫固件這件麻煩事變成了寫配置。核心能力有三項(xiàng)?生成源碼根據(jù)zigbee.yml配置生成完整的 Zephyr 工程C 源碼、proj.conf、app.overlay?構(gòu)建固件在配置好的 nRF Connect Zephyr 環(huán)境中自動(dòng)編譯出固件?刷寫固件支持 nrfutil、mcuboot、west、adafruit 等多種方式寫入開發(fā)板目前已支持 Bosch BME280/BME680、Aosong DHT、Sensirion SCD4X 等常見傳感器官方板卡支持列表見docs/supported_boards.md。安裝前的環(huán)境準(zhǔn)備在開始 zigbee_home CLI 安裝之前請(qǐng)確認(rèn)兩件事安裝 Go 語言版本需為 1.21.4 或更高當(dāng)前倉庫go.mod已要求 Go 1.24Linux 發(fā)行版自帶或 macOS 的brew均可準(zhǔn)備一塊開發(fā)板如 nRF52840 Donglenrf52840dongle_nrf52840或 Arduino Nano 33 BLE詳見docs/supported_boards.md方式一5分鐘快速安裝 CLI推薦新手如果你的目標(biāo)是拿來就用推薦直接使用go install安裝。官方文檔docs/install_zigbee_home_cli.md中提供了go install一條命令安裝方式go install zigbee_home模塊路徑/cmd/zigbee_homedevelop執(zhí)行完成后直接運(yùn)行zigbee_home命令即可使用。整個(gè)過程不超過 5 分鐘不需要接觸任何源碼。 提示該可執(zhí)行文件名為通用名zigbee_home如果擔(dān)心與其他程序沖突可以改用下面的從源碼構(gòu)建方式。方式二zigbee_home 從源碼構(gòu)建完整指南這種方式適合想二次開發(fā)、調(diào)試源碼的進(jìn)階用戶也是了解整個(gè)項(xiàng)目結(jié)構(gòu)的最好途徑。第一步克隆源碼倉庫將倉庫克隆到本地任意目錄git clone https://gitcode.com/gh_mirrors/zi/zigbee_home.git cd zigbee_home第二步運(yùn)行 CLI在倉庫根目錄直接運(yùn)行入口程序cmd/zigbee_home/main.gogo run ./cmd/zigbee_home/... [參數(shù)]注意這種方式不會(huì)把可執(zhí)行文件加入 PATH每次使用都需要執(zhí)行上面的go run命令。第三步更新源碼使用go run方式不會(huì)自動(dòng)更新代碼需要手動(dòng)拉取最新內(nèi)容git pull用 3 行配置創(chuàng)建你的第一個(gè)設(shè)備CLI 的大部分操作都依賴配置文件默認(rèn)名為zigbee.yml。下面是examples/basic/zigbee.yaml中最基礎(chǔ)的配置僅聲明板卡型號(hào)即可生成固件general: board: nrf52840dongle_nrf52840如果加了傳感器和刷寫參數(shù)配置文件會(huì)長(zhǎng)這樣完整示例見zigbee.yml與docs/using_the_cli/configuration_file.mdgeneral: board: nrf52840dongle_nrf52840 flasher: nrfutil flasheroptions: port: /dev/ttyACM1 sensors: - type: scd4x i2c: id: i2c0生成源碼與構(gòu)建固件的快速方法寫好后在項(xiàng)目目錄執(zhí)行--workdir指定輸出目錄默認(rèn)是當(dāng)前目錄# 僅生成源碼 go run ./cmd/zigbee_home/... --config ./zigbee.yml firmware --workdir ./firmware build --only-generate # 生成并構(gòu)建固件 go run ./cmd/zigbee_home/... --config ./zigbee.yml firmware --workdir ./firmware build??重要提醒每次build都會(huì)重新生成源碼任何手動(dòng)修改都會(huì)被覆蓋同時(shí)build不會(huì)清空工作目錄刪除功能后殘留文件可能導(dǎo)致編譯失敗。構(gòu)建環(huán)境細(xì)節(jié)見docs/using_the_cli/building_the_firmware.md。一鍵刷寫固件到開發(fā)板將開發(fā)板切換到 DFU/bootloader 模式后運(yùn)行g(shù)o run ./cmd/zigbee_home/... --config ./zigbee.yml firmware --workdir ./firmware flashCLI 會(huì)自動(dòng)選擇合適的刷寫方式nrfutil / mcuboot / west / adafruit具體說明見docs/using_the_cli/flash_firmware.md。真實(shí)項(xiàng)目示例直流電源開關(guān) ?安裝完成后建議看看examples/board_dc_power_switch/這個(gè)完整示例——它用 Seeed XIAO-nRF52840 搭配 INA219 電流傳感器和 IRLZ44N MOSFET實(shí)現(xiàn)了一路直流電源的開關(guān)與電流監(jiān)測(cè)是理解配置→固件→實(shí)物全流程的最佳入門案例常見問題與避坑指南問題解決方案go run每次都要輸長(zhǎng)命令建議編寫一個(gè) shell 別名alias構(gòu)建報(bào)錯(cuò)先檢查zigbee.yml配置再確認(rèn) nRF Connect 環(huán)境變量是否生效想改源碼加功能用源碼構(gòu)建方式改動(dòng)集中在sensor/、zcl/、templates/目錄相關(guān)文檔與源碼速覽 想深入了解可查閱以下資料官方文檔docs/install_zigbee_home_cli.md、docs/using_the_cli/index.md、docs/using_the_cli/configuration_file.md、docs/using_the_cli/building_the_firmware.md、docs/using_the_cli/flash_firmware.mdCLI 入口源碼cmd/zigbee_home/main.go、cmd/zigbee_home/firmware/配置文件示例根目錄zigbee.yml、examples/下各示例傳感器實(shí)現(xiàn)sensor/目錄如sensor/sensirion/scd4x.go固件模板templates/目錄現(xiàn)在你已經(jīng)掌握了 zigbee_home CLI 安裝與從源碼構(gòu)建的完整流程去搭建你的第一個(gè) Zigbee 設(shè)備吧【免費(fèi)下載鏈接】zigbee_homeProject to provide functionality similar to ESPHome but for Zigbee instead of WiFi for nRF52, nRF53 nRF54L項(xiàng)目地址: https://gitcode.com/gh_mirrors/zi/zigbee_home創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考