精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

esp-matter開發環境搭建步驟

冬至配餃子 ? 來源:kurisaW ? 作者:kurisaW ? 2023-09-18 17:30 ? 次閱讀

前提準備

1.Ubuntu22.04(磁盤容量不小于80G)
2.科學上網環境
由于后面的 esp-matter 測試的時候需要使用到科學上網環境,所以我們需要提前確保 linux 環境能夠使用科學上網。

esp-idf 開發環境搭建

1.ESP-IDF 依賴環境安裝

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倉庫的時候一般會發生如下兩個錯誤:

Problem1:執行 git submodule 速度慢
Problem2:執行install.sh 速度慢

所以我們這里特別著重講解,注意,這里解決問題的順序與esp-idf環境搭建是一起進行的,讀者可以順著流程走。

2.Problem1 solution

首先使用遞歸克隆命令克隆整個倉庫到文件夾下

mkdir /home/kurisaw/Desktop/esp
git clone --recursive
git submodule update --init --recursive

由于 esp-idf 倉庫下有很多遞歸的下游倉庫,一般使用 GitHub 下載的話也會導致遞歸下載失敗,所以樂鑫官方提供了兩種解決方案,包括鏡像倉庫使用、submodule 更新、開發工具安裝等,可加速環境的搭建。解決方案如下:

jihu-mirror 使用(推薦
submodule-update 使用(不推薦)
2.1 jihu-mirror 使用(推薦)
Step 1:
git clone
cd esp-gitee-tools
Step 2:
// 使用如下命令將倉庫的 URL 進行替換

Step 3:
// 啟用鏡像URL
./jihu-mirror.sh set
使用命令 ./jihu-mirror.sh unset 恢復,不使用鏡像的 URL。

Step 4:當使用鏡像 URL 之后,再遞歸克隆 esp-idf 倉庫
git clone --recursive https://github.com/espressif/esp-idf.git
當然如果不想使用鏡像的URL可以使用如下命令進行恢復:

./jihu-mirror.sh unset
2.2 submodule-update 使用(不推薦)

Step 2:

// 僅克隆 esp-idf,不包含子模塊

Step 3:
可以有兩種方式來更新 submodules。

方式一

進入 esp-gitee-tools 目錄,export submodule-update.sh 所在路徑,方便后期使用,如:

cd esp-gitee-tools
export EGT_PATH=$(pwd)
進入 esp-idf 目錄執行 submodule-update.sh 腳本:

cd esp-idf
$EGT_PATH/submodule-update.sh

方式二

submodule-update.sh 腳本支持將待更新 submodules 的工程路徑作為參數傳入,例如:submodule-update.sh PATH_OF_PROJ。

假如 Step 2 中 clone 的 esp-idf 位于 ~/git/esp32-sdk/esp-idf 目錄,可使用以下方式來更新:

cd esp-gitee-tools
./submodule-update.sh ~/git/esp32-sdk/esp-idf
如果要更新其他工程,可以同樣方式。

值得吐槽的是, submodule-update 這種方法還需要保持上游代碼分支的提交歷史一致,如果官方未及時更新則會導致該腳本暫時失效,不推薦使用,避坑!!

3.Problem2 solution
下面說第二個問題:執行./install.sh速度慢的問題

在 Espressif Systems 的 esp-idf 開發框架中,某些組件的構建過程需要從 GitHub 的 release 頁面下載預編譯的二進制文件。然而,在中國大陸訪問 GitHub 的速度往往較慢并且不穩定,為了改善這個問題,Espressif Systems 將這些預編譯的二進制文件托管在國內的服務器上,并提供了一個名為 IDF_GITHUB_ASSETS 的環境變量來指定這個地址。在設置了 IDF_GITHUB_ASSETS 變量之后,構建過程將會從這個指定的地址下載預編譯的二進制文件

export IDF_GITHUB_ASSETS="dl.espressif.com/github_assets"
然后再執行安裝命令

./install.sh
在這還報了一個錯誤

我們根據提示安裝python3.10-venv,并再次執行安裝命令:

apt install python3.10-venv
./install.sh

至此,esp-idf 的安裝工具就告一段落了。

esp-matter開發環境搭建

git clone --recursive
注意:如果上面的 esp-idf 開發環境的搭建使用的是 jihu-mirror 方式,那么你需要取消esp鏡像,按理說這部分錯誤不應該發生,但實際上確實存在這部分問題,請執行命令:./jihu-mirror.sh unset取消esp鏡像!!

若過程有報錯,請執行下面命令在Git 倉庫中獲取到所有子模塊,并將所有子模塊及其下層子模塊更新至最新版本。

git submodule update --init --recursive
執行安裝命令:

./install.sh
本以為到這就結束了,但不出意外的話意外發生了,在安裝過程中發生了報錯…

Building wheel for pycryptodome (setup.py): started
error: subprocess-exited-with-error
× python setup.py bdist_wheel did not run successfully.
│ exit code: 1
╰─> See above for output.
note: This error originates from a subprocess, and is likely not a problem with pip.
Building wheel for pycryptodome (setup.py): finished with status 'error'
ERROR: Failed building wheel for pycryptodome
Running setup.py clean for pycryptodome
Building wheel for gevent (pyproject.toml): started
......
我們查看install.sh文件

#!/usr/bin/env bash
set -e
basedir=$(dirname "$0")
ESP_MATTER_PATH=(cd "{basedir}"; pwd)
MATTER_PATH=${ESP_MATTER_PATH}/connectedhomeip/connectedhomeip
export ESP_MATTER_PATH
echo ""
echo "Running Matter Setup"
echo ""
source ${MATTER_PATH}/scripts/bootstrap.sh
echo ""
echo "Installing zap-cli"
echo ""

Run the zap_download.py and extract the path of installed binary

eg output before cut: "export ZAP_INSTALL_PATH=zap/zap-v2023.03.06-nightly"

output after cut: zap/zap-v2023.03.06-nightly

TODO: Remove the zap-version after https://github.com/project-chip/connectedhomeip/pull/25727 merged

zap_path=python3 ${ESP_MATTER_PATH}/connectedhomeip/connectedhomeip/scripts/tools/zap/zap_download.py --sdk-root ${ESP_MATTER_PATH}/connectedhomeip/connectedhomeip --zap RELEASE --zap-version v2023.03.27-nightly --extract-root .zap 2>/dev/null | cut -d= -f2

Check whether the download is successful.

if [ -z $zap_path ]; then
echo "Failed to install zap-cli"
deactivate
exit 1
fi

Move files to one directory up, so that binaries will be in $ESP_MATTER_PATH/.zap/ directory and export.sh can leverage the fixed path

if [ -d "${ESP_MATTER_PATH}/.zap" ]; then
rm -r ${ESP_MATTER_PATH}/.zap
fi
mkdir ${ESP_MATTER_PATH}/.zap
mv *zap_path/{ESP_MATTER_PATH}/.zap/
rm -r $zap_path
chmod +x ${ESP_MATTER_PATH}/.zap/zap-cli
echo ""
echo "Building host tools"
echo ""
gn --root="
{MATTER_PATH}" gen **{MATTER_PATH}/out/host
ninja -C ${MATTER_PATH}/out/host
echo ""
echo "Host tools built at: ${MATTER_PATH}/out/host"
echo ""
echo ""
echo "Exit Matter environment"
echo ""
deactivate
echo ""
echo "Installing python dependencies for mfg_tool"
echo ""
python3 -m pip install -r ${ESP_MATTER_PATH}/tools/mfg_tool/requirements.txt
echo ""
echo "Installing python dependencies for Matter"
echo ""
python3 -m pip install -r ${ESP_MATTER_PATH}/requirements.txt
echo "All done! You can now run:"
echo ""
echo " . ${basedir}/export.sh"
echo ""

發現問題出在第10到13行,我嘗試安裝系統必要的依賴項來解決這個問題,成功解決!命令如下:

sudo apt install build-essential python3-dev
sudo apt-get install pkg-config
sudo apt-get install libglib2.0-dev libglib2.0-dev-bin libgio2.0-cil-dev

接著在安裝zap-cli的時候再次發生報錯,需要安裝以下依賴庫,并再次運行安裝腳本命令,等待編譯

sudo apt-get install libssl-dev
sudo apt-get install pip
./install.sh

最后看到All done!即代表環境安裝成功!

至此,esp-matter開發環境搭建成功!

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 二進制
    +關注

    關注

    2

    文章

    794

    瀏覽量

    41600
  • Linux系統
    +關注

    關注

    4

    文章

    591

    瀏覽量

    27356
  • URL
    URL
    +關注

    關注

    0

    文章

    139

    瀏覽量

    15312
  • ESP模塊
    +關注

    關注

    1

    文章

    3

    瀏覽量

    6789
收藏 人收藏

    評論

    相關推薦

    esp-matter在安裝時一直卡在Setting up CIPD package manager.的原因?

    在按照文檔上操作 git clone --depth 1 https://github.com/espressif/esp-matter.git cd esp-matter git
    發表于 06-05 08:15

    使用esp32c3開發matter時,開發好的產品還需要走matter官方認證流程獲得認證嗎?

    使用esp32c3開發matter時,(SDK使用esp-matter),使用這個芯片開發matter
    發表于 06-11 07:46

    esp-matter執行install.sh失敗的原因?

    manager...Traceback (most recent call last): File \"/home/rck/esp2/esp-matter/connectedhomeip
    發表于 06-11 08:39

    esp-matter使用idf.py編譯light sample報錯怎么解決?

    搭建esp-matter后,編譯light sample的時候報錯 rck@ubuntu:~/ESP/esp-matter/examples/light$ idf.py buil
    發表于 06-11 07:04

    esp-matter light示例配對過程中出錯的原因?

    開發環境為Ubuntu22.04 ,ESP-IDF版本為: v5.2-dev-503-g17451f1fb3,使用的開發板為esp32s3
    發表于 06-11 07:19

    esp-Matter執行install.sh失敗的原因?

    manager...Traceback (most recent call last): File \"/home/edu118/work/matter/esp-matter/esp-matter
    發表于 06-12 07:18

    MacOS按照文檔的步驟進行環境的配置, esp-matter執行./install.sh的時候報錯怎么解決?

    MacOS 按照文檔的步驟進行環境的配置, esp-matter執行./install.sh的時候報錯: Downloading and installing packages into local
    發表于 07-19 07:41

    基于matter協議開發搭建環境時報錯要如何解決?

    你們好 我想問一下 我想基于matter協議開發ESP-32參考:https://docs.espressif.com/projects/esp ... oping.html按照上面的
    發表于 02-10 08:34

    esp-matter如何為按鈕配置GPIO?

    我只是在嘗試 esp-matter 的按鈕示例。我想檢查連接了哪個 PIN,但不幸的是我無法從源代碼中弄清楚。下面提到的 app_driver_switch_init() 函數應該初始化按鈕,將通過
    發表于 04-13 07:53

    Android 開發環境搭建步驟詳細圖解

    Android 開發環境搭建步驟詳細圖解
    發表于 10-24 08:49 ?11次下載
    Android <b class='flag-5'>開發</b><b class='flag-5'>環境</b><b class='flag-5'>搭建</b><b class='flag-5'>步驟</b>詳細圖解

    ESP8266 SDK開發環境搭建初級教程

    ESP8266 SDK 開發環境 本章主要從開發環境搭建、工程模板建立、
    發表于 12-07 14:42 ?15次下載
    <b class='flag-5'>ESP</b>8266 SDK<b class='flag-5'>開發</b><b class='flag-5'>環境</b><b class='flag-5'>搭建</b>初級教程

    ESP32教程——Windows開發環境搭建.pdf下載

    ESP32教程——Windows開發環境搭建.pdf
    發表于 04-14 10:41 ?47次下載
    <b class='flag-5'>ESP</b>32教程——Windows<b class='flag-5'>開發</b><b class='flag-5'>環境</b><b class='flag-5'>搭建</b>.pdf下載

    搭建Matter編譯環境步驟

    Matter應用是基于Zephyr實時操作系統實現的,因此在配置Matter項目前,需要提前配置Zephyr工程以及Telink的工具鏈,但是手動配置Zephyr環境以及配置Telink工具鏈所需要執行的
    的頭像 發表于 08-24 15:02 ?3383次閱讀

    ESP-Matter燒錄體驗例程

    ESP-MatterESP32系列SoC的官方Matter開發框架。它建立在開源的Matter SDK之上,提供了簡化的API、常用的外圍
    的頭像 發表于 07-07 10:39 ?648次閱讀
    <b class='flag-5'>ESP-Matter</b>燒錄體驗例程

    經驗分享 | ESP-Matter 燒錄體驗

    ESP-MatterESP32系列SoC的官方Matter開發框架。它建立在開源的MatterSDK之上,提供了簡化的API、常用的外圍設備、用于安全、制造和生產的工具和實用程序,并
    的頭像 發表于 07-07 10:04 ?982次閱讀
    經驗分享 | <b class='flag-5'>ESP-Matter</b> 燒錄體驗