LittlevGL ESP32 学习笔记 ①移植最新的 LVGL 版本到安信可ESP32C3模组,显示一个二维码。(附带源码)
Posted 半颗心脏
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LittlevGL ESP32 学习笔记 ①移植最新的 LVGL 版本到安信可ESP32C3模组,显示一个二维码。(附带源码)相关的知识,希望对你有一定的参考价值。
- 本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途。如有不对之处,请留言,本人及时更改。
系列一:ESP32系列模组基础学习系列笔记
1、 爬坑学习新旅程,虚拟机搭建esp32开发环境,打印 “Hellow World”。
2、 巧用eclipes编辑器,官方教程在在Windows下搭建esp32开发环境,打印 “Hellow World”。
3、 认识基本esp32的GPIO接口,开始点亮您的第一盏 LED和中断回调实现按键功能 。
4、体会esp32的强大的定时器功能, 实现定时2s闪烁一盏LED灯。
5、接触实践esp32的pwm宽度脉冲功能, 实现呼吸效果闪烁一盏LED灯。
6、smartConfig和微信airKiss在esp32的实现,一键配网轻松快捷连接路由器。
7、利用GPIO中断做一个按键的短按和长按的回调事件,再也无须担心触发源。
8、esp32上实现本地 UDP 客户端和服务端角色,在局域网内实现通讯。
9、esp32上实现本地 TCP 客户端和服务端角色,可断线重连原路返回数据。
10、乐鑫esp32 SDK编程利用rmt驱动ws2812七彩灯,实现彩虹渐变效果。
11、入门 乐鑫esp-adf 音频框架开发,esp32造一个蓝牙耳机,实现切换歌曲,获取歌曲信息等功能。
12、开源一个微信公众号airkiss配网esp32以及局域网发现功能的工程,分享一个airkiss配网小工具。
13、esp32 内置 dns 服务器,无需外网访问域名返回指定网页。
14、esp32 sdk编程实现门户强制认证,连接esp32热点之后,自动强制弹出指定的登录界面。
15、认识本地离线语音唤醒识别框架 esp-skainet ,实现较低成本的硬件语音本地识别控制。
16、学习本地语音唤醒离线识别框架 esp-skainet ,如何修改唤醒词? 如何自定义命令词?如何做意图动作?
17、全网首发,乐鑫esp32 sdk直连京东微联·小京鱼 · IoT开放平台,实现叮咚音响语音智能控制。
18、入门京东微联·小京鱼的控制面板H5开发,读懂vue语法,做自己的控制页面。
19、重磅开源,如何在微信小程序上ble蓝牙配网esp32,blufi的那些事!
20、一篇好文,开发过程中编译esp32固件太大,无法正常启动?教你如何自定义分区表partitions.csv。
21、 esp32蓝牙配网blufi的高度封装,集成简单、使用简单、容易上手,提高开发效率!
22、讨论下程序员 “青春饭” 那些事,分享在esp32实现多种加密算法md5 |AES CBC-ECB| Sha1 | Sha256 等!
23、安信可 esp32-a1s 音频开发板移植最新 esp-adf 音频框架,小试牛刀如何实现在线文字转语音播放。
25、分享在 esp32 SDK实现冷暖光色温平滑调节的封装,轻松集成到您的项目去。
26、分享下如何在window下使用CMake编译,编译速度提高传统 make 编译一个档次,支持 ESP32 和 ESP32-C3。
27、windows10平台下自带的Linux安装 ESP8266/ESP32 环境,再无需额外安装虚拟机了。
系列二:ESP32-Camera 摄像头开发板系列笔记
1、安信可 ESP32-Cam 摄像头开发板二次开发 C SDK编程,实现MQTT远程拍照传输到私有服务器。
2、安信可 ESP32-Cam 摄像头开发板二次开发 C SDK编程,实现本地视频流监控。
3、安信可 ESP32-Cam 摄像头开发板二次开发 C SDK编程,拍照图片通过有线串口传到上位机PC端。
系列三:ESP32-C3 模组系列笔记
1、【蓝牙Mesh笔记 ①】ESP32-C3 模组上实现天猫精灵蓝牙 BLE Mesh AliGenie 接入,无需WiFi 连接也可以实现天猫精灵语音控制。
系列四:ESP32-S3 模组系列笔记
1、安信可 ESP32-S3 模组上驱动摄像头 OV2640,实现远程拍照并 HTTP 传输到阿里云对象存储OSS,并显示在微信小程序上。。
系列四:ESP32模组系列笔记 LVGL LittlevGL
1、【LittlevGL ESP32 学习笔记 ①】移植最新的 LVGL 到安信可ESP32\\C3模组,显示一个二维码。
前言
鉴于目前的方案都是趋向于显示屏,我也开始着手做一些LVGL的文章出来给群友们,要做的是新版的V8 LVGL,至于什么是 LVGL,请自行百度。
- LVGL 版本:8.1
- ESP-IDF 版本:release/v4.3
- 硬件:安信可 ESP32-S模组 + 3.2寸的 TFT LCD 240x320
一、下载所需的全部库。
Step 1 : 创建一个工程,文件夹名字是 ESP32_LittleVGL_V8
idf.py create-project ESP32_LittleVGL_V8
Step 2 :克隆所需的最新的 LVGL
依赖库,这里以 V8.1 为例:
cd components
git clone -b release/v8.1 https://github.com/lvgl/lvgl
Step 3 :克隆所需的最新的针对ESP32
芯片系列的LVGL驱动库,这里以 V8.1 为例:
cd components
git clone https://github.com/lvgl/lvgl_esp32_drivers
所以,整个文件夹是这样的。
| ------ESP32_LittleVGL_V8
| ------------ components
| ------ lvgl
| ------ lvgl_esp32_drivers
| ------------ main
| ------------ CMakeLists.txt
二、编辑配置文件
LittleVGL已经适配了绝大部分的显示屏驱动了,真是感谢前辈的无私奉献,特别是国外佬,技术无国界啊。
我手上的是安信可 ESP32-S 模组和一个 3.2寸的 TFT LCD 240x320 分辨率 ,驱动芯片是 ILI9341,所以我设置如下:
-
Step 1 : 通过
idf.py menuconfig
,设置面板component config / LVGL ESP DRIVERS / LVGL TFT Display
,修改项如下:
-
Step 2:
通过idf.py menuconfig
,设置面板component config / LVGL ESP DRIVERS / LVGL TFT Display
,修改引脚接线项如下:
Step 3:添加对二维码库的编译支持,通过idf.py menuconfig
,设置面板component config / LVGL ESP DRIVERS / LVGL TFT Display
。
-
Step 4:在
components\\lvgl_esp32_drivers\\lvgl_helpers.h
修改屏幕分辨率,增加这个代码。
#define LV_VER_RES_MAX 320
#define LV_HOR_RES_MAX 240
- Step 5:修改入口函数文件。
static void create_demo_application(void)
lv_color_t bg_color = lv_palette_lighten(LV_PALETTE_LIGHT_BLUE, 5);
lv_color_t fg_color = lv_palette_darken(LV_PALETTE_BLUE, 4);
lv_obj_t *qr = lv_qrcode_create(lv_scr_act(), 150, fg_color, bg_color);
/*Set data*/
const char *data = "https://blog.csdn.net/xh870189248";
lv_qrcode_update(qr, data, strlen(data));
lv_obj_center(qr);
/*Add a border with bg_color*/
lv_obj_set_style_border_color(qr, bg_color, 0);
lv_obj_set_style_border_width(qr, 5, 0);
lv_obj_t *lable = lv_label_create(lv_scr_act());
lv_label_set_text(lable, "CSDN xuhongv");
lv_obj_align_to(lable, qr, LV_ALIGN_OUT_TOP_MID, 0, 0);
三、效果图。
- 本LVGL系列全部代码开源,欢迎star支持下:https://github.com/xuhongv/ESP32_LittleVGL_V8.1
- lvgl官方英文原版教程: https://docs.lvgl.io
- lvgl中文教程(中文手册):http://lvgl.100ask.net http://lvgl.100ask.org
另外,不要把我的博客作为学习标准,我的只是笔记,难有疏忽之处,如果有,请指出来,也欢迎留言哈!
- 玩转无线物联网带你飞、免费加千人群讨论,群里众多国内ESP开发者,找到你一份归属,免费白嫖。
- QQ讨论一群,点击加群:434878850
- QQ讨论二群,点击加群:623325168
- 个人微信公众号:徐宏blog , 不定时推送干货文章,不推送任何广告。
- 个人邮箱:xuhongv@yeah.net 24小时在线,有发必回复!
- esp8266源代码学习汇总(持续更新,欢迎star):https://github.com/xuhongv/StudyInEsp8266
- esp32源代码学习汇总(持续更新,欢迎star):https://github.com/xuhongv/StudyInEsp32
- 关注下面微信公众号二维码,干货多多,第一时间推送!
以上是关于LittlevGL ESP32 学习笔记 ①移植最新的 LVGL 版本到安信可ESP32C3模组,显示一个二维码。(附带源码)的主要内容,如果未能解决你的问题,请参考以下文章
LittlevGL ESP32 学习笔记 ①移植最新的 LVGL 版本到安信可ESP32C3模组,显示一个二维码。(附带源码)
LittlevGL ESP32 学习笔记 ①移植最新的 LVGL 版本到安信可ESP32C3模组,显示一个二维码。(附带源码)