lvgl是一个开源的嵌入式gui
lvgl: LVGL 是一个开源图形库,提供您创建具有易于使用的图形元素、漂亮的视觉效果和低内存占用的嵌入式 GUI 所需的一切。 (gitee.com)
我们esp添加lvgl有比较多的方法,比如直接源码下载到我们工程等,这里我们为了学习esp32的idf如何使用第三方库,我将用配置依赖库的方式添加lvgl。
推荐一下我们的虫洞AI开发板虫洞ESP32-S3...-淘宝网 (taobao.com)
开发板LVGL运行效果,可以参考虫洞CHD-ESP32-S3-EYE开箱评测无线图传LVGL-CSDN直播视频最后有一个LVGL的片段。
1.如何为esp32找到合适的第三方库
从乐鑫官网Wireless SoCs, Software, Cloud and AIoT Solutions | Espressif Systems
ESP Component Registry (espressif.com),底部就有lvgl
当然,也可以直接搜lvgl
另外:如果我们想要led的,直接搜led,就可以找到led模块
2.lvgl版本信息查看和选择
在lvgl/lvgl • v9.2.0 • ESP Component Registry (espressif.com)选择我们需要的版本,比如我需要9.0版本:
在页面右侧,有这样的信息
意思就是可以通过两种方式将lvgl增加到project:1.idf.py add-dependency "lvgl/lvgl^9.0.0"命令增加,2.直接下载,我们使用第一种方式;
3.project中增加lvgl依赖,下载代码
按照上面的提示,我们直接运行idf.py add-dependency "lvgl/lvgl^9.0.0"
可以看到,工程多生成了idf_component.yml文件,我们打开看看
然后运行idf.py set-target esp32s3重新配置工程,就可以看到我们工程下面多了lvgl的代码
但是进去仔细一看,里面lvgl居然是9.2.0的,=====不是我想要的9.0版本;
我们回头仔细看运行idf.py set-target esp32s3配置工程的打印信息,里面会看到
更新依赖库的时候,就是9.2.0版本了
4.切换lvgl指定版本
那么我们怎样才能获得9.0版lvgl呢,其实这里就是idf.py add-dependency "lvgl/lvgl^9.0.0"这个命令的问题,我们让机器人帮我们解释一下这个指令
大概的意思就是这里只指定了最低9.0版本,现在服务器里有新的版本,所以被定位成9.2版本了。我们注意看idf_component.yml文件,里面就有版本的一些例子,加~就是指定版本
所以我们删除idf_component.yml文件,删除build文件夹,把命令改成idf.py add-dependency "lvgl/lvgl~9.0.0",运行一下,再idf.py set-target esp32s3重新配置工程,这样就可以得到9.0版的lvgl了
同样,我们在menuconfig里面就可以配置我们的lvgl了
希望对你有帮助,谢谢。