原创 Air8101两种HMI开发框架:LVGL和AirUI

2025-4-10 14:00 30 0 分类: 物联网

Air8101工业引擎,具有丰富的视频、音频、图形化显示等多媒体应用能力;

除此之外还支持Wi-Fi、以太网、4G、蓝牙联网能力和UART、SPI、I2C、SD卡、CAN等外设控制和驱动能力。

Air8101支持720P分辨率的LCD显示,LuatOS软件会提供两种HMI开发框架——LVGL和AirUI。


一、LVGL 

1.1 LVGL特点

LVGL(Light and Graphics Library) 是一款开源的嵌入式图形库,专为资源受限的嵌入式系统设计,它提供了多种UI组件(如按钮、标签、滑块、图表、列表等),可以满足大多数UI设计需求。

1.2 Air8101上LuatOS LVGL实现效果

例如在Air8101上,以下是使用LVGL实现的一些图形界面效果:


1.3  Air8101上LuatOS LVGL推广面临的问题

虽然LVGL非常强大,也非常灵活,但是VGL提供的API太多了,使用起来比较复杂,完全掌握它,对技术人员要求太高;要提供技术支持的难度也很大。

1.4  Air8101上LuatOS LVGL小范围开放方案

两周前我们还决定不对外开放LVGL接口,这个消息公布后,开发者们献智献策——给我们提供了一种可以有效解决LVGL使用复杂,以及可以有效解决技术支持问题的方案。

 

这个方案主要包含以下两点:

1)利用LVGL的官方资料和AI工具,帮助解决LVGL基本的使用问题:

LuatOS上的LVGL接口和LVGL社区用Lua适配的接口完全兼容,这样,开发者可以自行查询资料解决LVGL的使用问题;

开发者可以借助AI工具,快速完成在Lua上的LVGL编程。

以下是一段DeepSeek生成的Lua LVGL代码示例:

使用Lua语言,使用LVGL写一段代码,在坐标0,0画一个宽12,高24的按钮,背景为黄色,按下时背景变为绿色,按下后刷新界面,按钮变成一个label。

代码说明:

按钮创建:

使用lvgl.btn创建一个按钮,并设置其大小和位置。

使用set_style_bg_color设置按钮的默认背景色为黄色。

标签创建:

使用lvgl.label创建一个标签,初始状态为隐藏。

事件回调:

当按钮按下时,背景色变为绿色。

当按钮释放时,隐藏按钮并显示标签,同时刷新界面。

刷新界面:

使用lvgl.refr_now()强制刷新界面,确保变化立即生效。

从这段代码可以看出,AI的LVGL编码水平还是相当可以的!

 

2)LVGL对外有条件开放,要求具备LVGL开发经验,可以自行解决LVGL的使用问题:

对基本的LVGL使用问题不提供技术支持服务,仅解决bug以及新功能开发。

 

 

 二、 AirUI 

2.1  AirUI是什么

AirUI是一个包含上位机工具,界面布局配置文件,界面刷新切换业务逻辑脚本文件的图形化开放框架。

上位机工具可以拖拽绘制每个界面;

绘制界面后,自动生成界面配置文件;

界面刷新切换业务逻辑脚本文件,在这些脚本中写Lua脚本代码实现各个界面的刷新切换等操作;

界面配置文件和界面业务逻辑Lua脚本文件,一起烧录到Air8101中。

2.2  AirUI的意义

使用AirUI开发图形化应用,会大大降低图形化应用的开发复杂度,让大家用的简单,支持成本也能降到最低。

 

今天的内容就分享到这里了~

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
0
关闭 站长推荐上一条 /3 下一条