【Ubuntu 20.04/22.04 LTS】最新 esp-matter SDK 软件编译环境搭建步骤

环境要求

  • Ubuntu 20.04 或 Ubuntu22.04
  • 网络环境支持访问 Gihub

在安装 esp-matter SDK 软件编译环境之前,需要先安装相关工具链。

工具链安装准备:

bash 复制代码
sudo apt-get install git wget flex bison gperf python3 python3-pip python3-venv cmake ninja-build ccache libffi-dev libssl-dev dfu-util libusb-1.0-0
bash 复制代码
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	

安装 ninja-build

bash 复制代码
sudo apt-get install ninja-build

使用 pip 安装以下 python 软件包

bash 复制代码
pip install --update pip

python -m pip install pyyaml xlrd

python -m pip --version

安装 Python3 的环境

bash 复制代码
sudo apt-get install python3.8-venv python3.8-dev

安装 curses

bash 复制代码
sudo apt-get install libncurses5-dev

esp-matter SDK 软件编译环境需要依赖 esp-idf SDK 软件编译环境。推荐基于 esp-idf SDK v5.1.2 版本来搭建 esp-matter SDK Master 版本的软件编译环境。

接下来的步骤同样适用于 macOS 10.15 及以上版本的环境。

首先,安装 esp-idf SDK v5.1.2 版本的软件编译环境:

  • 克隆 esp-idf v5.1.2 版本的 SDK
bash 复制代码
cd ~

mkdir esp

cd esp

git clone -b v5.1.2 https://github.com/espressif/esp-idf.git
bash 复制代码
cd esp-idf

git submodule update --init --recursive
  • 设置 esp-idf SDK 环境变量并安装编译工具依赖
bash 复制代码
export IDF_PATH=$(pwd)

./install.sh 

. ./export.sh

然后安装 esp-matter SDK Master 版本的软件编译环境:

bash 复制代码
cd ~/esp

git clone https://github.com/espressif/esp-matter.git
bash 复制代码
cd esp-matter

git submodule update --init --recursive

git submodule update --init --recursive -f

git pull
  • 设置 esp-matter SDK 环境变量并安装编译工具依赖
bash 复制代码
export ESP_MATTER_PATH=$(pwd)

./install.sh

cd ./connectedhomeip/connectedhomeip/scripts

source ./activate.sh

cd ../../..

. ./export.sh
  • 对例程进行编译测试
bash 复制代码
cd examples/light

rm -rf build

idf.py fullclean

idf.py set-target esp32

idf.py build
  • 例程编译测试结果
相关推荐
FlightYe11 分钟前
音视频修炼之容器与协议(二):HLS和DASH流媒体
android·linux·ffmpeg·音视频·android runtime·dash
承渊政道13 分钟前
Linux网络学习【从深入理解网络层原理到IP分片与重组全过程剖析】
linux·计算机网络·ubuntu·ip分片与重组
橘色的喵13 分钟前
嵌入式Linux编程,如何把硬件中断交给用户态--UIO 的机制
linux·mcu·isr·中断·uio
强哥聊算力20 分钟前
《算力江湖·DeepSeek》第四集:DeepSeek如何改变中国算力的采购逻辑?
大数据·运维·人工智能·ai·gpu算力
~城南花已开~35 分钟前
Redfish 事件接收服务搭建指南(Ubuntu Server 实测)
linux·服务器·python·ubuntu
承渊政道41 分钟前
新增一台服务器时还要重新装Nginx?Ansible只改hosts目标列表,同一份Playbook继续执行
运维·nginx·ansible·内网穿透·cpolar
德迅云安全-上官1 小时前
服务器遭攻击如何快速响应?从技术原理到接入防御架构的实战指南
运维·服务器·架构
我命由我123451 小时前
6-2.Python 异常处理 - 异常捕获(捕获指定异常、常见异常类型、异常信息)
java·运维·开发语言·python·http·https·java-ee
倔强的石头1061 小时前
【Linux指南】进程通信系列(四):命名管道 FIFO —— 让陌生进程按名字见面
linux·服务器·网络
段一凡-华北理工大学1 小时前
高炉能源系统智能化:热风炉、煤气与极致能效~系列文章03:热风炉烧炉与风温的决定因素
大数据·linux·人工智能·能源·热风炉·高炉能源优化