ESP32掌控终端项目源码如何为?
摘要:ESP32掌控终端项目(详细+长篇+源码) 项目涉及技术栈: LVGL,MQTT,HTTP,FreeRTOS,摄像头,蓝牙,SD卡读取,ESP-ADF音频框架,网路获取天气,网路获取实时时间 lvgl基础
ESP32掌控终端项目(详细+长篇+源码)
项目涉及技术栈:
LVGL,MQTT,HTTP,FreeRTOS,摄像头,蓝牙,SD卡读取,ESP-ADF音频框架,网路获取天气,网路获取实时时间
lvgl基础函数可看我另一篇随笔
LVGL 8.3.0开发实战:高频函数速查与移植避坑指南 - 沁拒离 - 博客园
逐步实现整体框架
1、显示文本标签
// 创建页面容器
page1 = lv_obj_create(lv_scr_act());
lv_obj_add_style(page1, &style, 0);
lv_obj_add_flag(page1, LV_OBJ_FLAG_HIDDEN); // 初始隐藏
// 创建一个标签对象,并将其添加到页面1中
lv_obj_t *title = lv_label_create(page1);
// 设置标签的文本为“应用”
lv_label_set_text(title, "应用");
// 为标签对象添加样式
lv_obj_add_style(title, &style, LV_PART_MAIN);
// 将标签对象对齐到页面的顶部中间位置,并设置偏移量为0和10
lv_obj_align(title, LV_ALIGN_TOP_MID, 0, 10);
简单图解:
流程:
先创建页面容器(page1),在页面容器(page1)中再创建标题容器(title),文本在标题容器中显示
2、显示中文字符
一、生成中文字体文件
使用在线转换工具
LVGL 官方提供了 在线字体转换工具,支持将 TTF/WOFF 字体文件转换为 LVGL 可用的 .c 格式字体文件125。
参数设置:
字体大小:建议 16px 及以上,避免显示模糊68。
BPP(抗锯齿):推荐选择 4 位,提升显示效果46。
字符范围:选择所需汉字范围(如 0x4E00-0x9FFF 表示常用汉字),或手动输入特定字符810。
压缩选项:勾选 Compressed 可减小字体体积36。
