使用LVGL提升交互效率:基于启明智显Model3A方案的7寸智能屏用户界面(UI)设计介绍

项目概述:

【启明智显】,作为一家专注于HMI和AIoT解决方案的公司,我们致力于为用户提供创新、可靠且高效的产品和解决方案。近日我们推出了高性能及高性价比的HMI芯片——Model3A。芯片搭载了强大的2D图形加速引擎,能够提供高达720P分辨率下的60FPS刷新率,确保流畅的动态画面表现。此外,它内置了8MB的psram,为复杂的图形处理提供了充足的缓冲空间。

随着这款芯片的推出,启明智显还搭配发布了一款7寸1024*600分辨率的一体黑高清触控智能屏。支持多种接口CAN/RS485/TTL等,工业级品质,智能触控新体验!

为了最大化利用Model3A芯片的性能优势,同时考虑到开发效率和成本效益,启明智显开源了基于LVGL的屏幕驱动,选择LVGL进行用户界面的开发主要是LVGL是一个流行的开源图形库,它以轻量级著称,特别适合嵌入式系统。它可以使得用户界面运行更加流畅,且不会对系统性能产生较大负担。

选择LVGL的另一个重要因素是其开源生态系统。拥有一个活跃的社区和广泛的文档支持,开发者可以迅速上手学习并掌握LVGL的使用。这不仅可以加快开发进度,还能促进知识的交流和技术的创新。

LVGL库简介:

LVGL是一款最受欢迎的免费开源的嵌入式图形库,用于为任何MCU、MPU和显示器创建漂亮的用户界面。它得到了业界领先的供应商和项目的支持,如Arm、STM32、NXP、Espressif、Nuvoton、Arduino、RT-Thread、Zephyr、NuttX、Adafruit等。

LVGL的架构非常灵活和可配置。它采用了模块化设计,可以根据需求通过添加或删除功能模块来定制库的大小。LVGL内置了丰富的组件,包括按钮、标签、列表、滑动条等,还支持动画、图像、字体、颜色等各种属性的自定义。

LVGL可以与各种嵌入式系统、MCU和显示器一起使用,如NXP、ESP32及启明智显的Model3A系列等。它提供了针对不同平台的适配层和驱动程序,可以与各种显示器技术(如TFT、OLED、LCD等)和操作系统(如FREERTOS、RT-Thread)无缝集成。

烧录到7寸触控屏(ZX7D00CM21S)的真实效果呈现

LVGL因其丰富的功能和灵活性而成为嵌入式系统开发的理想选择,它能够帮助开发者在不牺牲性能的前提下创造出具有吸引力的用户界面,同时降低开发难度和加快市场上市时间。

烧录到3.5寸触控屏(SC01PLUS)的真实效果呈现

LVGL功能特点:
1. 跨平台支持:
  •    LVGL设计上考虑了跨平台兼容性,它支持各种操作系统和硬件架构。这意味着开发者可以在多个不同的嵌入式平台上使用相同的代码基和UI设计理念,从而节省时间和资源。例如,在ESP32微控制器或启明智显的Model3A系列等不同硬件上,LVGL都可以无缝集成。
2. 美观的用户界面:
  •    LVGL提供了一系列的预定义组件如按钮、滑块、列表和图表等,以及多种内置主题风格。这些开箱即用的元素使得创建专业和吸引人的用户界面变得简单快捷。同时,它还支持位图字体和矢量字体,允许开发者根据项目需求灵活地调整UI外观。
3. 低内存占用:
  •    由于其轻量级的设计,LVGL特别适合那些内存资源有限的嵌入式设备。核心库的大小可以小至几十千字节,同时它支持动态内存管理,可以根据应用程序的实际需求进行内存分配和释放。
4. 高性能绘制:
  •    LVGL针对绘图性能进行了高度优化,如它可以利用Model3A这颗MCU的2D加速功能来提高渲染速度,并确保即使在更新率较高的场合下也能保持流畅的用户体验。
5. 易于定制和扩展:
  •    LVGL的模块化架构使得它可以非常容易地进行定制和扩展。开发者可以通过创建自己的样式表来改变现有组件的外观,或者通过添加新的对象和功能来扩展库的功能。这种灵活性意味着LVGL可以适应任何特定项目的需要,从简单的仪表盘到复杂的多功能触控屏界面。
应用领域:

LVGL(Light and Versatile Graphics Library)由于其轻量级、高性能和易于使用的特点,在各种嵌入式系统中有着广泛的应用。

1. 工业控制:
  •    在工业自动化中,LVGL可以用于创建高效且直观的触摸屏界面,帮助操作人员轻松控制和监视机器状态,实现更好的人机交互体验。
2.家用电器:
  •    对于智能家电产品,LVGL能够提供美观且用户友好的界面,如在智能音箱上显示信息,或在智能家居中控控制面板上提供触控操作界面。
3. 医疗设备:
  •    在医疗领域,LVGL可以用于设计医疗器械的用户界面,使设备易于操作并确保患者数据清晰展示,例如在内窥镜、监护仪和血压计等设备上的应用。
4. 汽车嵌入式系统:
  •    随着车载技术的不断发展,LVGL适用于开发汽车信息娱乐系统和车载导航系统的用户界面,提供响应迅速且视觉吸引的驾驶体验。
5. 物联网设备:
  •    物联网设备的多样性要求用户界面既小巧又功能强大,LVGL可以轻松集成到如智能手表、智能门锁等设备中,提供简洁而直观的操作界面。
6. 智能家居设备:
  •    在智能家居系统中,LVGL可以帮助构建集中控制各个家居子系统(照明、安防、温控等)的统一界面,提升用户操作便利性和居家舒适度。
7. 两轮车仪表、中控屏、机车仪表设备:
  •    对于摩托车和电动自行车等两轮车辆,LVGL可以应用于仪表盘和中控屏的图形界面设计,提供速度、电池电量和其他关键信息的实时显示,同时优化驾驶者的操作体验。

M3A方案的7寸触摸智能屏UI开发LVGL使用说明及DEMO:

使能LVGL库:

在 ZX-RTT根目录下执行 scons --menuconfig,进入 menuconfig 的功能配置界面,配置如下:

Application options  --->*** Filesystem related ***[*] Using File System Image 0  --->--- Using File System Image 0Select File System Type (FATFS)  --->(application/os/custdemo/assets/fatfs/) Data Directory(app.fatfs) Image Name[*] auto calcuate image size[*] Using File System Image 1  ----Select File System Type (LittleFS)  --->(application/os/custdemo/assets/littlefs/) Data Directory(data.lfs) Image Name(4096) Erase block size(256) Page size[ ] ZX lvgl benchmark demo  ----[ ] ZX freetype demo  ----[ ] ZX 3D95 demo  ----[ ] ZX CUST demo  ----[*] ZX lvgl widgets demo  ----
目前LVGL demo提供了多个示例,只能多选一:
  1. lvgl benchmark demo和lvgl widgets demo为LVGL官方demo,主要用作性能测试;

  2. freetype demo为字库文件取模演示,当选中的时候,需要修改Using File System Image 0中的图片资源文件路径为: application/os/freetype/res/font;

  3. 3D95 demo为86盒演示demo,需要修改Using File System Image 0中的图片资源文件路径为: application/os/ZX3D95/assets;

  4. CUST demo为用作demo替换,简化UI移植过程

根目录下有四个挂载点
/ram        --ramfs文件系统,对应Using File System Image 0中Data Directory中的资源文件
/data       --挂载nor/nand文件系统,对应Using File System Image 1中Data Directory中的资源文件文件
/sdcard     --挂载SD卡
/udisk      --挂载U盘

调试指南

资源文件路径

lvgl demo可以通过设置宏定义来修改读取文件的目录

#define LVGL_DATA_PATH "L:/data/"       // 从/data目录读取资源图片
#define LVGL_DATA_PATH "L:/sdcard/"     // 从/sdcard目录读取资源图片
#define LVGL_DATA_PATH "L:/udisk/"      // 从/udisk目录读取资源图片
缓存图片张数

图片缓存, 通过宏定义CACHE_IMG_NUM配置, 配置定义于 zx-rtt-sdk/packages/third-party/lvgl/Kconfig, 也可在zx-rtt-sdk/packages/third-party/lvgl/lvgl-8.3.10/zx/zx_gui.c文件中修改

#define CACHE_IMG_NUM 15lv_init();
zx_port_disp_init();
zx_port_indev_init();
lv_img_cache_set_size(CACHE_IMG_NUM);
aic_dec_create();

测试指南

测试环境
硬件
  • 带屏的设备

  • USB Type-C数据线,用于设备供电,以及烧写固件

  • 调试串口

软件
  • PC端串口终端软件,用于串口通信

  • PanelLanDownloader烧写工具,用于烧写固件

软件配置
VE 驱动

请见 VE 参数配置

MPP 中间件

请见 MPP 参数配置

DE 驱动

请见 DE 参数配置 

运行测试DEMO

  • 配置编译任意一个lvgl demo(使能LVGL库和LVGL demo)

  • 在zx-rtt/application/os/$app/main.c中会调用INIT_APP_EXPORT开机自动运行

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/525.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

(六)PostgreSQL的组织结构(3)-默认角色和schema

PostgreSQL的组织结构(3)-默认角色和schema 基础信息 OS版本:Red Hat Enterprise Linux Server release 7.9 (Maipo) DB版本:16.2 pg软件目录:/home/pg16/soft pg数据目录:/home/pg16/data 端口:57771 默认角色 Post…

Docker容器tomcat中文名文件404错误不一定是URIEncoding,有可能是LANG=zh_CN.UTF-8引起

使用Docker部署tomcat,出现中文名文件无法读取,访问就是404错误。在网上搜索一通,都说是在tomcat的配置文件server.xml中修改一下URIEncoding为utf-8就行,但是我怎么测试都不行。最终发现,是Docker启动时,传…

空气源热泵电控系统部分控制功能的逻辑

空气源热泵的电控系统,是一台空气源热泵设备的大脑,电控系统逻辑的合理性、执行的精准性,直接决定设备运行的稳定、能效高低、运行寿命。 控制功能 (1)压缩机防频繁起停 压缩机再次启动间隔时间为3分钟,即压…

SQL优化——访问路径(ACCESS PATH)

文章目录 1、常见访问路径1.1、TABLE ACCESS FULL1.2、TABLE ACCESS BY USER ROWID1.3、TABLE ACCESS BY ROWID RANGE1.4、TABLE ACCESS BY INDEX ROWID1.5、INDEX UNIQUE SCAN1.6、INDEX RANGE SCAN1.7、INDEX SKIP SCAN1.8、INDEX FULL SCAN1.9、INDEX FAST FULL SCAN1.10、I…

软件需求开发和管理过程性指导文件

1. 目的 2. 适用范围 3. 参考文件 4. 术语和缩写 5. 需求获取的方式 5.1. 与用户交谈向用户提问题 5.1.1. 访谈重点注意事项 5.1.2. 访谈指南 5.2. 参观用户的工作流程 5.3. 向用户群体发调查问卷 5.4. 已有软件系统调研 5.5. 资料收集 5.6. 原型系统调研 5.6.1. …

vue 实现实时搜索文档关键字并高亮显示

最近接到的一个新需求:实时搜索文档关键字并高亮显示,听起来好难的样子,仔细分析起来其实也蛮简单的。 实现思路 通过 input 实现关键字的输入,监听关键字的变化,用正则表达式来匹配关键字,然后给关键字添…

Linux上的uname

2024年4月19日,周五上午 这是我第一篇用CSDN上的markdown编辑器写的博客,感觉还不错 uname 是一个常用的命令行工具,uname 的全称是 “Unix Name”,它是一个 Unix 和类 Unix 操作系统上的命令行工具,用于获取操作系统相…

【全网瞩目】你想知道的Llama3都在这里

Meta发布了开放式生成人工智能模型 Llama 系列的最新产品: Llama 3。或者更准确地说,该公司首次发布了其新的 Llama 3 系列中的两个模型,其余模型将在未来某个不确定的日期发布。 Meta 称,与上一代 Llama 型号 Llama 2 8B 和 Llam…

【支付宝】对接手机网站支付踩坑点记录

前言 简单记录一下对接Wap支付的问题,alipay和wxpay认证过程差不多,有个体商户或企业即可,前者文档不易懂后者还好,但是wxpay门槛高,个人认为pc网站支付(native支付)就是为了收300认证费! 应用公私钥 第一…

React Router 5 vs 6:使用上的主要差异与升级指南

React Router 5 的一些API 在 React Router 6 上有时可能找不到,可能会看到如下画面:export ‘useHistory’ was not found in ‘react-router-dom’ … React Router目前有两个大的版本,即React Router 5、6。React Router 6 在设计上更加简…

【Anki】25考研408真题【2009-2023】

介绍 24年的真题解析还没有出!只到23年!一共有15套真题。 预览 客观题和主观题有两个目录。王道建议第一轮只写选择题,第二轮再开始写大题。 客观题: 主观题: 插件建议 See Previous Card Ratings in Reviewer 代码&am…

PM要会项目管理?完整版项目管理经验分享

近9个月,公司发生许多事情,包括产品研发部的人员结构调整。 原本以产品经理负责制的小组研发,变成了以项目经理负责制的项目组研发。 对于这一调整,我是支持的,毕竟产品在跟进项目时对技术的管控能力确实不如懂技术的…

彻底解决:IDEA java: 警告: 源发行版 17 需要目标发行版 17

一、出现的原因 JDK版本不匹配 二、解决方法 1.点击File -->Project Structure-->Project 修改这两处 2.在Project Structure-->Modules中的红框位置都要调整对应版本 3.点击File-->settings-->java compile将对应框的版本修改成对应版本即可 4.修改Pom文件中…

2010年认证杯SPSSPRO杯数学建模C题(第一阶段)高校图书馆的智能服务全过程文档及程序

2010年认证杯SPSSPRO杯数学建模 C题 高校图书馆的智能服务 原题再现: 图书馆源于保存记事的习惯。图书馆是为读者在馆内使用文献而提供的专门场所。而高校的图书馆为教学和科研服务,具有服务性和学术性强的特点。   现在的高校图书馆存在着许多不良的…

吴恩达llama课程笔记:第四课提示词技术

羊驼Llama是当前最流行的开源大模型,其卓越的性能和广泛的应用领域使其成为业界瞩目的焦点。作为一款由Meta AI发布的开放且高效的大型基础语言模型,Llama拥有7B、13B和70B(700亿)三种版本,满足不同场景和需求。 吴恩…

【oracle数据库安装篇二】Linux6.8基于ASM安装oracle11gR2单机

说明 本篇文章主要介绍了Linux6.8基于ASM安装oracle11gR2单机的配置过程,图文并茂,整个安装过程直观易懂,无论是对于初学者还是有一定经验的系统管理员,都能从中获得很大的帮助。 相比于上一篇【oracle数据库安装篇一】Linux5.6…

嵌入式面试-回答UART

说明: 此文章是在阅读了一些列面试相关资料之后对于一些常见问题的整理,主要针对的是嵌入式软件面试中涉及到的问答,努力精准的抓住重点进行描述。若有不足非常欢迎指出,感谢!在总结过程中有些答案没标记参考来源&…

C++算法题 - 区间

目录 228. 汇总区间56. 合并区间57. 插入区间452. 用最少数量的箭引爆气球 228. 汇总区间 LeetCode_link 给定一个 无重复元素 的 有序 整数数组 nums 。 返回 恰好覆盖数组中所有数字 的 最小有序 区间范围列表 。也就是说,nums 的每个元素都恰好被某个区间范围所…

Maven通过flatten-maven-plugin插件实现多模块版本统一管理

正文 起因是公司开始推代码版本管理的相关制度,而开发过程中经常使用多模块构建项目,每次做版本管理时都需要对每个模块及子模块下的pom文件中parent.version和模块下依赖中的version进行修改,改的地方非常多,且非常容易漏。为此…

衣康酸(ITA)应用领域广泛 工业发酵法为其主流制备方法

衣康酸(ITA)应用领域广泛 工业发酵法为其主流制备方法 衣康酸(ITA)又称亚甲基丁二酸、甲叉琥珀酸,化学式为C5H6O4,是一种不饱和二元有机酸。衣康酸外观呈白色结晶粉末,含强烈刺激性气味&#xf…