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

  • 仓库链接:esp-matter SDK
  • 官方软件说明:ESP Matter Programming Guide
  • 官方参考文档:使用 Matter-SDK 快速搭建 Matter 环境 (Linux)

环境要求

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

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

工具链安装准备:

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
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

sudo apt-get install ninja-build

使用 pip 安装以下 python 软件包

pip install --update pippython -m pip install pyyaml xlrdpython -m pip --version

安装 Python3 的环境

sudo apt-get install python3.8-venv python3.8-dev

安装 curses

sudo apt-get install libncurses5-dev

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

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

  • 克隆 esp-idf v5.1.2 版本的 SDK
cd ~mkdir espcd espgit clone -b v5.1.2 https://github.com/espressif/esp-idf.git
  • 克隆 esp-idf 子仓库
cd esp-idfgit submodule update --init --recursive
  • 设置 esp-idf SDK 环境变量并安装编译工具依赖
export IDF_PATH=$(pwd)./install.sh . ./export.sh

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

  • 克隆 esp-matter SDK
cd ~/espgit clone https://github.com/espressif/esp-matter.git
  • 克隆 esp-matter SDK 子仓库
cd esp-mattergit submodule update --init --recursivegit submodule update --init --recursive -fgit pull
  • 设置 esp-matter SDK 环境变量并安装编译工具依赖
export ESP_MATTER_PATH=$(pwd)./install.shcd ./connectedhomeip/connectedhomeip/scriptssource ./activate.shcd ../../... ./export.sh
  • 对例程进行编译测试
cd examples/lightrm -rf buildidf.py fullcleanidf.py set-target esp32idf.py build
  • 例程编译测试结果

在这里插入图片描述

  • 例程测试方法参见:如何测试 esp-matter_example_light 例程

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/271337.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CAN总线及通讯的工作原理

一、CAN总线 CAN是控制器局域网络(Controller Area Network)的简称, 它是由研发和生产汽车电子产品著称的德国BOSCH公司开发的, 并最终成为国际标准(ISO11519),是国际上应用最广泛的现场总线之一。 二、工作原理 …

day13_微服务监控Nginx(微服务集成SBA)

文章目录 1 微服务系统监控1.1 监控系统的意义1.2 SBA监控方案1.3 SBA实战1.3.1 创建SBA服务端1.3.2 微服务集成SBA 1.4 微服务集成logback1.5 配置邮件告警 2 Nginx2.1 Nginx简介2.2 下载和安装2.2.1 方式1:window本地安装2.2.1.1 下载2.2.1.2 安装2.2.1.3 目录结构…

Spring Boot异常处理和单元测试

1.SpringBoot异常处理 1.1.自定义错误页面 SpringBoot默认的处理异常的机制:SpringBoot 默认的已经提供了一套处理异常的机制。一旦程序中出现了异常 SpringBoot 会向/error 的 url 发送请求。在 springBoot 中提供了一个叫 BasicErrorController 来处理/error 请…

[C++]类和对象,explicit,static,友元,构造函数——喵喵要吃C嘎嘎4

希望你开心,希望你健康,希望你幸福,希望你点赞! 最后的最后,关注喵,关注喵,关注喵,大大会看到更多有趣的博客哦!!! 喵喵喵,你对我真的…

数据中台开源技术栈:一图看懂全面的数据管理与应用架构

随着数字化时代的到来,数据管理和应用架构变得越来越重要。数据平台作为一个集中管理和利用数据的架构,为组织提供了促进数据驱动决策和业务创新的能力。本文通过一幅图表,将数据平台技术栈的组成部分清晰呈现,助您深入了解数据中…

在NAT模式下,局域网内的其他电脑要访问使用NAT模式的虚拟机或设备

在NAT模式下,局域网内的其他电脑要访问使用NAT模式的虚拟机或设备 可以通过以下几种方式: 1、端口映射:在NAT模式下,你可以配置端口映射,类似于Docker中的端口映射。这样,局域网内的其他电脑就可以通过特…

【机器学习】详解正则化思想

我们的生活当中真正有意义或者有价值的部分可以概括为两句话:一句话是:弄清楚某个东西是怎么一回事,另一句话是,弄清楚某个东西是怎么一回事。头一句话,我们弄清楚的那个东西对于我们而言是未知的,但是已经…

【CSS】简单的抽屉面板展开收起自然过渡效果的css

目录 效果展示css固定梯形按钮至抽屉面板中间梯形按钮css过渡动画 效果展示 1.收起时点击蓝色梯形按钮展开 2. 展开时点击蓝色按钮收起 3.展开收起时需要过渡自然,有抽屉推拉效果 css 固定梯形按钮至抽屉面板中间 .toggle{ position: absolute;left:-21px;top…

能换发型的相机app有哪些?5款APP帮你一键换发型

能换发型的相机app有哪些?在当前的数字化时代,发型变换不再受限于传统理发店的繁琐流程。只需一款合适的相机app,便能轻松尝试各种新颖发型。这些app凭借先进的图像处理技术,将发型与用户的照片精准融合,实现逼真的换发…

“空气清新剂”成网红!6.29美金,单周热销近5万单!

草莽时期的“造富神话”或许不再,但TikTok电商仍然生机勃勃,新的爆款、新的营销还在出现。 鉴于美国汽车保有量的增长,车内装饰和汽车用品的需求也相应上升,而TikTok在这一趋势中扮演着至关重要的引导角色,越来越多[汽…

HUAWEI Pocket 2说的防晒检测,能做到什么程度?

防晒是必须,还是噱头?我们来看一下经典案例: 《新英格兰医学杂志》调查一名69岁的卡车司机发现,他位于车窗侧、遭受更多阳光直晒的左半边脸,无论是皱纹还是皮肤厚度,都要比远离阳光的右半边脸要严重得多&am…

【数据结构】栈和队列的应用——括号匹配 + 表达式求值 + 表达式转换 +栈的递归应用+队列在计算机系统中的应用

文章目录 3.栈的应用3.1 括号匹配问题3.2 表达式求值3.2.1 三种算术表达式3.2.2 后缀表达式A.中缀转后缀B.后缀表达式的计算 3.2.3 前缀表达式A.中缀转前缀B.前缀表达式的计算 3.2.4 中缀表达式的求值 3.3 递归中栈的应用 4.队列的应用 栈基础知识:【数据结构】栈 顺…

图机器学习(3)-连接层面的特征工程

0 问题定义 通过已经连接去猜未知连接: 有两个思路:

CentOS下安装RabbitMQ

准备工作,更新yum源 正式环境慎用 yum update -y # 进入目录 cd /etc/yum.repos.d/ # 创建目录 mkdir backup # 默认源配备份 mv C* backup/ # 下载阿里云yum源 wget -O /etc/yum.repos.d/CenOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo # 清除旧…

【操作系统概念】 第7章:死锁

文章目录 0.前言7.1 系统模型7.2 死锁特征7.2.1 必要条件7.2.2 资源分配图 7.3 死锁处理方法7.4 死锁预防(deadlock prevention)7.4.1 互斥7.4.2 占有并等待7.4.3 非抢占7.4.4 循环等待 7.5 死锁避免(deadlock-avoidance)7.5.1 安…

docker离线搭建仓库

要在Docker中搭建本地仓库,可以按照以下步骤进行操作: 首先安装 Docker。根据不同的操作系统选择合适的版本并完成安装过程。打开命令行工具(如Terminal或PowerShell),运行以下命令来创建一个新的容器并将其设置为本地…

牛客网 华为机试 坐标移动

本题是需要将输入的字符串,得到移动位置的信息,同时要判断移动信息的合法性。 所以我们可以考虑先通过正则表达式过滤得到正确的字符串。 正确的字符串应该以ADWS其中一个字母开头,然后后面接着1个或者2个(0-9)的数字。…

如何在小程序中绑定身份证

在小程序中绑定身份证信息是一项常见的需求,特别是在需要进行实名认证或者身份验证的场景下。通过绑定身份证信息,可以提高用户身份的真实性和安全性,同时也为小程序提供了更多的个性化服务和功能。下面就介绍一下怎么在小程序中绑定居民身份…

LVGL在VScode中安装模拟器运行配置笔记教程

1、LVGL模拟器工程搭建 LVGL(Light and Versatile Graphics Library,轻巧而多功能的图形库)是一个免费的开放源代码图形库,它提供创建具有易于使用的图形元素,精美的视觉效果和低内存占用的嵌入式GUI所需的一切。本文主要讲述如何实现在VScode中实现LVGL模拟器环境的搭建运行。…

element组件使用教程

首先在终端输入 npm i element-ui -S 下载完成后如何使用呢 在main.js文件中导入组件以及需要使用 import Vue from vue import { Button, Form, FormItem, Input, Message, Container, Header, Aside, Main, Menu, Submenu, MenuItem, MenuItemGroup } from element-uiVue.…