前提準備
請確保你本地已經配置好 esp-idf 及esp-matter環境,可參考此博客【Matter】esp-matter開發環境搭建
設置環境變量
1.ESP-IDF
根據官網提示,我們需要設置linux平臺下的標準工具鏈,安裝以下軟件包:
sudo apt-get install git wget flex bison gperf python3 python3-pip python3-setuptools cmake ninja-build ccache libffi-dev libssl-dev dfu-util libusb-1.0-0
使用 ESP-IDF 需要 CMake 3.5 或以上版本。較早的 Linux 發行版可能需要升級自身的軟件源倉庫,或開啟 backports 套件庫,或安裝 “cmake3” 軟件包(不是安裝 “cmake”)。
cd ./esp/esp-idf
source export.sh
2.ESP-Matter
Linux
macOS
由于我們使用的是Linux環境,所以此處僅作Linux下的說明,macOS可詳見此處
在基于 Debian 的 Linux 發行版(例如 Ubuntu)上,可以使用以下命令滿足這些依賴項:
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
準備編譯matter所需環境。注:如切換了其他分支需要重新運行
cd ./esp/esp-matter/connectedhomeip/connectedhomeip
source scripts/bootstrap.sh
激活編譯matter環境
cd ./esp/esp-matter/connectedhomeip/connectedhomeip
source scripts/activate.sh
Matter Example編譯下載
1.激活esp-matter環境
cd esp-idf
. ./export.sh
cd esp-matter
. ./export.sh
2.選擇esp設備
cd esp-matter/examples/light
idf.py set-target esp32c3
初次執行這個命令發生了如下報錯:
...
AttributeError: 'HTTPResponse' object has no attribute 'strict'
...
在GitHub上參考此issue,并執行以下命令:
pip install -U "urllib3<2"
同時重新執行esp-matter安裝腳本:
由于需要重新運行安裝腳本命令,此處直接執行的話會報錯,參考此issue
rm -rf esp-matter/connectedhomeip/connectedhomeip/.environment
cd esp-matter
./install.sh
pip install -U "urllib3<2"
然后回到示例工程下繼續執行esp設備選擇
cd esp-matter/examples/light
idf.py set-target esp32c3
此時發生了新的錯誤:
由于示例工程下的build以前遺留的構建文件,而系統在執行程序時并不會覆蓋或主動刪除舊的構建文件,因此需要用戶手動刪除,因此正確的操作就是:
sudo rm -r esp-matter/examples/light/build
idf.py set-target esp32c3
最后成功解決問題:
3.編譯工程
idf.py build
4.SDK燒寫
第一次燒寫 SDK 時,需要擦除整個 flash 再執行燒錄命令
idf.py erase_flash
燒錄程序并打開串口監視
idf.py flash monitor
可以看到燒錄進度:
包括串口監視器的提示信息,同時執行以下命令可退出串口監視:
CTRL + ]
-
Linux系統
+關注
關注
4文章
594瀏覽量
27436 -
燒錄器
+關注
關注
3文章
192瀏覽量
26321 -
Flash存儲
+關注
關注
0文章
38瀏覽量
8319 -
ESP32
+關注
關注
18文章
971瀏覽量
17351
發布評論請先 登錄
相關推薦
評論