Air8101工业引擎,具有丰富的视频、音频、图形化显示等多媒体应用能力;
除此之外还支持Wi-Fi、以太网、4G、蓝牙联网能力和UART、SPI、I2C、SD卡、CAN等外设控制和驱动能力。
Air8101支持720P分辨率的LCD显示,LuatOS软件会提供两种HMI开发框架——LVGL和AirUI。
LVGL(Light and Graphics Library) 是一款开源的嵌入式图形库,专为资源受限的嵌入式系统设计,它提供了多种UI组件(如按钮、标签、滑块、图表、列表等),可以满足大多数UI设计需求。
例如在Air8101上,以下是使用LVGL实现的一些图形界面效果:
虽然LVGL非常强大,也非常灵活,但是VGL提供的API太多了,使用起来比较复杂,完全掌握它,对技术人员要求太高;要提供技术支持的难度也很大。
两周前我们还决定不对外开放LVGL接口,这个消息公布后,开发者们献智献策——给我们提供了一种可以有效解决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编码水平还是相当可以的!
对基本的LVGL使用问题不提供技术支持服务,仅解决bug以及新功能开发。
AirUI是一个包含上位机工具,界面布局配置文件,界面刷新切换业务逻辑脚本文件的图形化开放框架。
上位机工具可以拖拽绘制每个界面;
绘制界面后,自动生成界面配置文件;
界面刷新切换业务逻辑脚本文件,在这些脚本中写Lua脚本代码实现各个界面的刷新切换等操作;
界面配置文件和界面业务逻辑Lua脚本文件,一起烧录到Air8101中。
使用AirUI开发图形化应用,会大大降低图形化应用的开发复杂度,让大家用的简单,支持成本也能降到最低。
今天的内容就分享到这里了~
文章评论(0条评论)
登录后参与讨论