前提准备
请确保你本地已经配置好 esp-idf 及esp-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
macos
由于我们使用的是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 + ]
恒生电子股灾后豪赌区块链,是否能重生?
realme智能手表通过印度BIS认证,将于2020年上半年推出
5G与物联网结合将如何改变各个领域
vlookup如何锁定区域位置不变
char数组转16进制HEX串
esp-matter环境下的应用实践
Torch推出LED背包和头盔
京东方向iPhone13供屏出货 中国杀入柔性面板竞争行列
研究人员研发出小型无人机,可自主探索未知的环境
TI芯科技赋能中国新基建之谈谈储能背后的黑科技
村田制作所将量产新型低功耗蓝牙无线收发模块
电动自行车铅酸蓄电池如何使用和保养最好?
LED旋转屏显示系统设计
电阻—电容(RC)低通滤波器的用途和特性
Python:装饰器的原理和案例
是真的!德勤报告:30%金融高管筹划在一年半内布局区块链
第十七届中国物联网产业大会暨品牌盛会报名通道盛大开启!
数字化转型“老兵”软通动力如何书写工业互联网“新传”
如何使用Excel和TF实现Transformer详细步骤说明
如何使用Tokio 和 Tracing模块构建异步的网络应用程序