【Matter】esp-matter环境下的应用实践(程序烧录及串口监视)

简介: 【Matter】esp-matter环境下的应用实践(程序烧录及串口监视)

前提准备

请确保你本地已经配置好 esp-idfesp-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环境,所以此处仅作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 + ]

那么esp-matter项目环境的编译下载就先讲到这里,后面再进行详细的使用教程的讲解。

目录
相关文章
|
消息中间件 缓存 Shell
RT-Thread记录(十七、AT组件 — ESP8266使用 at_device 软件包联网)
AT 组件:RT-Thread 一个比较典型的组件, 解决了不同网络模块AT命令之间的差异导致的重复开发的问题,大幅度简化了MCU+无线模块方案开发。
1013 0
RT-Thread记录(十七、AT组件 — ESP8266使用 at_device 软件包联网)
|
存储 Linux C语言
stm32cubeMX学习、USB DFU(Download Firmware Update)固件更新
stm32cubeMX学习、USB DFU(Download Firmware Update)固件更新
651 1
|
IDE 开发工具 数据安全/隐私保护
esp32CAM环境安装教程---串口驱动安装
esp32CAM环境安装教程---串口驱动安装
1161 0
|
内存技术
stm32实现iap远程固件更新
stm32实现iap远程固件更新
194 0
|
芯片 内存技术
LabVIEW实现ST-Link自动烧录单片机
在讲解LabVIEW实现ST-Link自动烧录之前先聊一聊ST官方提供一款专用的Flash烧录工具:ST-Link utility。
|
定位技术 芯片
ARM架构与编程(基于I.MX6ULL): 串口UART编程(七)(上)
ARM架构与编程(基于I.MX6ULL): 串口UART编程(七)
277 1
ARM架构与编程(基于I.MX6ULL): 串口UART编程(七)(上)
|
芯片 数据格式
ARM架构与编程(基于I.MX6ULL): 串口UART编程(七)(下)
ARM架构与编程(基于I.MX6ULL): 串口UART编程(七)
314 1
ARM架构与编程(基于I.MX6ULL): 串口UART编程(七)(下)
|
存储 芯片 UED
【STM32】单片机模式配置&FlyMcu串口下载固件&STLINK Utility
【STM32】单片机模式配置&FlyMcu串口下载固件&STLINK Utility
583 0
|
传感器 数据可视化 数据格式
【Renesas RA6M4开发板之UART与Serial studio串口交互】
【Renesas RA6M4开发板之UART与Serial studio串口交互】
158 0
|
Linux 芯片
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(二十四)具体单板的GPIO操作方法
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(二十四)具体单板的GPIO操作方法
159 0
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(二十四)具体单板的GPIO操作方法