ESP-IDF 添加 arduino作为component

最近想做个大点的项目,想同时用到arduino和esp-idf的特性,但是环境设置还有点复杂

首先是现在platformio里面的esp-idf和arduino不兼容,是因为esp32 的arduino是基于esp-idf 4.4 的而,platformio里面的esp-idf只支持到4.3所以不行。然后我尝试用idf的工具链新建一个工程,等pio支持了我再配置platformio来支持。

vscode安装乐鑫的插件

2022年4月2日 UPDATE:
我发现原来插件有自动化这个过程的指令的,不过默认是安装在工程的component下面的,所以会导致每个工程都有一个几百m的arduino component。。。



https://docs.espressif.com/projects/arduino-esp32/en/latest/esp-idf_component.html
先在vscode里面安装espressif这个插件,然后用他的会安装好相应的工具链。最后上面那篇文章写的一样把arduino克隆下来。不过我这里编译的时候会报一个 #include "esp_wpa2.h" 的错

可以看这里是因为cmake里面没有包含这个库wpa_supplicant。改成这样就可以了

idf_component_register(INCLUDE_DIRS ${includedirs} PRIV_INCLUDE_DIRS ${priv_includes} SRCS ${srcs} REQUIRES ${requires} PRIV_REQUIRES ${priv_requires} wpa_supplicant)
image.png

另外就是这里写的,如果vscode的插件各种报错的话可以开一个终端在里面直接跑idf.py的命令,排除是哪里的问题https://stackoverflow.com/questions/67816865/unable-to-compile-esp-idf-example-project

idf.py menuconfig
idf.py build
idf.py -p COMx flash

然后就可以了


用idf.py的好处一个是可以用menuconfig图形化配置界面,一个是可以用monitor看彩色的log日志,然后可以用乐鑫自己出的各种touch啊now啊什么的框架。

你可能感兴趣的:(ESP-IDF 添加 arduino作为component)