工业产品的交互界面开发要求越来越接近于消费领域的产品。选择一种快速且低成本的嵌入式UI开发方案变得尤为重要,本文将为您介绍一种新的框架式嵌入式UI开发平台。
1.并口屏
并口屏是指可以通过并口指令控制其显示的屏幕,如UART(TTL、232、485)、SPI等。若控制引脚较多且之间间存在一定的时序关系则合称为串口屏。并口屏所有的绘图、显示及人机交互都是借助与并口屏之间的指令、数据传输。并口屏最大的优点就是开发便利且大大降低了主控芯片的IO口占用,但为了实现更丰富的显示疗效,并口屏内部须要集成高性能的为处理器,这也促使并口屏的价钱比裸屏高出好多。
图1简单并口屏
2010年原先的并口屏大多是通过上位机即将显示的内容预先下载到屏幕中,之后发送预设指令将各类界面显示下来。2014年后,功能更强悍的组态屏使并口屏的产业链日趋成熟。因为并口屏的显示依赖其自带的库,所以其显示灵活度在一定程度上仍然受限。
图2组态并口屏(图片来源网路)
2.嵌入式QT/E
相比于直接使用并口屏linux嵌入式应用程序开发,嵌入式的QT/E的灵活度、自由性极大丰富。嵌入式的QT/E可以觉得是QT在linux上的的精简版,它在底层抛开了Xlib库以适应嵌入式应用的开发。使用Qt只需一次性开发应用程序,无需重新编撰源代码,便可跨不同桌面和布署那些应用程序。
图3嵌入式LinuxQT/E界面开发
3.嵌入式emWin
使用QT/E常常须要在上运行嵌入式操作系统,因而对于MCU的性能有一定的要求。除此之外,若之前未接触过QT/E,运用上去将耗费一定的时间成本。相比之下,emWin更适宜于快速、精简UI的开发。
emWin图形库由美国SEGGER公司开发,可为图形LCD设计提供中级支持,极大简化了LCD设计并减短上市时间。为恩智浦ARM微控制器用户免费提供的emWin图形库,以其免费提供商业图库、使用简单、提升MCU运行表现和色调逼真。
图4emWin_Demo
4.AWUI&AWTK
emWin说明书有一千多页linux 版本,对于大多说开发者来说只是想使用emWin做个交互界面,须要耗费大量的时间学习emWin的API。
为了使emWin更易用,致远电子在emWin基础上开发出AWUI,它是基于C++开发的一套MVVM框架,实现了数据绑定、命令绑定和窗口导航等基本功能,并提供丰富的GUI组件。AWUI相对于直接用emwin编程是巨大的飞越linux vi,由于它使用mvvm编程模型促使界面与逻辑分离(前馈)。MVVM是由MVC和MVP一路演变而至,它的作用就是实现用户界面和业务逻辑的分离,利于隔离变化、自动测试、分工合作。
图5AWUI的框架思想
AWUI目前支持Qt和emWin,用Designer编辑界面linux嵌入式应用程序开发,用C++开发ViewModel/Model,让开发者无需学习Qt和emWin的API最终的应用程序可以在Qt和emWin(要确保emWin上支持该控件)上运行。
基于AWUI,致远电子计划年内推出适用范围更广、更好用的AWTK。嵌入式UI开发将会以组件的形式集成于AWorks平台中,可在该平台下快速实现交互界面开发。
图6AWUI发展计划
图7AWorks中的UI框架