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

本文主要是介绍使用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开机自动运行

这篇关于使用LVGL提升交互效率:基于启明智显Model3A方案的7寸智能屏用户界面(UI)设计介绍的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/919438

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

不懂推荐算法也能设计推荐系统

本文以商业化应用推荐为例,告诉我们不懂推荐算法的产品,也能从产品侧出发, 设计出一款不错的推荐系统。 相信很多新手产品,看到算法二字,多是懵圈的。 什么排序算法、最短路径等都是相对传统的算法(注:传统是指科班出身的产品都会接触过)。但对于推荐算法,多数产品对着网上搜到的资源,都会无从下手。特别当某些推荐算法 和 “AI”扯上关系后,更是加大了理解的难度。 但,不了解推荐算法,就无法做推荐系

性能测试介绍

性能测试是一种测试方法,旨在评估系统、应用程序或组件在现实场景中的性能表现和可靠性。它通常用于衡量系统在不同负载条件下的响应时间、吞吐量、资源利用率、稳定性和可扩展性等关键指标。 为什么要进行性能测试 通过性能测试,可以确定系统是否能够满足预期的性能要求,找出性能瓶颈和潜在的问题,并进行优化和调整。 发现性能瓶颈:性能测试可以帮助发现系统的性能瓶颈,即系统在高负载或高并发情况下可能出现的问题

中文分词jieba库的使用与实景应用(一)

知识星球:https://articles.zsxq.com/id_fxvgc803qmr2.html 目录 一.定义: 精确模式(默认模式): 全模式: 搜索引擎模式: paddle 模式(基于深度学习的分词模式): 二 自定义词典 三.文本解析   调整词出现的频率 四. 关键词提取 A. 基于TF-IDF算法的关键词提取 B. 基于TextRank算法的关键词提取

水位雨量在线监测系统概述及应用介绍

在当今社会,随着科技的飞速发展,各种智能监测系统已成为保障公共安全、促进资源管理和环境保护的重要工具。其中,水位雨量在线监测系统作为自然灾害预警、水资源管理及水利工程运行的关键技术,其重要性不言而喻。 一、水位雨量在线监测系统的基本原理 水位雨量在线监测系统主要由数据采集单元、数据传输网络、数据处理中心及用户终端四大部分构成,形成了一个完整的闭环系统。 数据采集单元:这是系统的“眼睛”,

无人叉车3d激光slam多房间建图定位异常处理方案-墙体画线地图切分方案

墙体画线地图切分方案 针对问题:墙体两侧特征混淆误匹配,导致建图和定位偏差,表现为过门跳变、外月台走歪等 ·解决思路:预期的根治方案IGICP需要较长时间完成上线,先使用切分地图的工程化方案,即墙体两侧切分为不同地图,在某一侧只使用该侧地图进行定位 方案思路 切分原理:切分地图基于关键帧位置,而非点云。 理论基础:光照是直线的,一帧点云必定只能照射到墙的一侧,无法同时照到两侧实践考虑:关

使用SecondaryNameNode恢复NameNode的数据

1)需求: NameNode进程挂了并且存储的数据也丢失了,如何恢复NameNode 此种方式恢复的数据可能存在小部分数据的丢失。 2)故障模拟 (1)kill -9 NameNode进程 [lytfly@hadoop102 current]$ kill -9 19886 (2)删除NameNode存储的数据(/opt/module/hadoop-3.1.4/data/tmp/dfs/na

Hadoop数据压缩使用介绍

一、压缩原则 (1)运算密集型的Job,少用压缩 (2)IO密集型的Job,多用压缩 二、压缩算法比较 三、压缩位置选择 四、压缩参数配置 1)为了支持多种压缩/解压缩算法,Hadoop引入了编码/解码器 2)要在Hadoop中启用压缩,可以配置如下参数

Makefile简明使用教程

文章目录 规则makefile文件的基本语法:加在命令前的特殊符号:.PHONY伪目标: Makefilev1 直观写法v2 加上中间过程v3 伪目标v4 变量 make 选项-f-n-C Make 是一种流行的构建工具,常用于将源代码转换成可执行文件或者其他形式的输出文件(如库文件、文档等)。Make 可以自动化地执行编译、链接等一系列操作。 规则 makefile文件

使用opencv优化图片(画面变清晰)

文章目录 需求影响照片清晰度的因素 实现降噪测试代码 锐化空间锐化Unsharp Masking频率域锐化对比测试 对比度增强常用算法对比测试 需求 对图像进行优化,使其看起来更清晰,同时保持尺寸不变,通常涉及到图像处理技术如锐化、降噪、对比度增强等 影响照片清晰度的因素 影响照片清晰度的因素有很多,主要可以从以下几个方面来分析 1. 拍摄设备 相机传感器:相机传