前言

esp-matter 项⽬仓库及其附带的⼦仓库位于 github,国内⼀些地区从 github 克隆仓库⾮常慢,同时由 于 esp-matter 仓库及⼦仓库⾮常⼤,导致克隆时间⾮常⻓且易失败。另外,esp-matter 环境安装过程 中需要访问⼀些外⽹,导致部分资源不能获取。以上两点可通过特殊上⽹⼿段解决,但考虑到并⾮所有 开发者均有此条件,本⽂简要介绍了⼀种在国内快速搭建 esp-matter 开发环境的⽅法。

1. 步骤

1.1 准备

ubuntu 20.04/22.04,其他发⾏版未做验证,ubuntu 软件源请⾃⾏改为国内的。

1.2 设置 github 镜像

git clone https://gitee.com/EspressifSystems/esp-gitee-tools.git cd esp-gitee-tools ./jihu-mirror.sh set # 可通过 ./jihu-mirror.sh unset 取消设置

1.3 安装 esp-idf 依赖包

以 esp-idf v4.4 为例,具体参考 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

1.4 设置 python 源到国内

pip config set global.index-url http://mirrors.aliyun.com/pypi/simple pip config set global.trusted-host mirrors.aliyun.com

1.5 拉取 esp-idf 并安装设置环境

git clone --recursive --single-branch --branch release/v4.4 https://github.com/espressif/esp-idf.git cd esp-idf export IDF_GITHUB_ASSETS="dl.espressif.com/github_assets" ./install.sh . ./export.sh

1.6 拉取 esp-matter 并做相应修改

git clone https://github.com/espressif/esp-matter.git
cd esp-matter
git submodule update --init connectedhomeip/connectedhomeip/scripts/checkout_submodules.py --shallow --platform esp32

以上命令仅拉取与 esp32 相关的 connectedhomeip ⼦仓库,如想拉取完整⼯程,也可使⽤如下命令:

git clone --recursive https://github.com/espressif/esp-matter.git
  • 如已克隆 esp-matter,并做过安装尝试,删除 esp-matter/connectedhomeip/connectedhomeip/.environment⽬录

  • esp-matter/export.sh 中,注释掉 export PATH=${PATH}:${ESP_MATTER_PATH}/connectedhomeip/connectedhomeip/.environment/cip d/packages/pigweed/export PATH=${PATH}:${ESP_MATTER_PATH}/connectedhomeip/connectedhomeip/examples/chip- tool/out/ 两⾏,增加 export PATH=${PATH}:${ESP_MATTER_PATH}/connectedhomeip/connectedhomeip/out/host/

  • 补充 pigweed_environment.gni ⽂件

cd esp-matter touch connectedhomeip/connectedhomeip/build_overrides/pigweed_environment.gni

添加 pigweed_environment.gni ⽂件内容为:

# This file is automatically generated by Pigweed's environment setup. Do not
# edit it manually or check it in.
declare_args() {
pw_env_setup_CIPD_ARM = "//.environment/cipd/packages/arm"
dir_cipd_arm = "//.environment/cipd/packages/arm"
pw_env_setup_CIPD_PIGWEED = "//.environment/cipd/packages/pigweed"
dir_cipd_pigweed = "//.environment/cipd/packages/pigweed"
pw_env_setup_CIPD_PYTHON = "//.environment/cipd/packages/python"
dir_cipd_python = "//.environment/cipd/packages/python"
pw_env_setup_VIRTUAL_ENV = "//.environment/pigweed-venv"
pw_env_setup_PACKAGE_ROOT = "//.environment/packages" }

1.7 安装 connectedhomeip 依赖包

sudo apt-get install gn pkg-config libglib2.0-dev python3-venv libgirepository- 1.0-1 libdbus-1-dev

对于 ubuntu 20.04 ⽤⼾,源上没有 gn,可以⼿动下载 gn 进⾏安装

sudo apt-get install unzip wget https://dl.espressif.com/AE/gn-linux-amd64-2071.zip sudo unzip gn-linux-amd64-2071.zip -d /usr/bin/sudo chmod 777 /usr/bin/gn

1.8 编译 connectedhomeip 相关⼯具 以上⼯具需要在 connectedhomeip 更新后重新编译,如未更新,不需要每次编译。

cd esp-matter/connectedhomeip/connectedhomeip
gn gen out/host # 下⾯命令会编译所有⼯具,需要耗费⼀些时间,暂不推荐使⽤
ninja -C out/host # 也可⽤以下命令单独编译 esp-matter 所需⼯具,较快,推荐使⽤
ninja -C out/host chip-cert
ninja -C out/host chip-tool
ninja -C out/host spake2p

以上⼯具需要在 connectedhomeip 更新后重新编译,如未更新,不需要每次编译。

1.9 设置 esp-matter 环境

cd esp-matter # 注意:不需要 ./install.sh export ESP_MATTER_PATH=$(pwd). ./export.sh

1.10 编译 esp-matter ⽰例

cd esp-matter/examples/light
idf.py set-target esp32c3
idf.py build

ESP Matter 环境搭建相关推荐

  1. esp分区创建 linux_Ubuntu 16.0.4下搭建ESP开发环境并实现Hello World

    始言:到了年尾的12月想做点什么.于是这个计划就出来了--wifi/蓝牙的等离子音箱.接着选中了这个模块.原因很简单,便宜.顺带接触一下Ubuntu系统入门. 概述: Ubuntu 16.0.4下的E ...

  2. 【Android 逆向】Android 进程注入工具开发 ( 总结 | 源码编译 | 逆向环境搭建使用 | 使用进程注入工具进行逆向操作 ) ★★★

    文章目录 一.Android 进程注入工具开发系列博客 二.Android 进程注入工具 源码下载编译 三.逆向环境搭建 四.使用注入工具进行逆向操作 1.获取远程进程号 2.注入工具准备 3.注入动 ...

  3. 启明云端分享|ESP32-S3开发环境搭建,这里我们会介绍两个比较常用的开发环境搭建:WINDOWS\LINUX

    ESP32-S3开发环境搭建,这里我们会介绍两个比较常用的开发环境搭建:WINDOWS\LINUX 详细安装步骤概览 注:目前master分支,支持S3. 官方开发文档:包含多种平台 https:// ...

  4. [Android系列—] 1. Android 开发环境搭建与Hello World

    前言 开始之前先熟悉几个名词: SDK -- Software Development Kit, 软件开发工具包.这个词并不陌生, JDK,就是Jave Development Kit,同样对于And ...

  5. CentOS_7环境搭建L2TP服务器

    目录 CentOS_7环境搭建 1.安装l2tpd 2.修改IPsec配置文件 3.创建IPsec与L2TP服务关联的配置文件 4.创建保存预共享密钥的文件 5.设置l2tp的账号等信息 6.修改内核 ...

  6. ESP32s3-EYE ESP-IDF环境搭建Ubuntu18.04 Micropython环境搭建Pycharm 物联网

    提示:该项目建立于ubuntu18.04版本,esp-idf版本为4.4.1,ESP32S3-EYE开发板由乐鑫公司提供,在此表示感谢.项目中的rPPG技术来源于github上的nasir,本项目所有 ...

  7. KubeEdge+Fabedge集成环境搭建教程

    KubeEdge+Fabedge集成环境搭建教程 KubeEdge 是一个开源的系统,可将本机容器化应用编排和管理扩展到边缘端设备. 它基于Kubernetes构建,为网络和应用程序提供核心基础架构支 ...

  8. 基于LINUX下ESP_IDF开发环境搭建安装问题总结

    我的个人博客更多问题:https://blog.hinuohui.com/ 我也是第一次使用LINUX在LINUX下使用交叉编译,也遇到了很多的疑难杂症,我通通总结到本文 ESP_IDF官方参考文档: ...

  9. ESP32 入门笔记01:乐鑫ESP32-DevKitC开发板信息、开发环境搭建以及学资料准备

    文章目录 一.ESP32-DevKitC 开发板介绍 二.ESP32 开发环境 1. Arduino IDE 1.1 开发环境搭建步骤 1.2 实验:使用 Arduino IDE 将代码上传到 ESP ...

最新文章

  1. 收藏 | 12个ggplot2拓展程序助你强化R可视化
  2. GMM_example(1)
  3. java html字符串,java字符串方法
  4. 到底应该用3*3的卷积核还是5*5的卷积核
  5. 艺术是什么?不懂很难泡到妞!
  6. matlab转向梯形优化设计,转向梯形优化设计matlab程序.doc
  7. Docker JFrog Artifactory 7.27.10 maven私服(搭建篇)
  8. android键盘覆盖edittext_“新”意满满 :联想小新Pad Pro搭载磁吸键盘及支架套装初体验...
  9. 编程语言之父谈语言设计,龟叔大赞 TypeScript
  10. mysql的配置文件适用5.6与5.7
  11. wireshark最新版本for Ubuntu18.04(六)
  12. 计算机考试题目czt,8级计算机组成原理本科期末试题a带答案(史岚).docx
  13. ESP8266热点配网-Arduino代码分享
  14. stm32f4串口烧录[flymcu]
  15. 2015职称计算机考试基础知识,2015年级职称计算机考试基本知识点.doc
  16. 常见的平均查找长度总结
  17. JAVA数据结构之红-黑树
  18. P4313 文理分科 详细理解
  19. C++复习:对C的拓展
  20. qt 打开exe文件

热门文章

  1. JSD-2204-Vue-ElementUI-Day06
  2. python 数据分析--数据处理工具Pandas(2)
  3. MCE公司:MCE 中国生命科学研究促进奖获奖论文集锦三
  4. 关于 YCbCr(YUV) 格式视频流的介绍
  5. Echars柱状图嵌套 居中对齐 柱子占比宽度由大到小嵌套包含 并用小箭头标记当前产出位置
  6. 华为手环B2鸿蒙,【华为手环B2】运动全能冠军(附《GIF版手势操作秘籍》)
  7. 物联网为什么需要5G?
  8. C语言--指针作为数组参数获取数组平均数
  9. 前端面试题之浏览器系列
  10. golang emoji表情处理