本帖最后由 qiao--- 于 2024-6-22 00:20 编辑
前言:
为了给贴友们展示最好的测评结果,我持巨资买了一块mipiLCD的屏幕,这对还是学生的我还是有点压力的。本期测评我将测评开发板的LCD显示效果的清晰度、屏幕刷新率,其次我将移植LVGL,使开发板拥有开发精美UI的功能,然后我借着出厂UI测试一下开发板的音频质量以及网络稳定性等功能。为什么是移植lvgl?我测评计划准备是移植QT的,但是我想着之前我测评的每一款Linux开发板都是移植的QT,这次干脆就移植一次LVGL,这样两种UI框架的移植都有了岂不美哉。LVGL相对QT来说更加轻量,适用于那些资源较少、性能较弱的开发板。
1.LCD显示测评
上期测评说到正点原子家的开发板都有一个开机启动界面,这次给大家补上效果。系统开机后显示屏上显示的是一个手机,里面有备忘录、音乐、相机、照片、天气等等功能。
先来看看音乐播放的功能,看看音质怎么样,请看VCR。
VID_20240621_232241
可以听得出来音质还是相当不错的,同时开发板的触摸显示的也相对来说比较灵敏。
接下来我们来看看LCD显示效果的清晰度和色彩还原度,下面我打开相册里面的两张图片来测试,如下所示。
可以看到LCD显示的两张图片色彩基本没有偏差,都非常的清晰。
2.开发板网络测评
这里我为啥要来测评网络,因为开发板出厂UI里面有一个天气预报,他要获取云上的数据,就必须要联网,所以这里就一起测评了。
首先给开发板联网,我使用的是网线,让电脑共享网络给开发板。步骤如下。
(1)连接网线;
(2)打开网络编辑器,共享给你开发板与电脑网线连接的口,我的是下面这个。
(3)给以太网配置IP
sudo ifconfig eth0 192.168.137.29 netmask 255.255.255.0 broadcast 192.168.137.255
(4)测试 ping baidu.com,出现下面的结果,网络就没问题了。
然后我们来看看开发板的天气预报是否准确,开发板显示的天气如下所示:
然后给大家看一下此时我手机里面的天气预报做一下对比,我手机的天气预报如下所示:
很明显,网络传输的很稳定,天气预报无误。
3.移植LVGL显示框架
接下来就是我们的重头戏,给开发板移植移植LVGL显示框架,我下面的步骤都是在开发板上进行。
如果大家的开发板是使用的出厂系统,那么只需要按着我这个步骤来就行,如果不是,就要首先适配一下开发板的LCD驱动才能使用。
首先从网上下载lvgl的源码,网址分别如下:
lvgl源码:https://github.com/lvgl/lvgl/releases/tag/v8.3.0
lv_drivers源码:https://github.com/lvgl/lv_drivers/releases/tag/v8.3.0
lv_port_linux_frame_buffer源码:https://github.com/lvgl/lv_port_linux_frame_buffer/tree/release/v8.2
可能大家都对第一个很熟悉,二三两个不是很熟悉,其中lv_port_linux_frame_buffer 负责在 Linux 系统上实现 LVGL 的帧缓冲设备端口,使得 LVGL 可以在 Linux 中正常渲染图形界面。而lv_drivers 则提供了对外部设备的支持,包括显示器、触摸屏等,这些驱动模块可以让 LVGL 与不同的硬件设备进行通信,从而实现全面的图形界面交互。
下载完了拷贝到我们的开发板上:
将他们解压重命名一下,方便我们辨认:
然后将lv_drivers和lvgl两个文件夹复制到lv_port_linux下面
目录结构如下所示:
因为我们是在开发板上直接编译,所以就省略了交叉编译这一步,不然在电脑上我们好需要配置编译器。
接下来看一下我们开发板的触摸是哪个,配置屏幕的触摸,用evtest命令。我的是event1:
然后在lv_drv_conf.h里面修改如下,改成我们开发板对应的触摸事件接口:
接着修改屏幕的分辨率在main.c里面修改,我的是720*1280如下所示:
最后就是编译啦,make -j4 编译。
编译成功后会有一个demo可执行文件,如下所示:
这样我们就可以运行测试一下啦,效果如下:
VID_20240621_234652
总结:通过本期我们测评了开发板LCD的显示相关的功能,通过测评发现LCD显示的色彩清晰度和色彩还原度都不错;与此同时我们还测评了开发板网络和音质,音质播放杂音较少,网络很稳定,能稳定获取到云天气数据。最后我们成功移植了LVGL显示框架,使我们能够在LINUX 开发板上设计精美的UI啦。