如何快速开发嵌入式系统的交互界面?

工业产品的交互界面开发要求越来越接近于消费领域的产品。选择一种快速且低成本的嵌入式ui开发方案显得尤为重要,本文将为您介绍一种新的框架式嵌入式ui开发平台。
1 . 串口屏
串口屏是指可以通过串口指令控制其显示的屏幕,如uart(ttl、232、485)、spi等。若控制引脚较多且之间间存在一定的时序关系则统称为并口屏。串口屏所有的绘图、显示及人机交互都是依靠mcu与串口屏之间的指令、数据传输。串口屏最大的优点就是开发便利且大大减少了主控芯片的io口占用,但为了实现更丰富的显示效果,串口屏内部需要集成高性能的为处理器,这也使得串口屏的价格比裸屏高出很多。
图1 简单串口屏
2010年以前的串口屏大多是通过上位机将要显示的内容预先下载到屏幕中,然后发送预设指令将各种界面显示出来。2014年后,功能更强大的组态屏使串口屏的产业链日趋成熟。由于串口屏的显示依赖其自带的库,所以其显示灵活度在一定程度上依旧受限。
图2 组态串口屏(图片来源网络)
2 . 嵌入式qt/e
相比于直接使用串口屏,嵌入式的qt/e的灵活度、自由性极大丰富。嵌入式的qt/e可以认为是qt在linux上的的精简版,它在底层摒弃了xlib库以适应嵌入式应用的开发。使用 qt 只需一次性开发应用程序,无需重新编写源代码,便可跨不同桌面和嵌入式操作系统部署这些应用程序。
图3 嵌入式linux qt/e界面开发
3 . 嵌入式emwin
使用qt/e往往需要在微控制器上运行嵌入式操作系统,因此对于mcu的性能有一定的要求。除此之外,若之前未接触过qt/e,运用起来将花费一定的时间成本。相比之下,emwin更适合于快速、精简ui的开发。
emwin图形库由德国segger公司开发,可为图形lcd设计提供高级支持,极大简化了lcd设计并缩短上市时间。为恩智浦arm微控制器用户免费提供的emwin图形库,以其免费提供商业图库、使用简单、提升mcu运行表现和色彩逼真。
图4 emwin_demo
4 . awui&awtk
emwin说明书有一千多页,对于大多说开发者来说只是想使用emwin做个交互界面,需要花费大量的时间学习emwin的api。
为了使emwin更易用,致远电子在emwin基础上开发出awui,它是基于c++开发的一套mvvm框架,实现了数据绑定、命令绑定和窗口导航等基本功能,并提供丰富的gui组件。awui相对于直接用emwin编程是巨大的飞跃, 因为它使用mvvm编程模型使得界面与逻辑分离(解耦)。mvvm是由mvc和mvp一路演化而来,它的作用就是实现用户界面和业务逻辑的分离,利于隔离变化、自动测试、分工合作。
图5 awui的框架思想
awui目前支持qt和emwin,用designer编辑界面,用c++开发viewmodel/model,让开发者无需学习qt和emwin的api最终的应用程序可以在qt和emwin(要确保emwin上支持该控件)上运行。
基于awui,致远电子计划年内推出适用范围更广、更好用的awtk。嵌入式ui开发将会以组件的方式集成于aworks平台中,可在该平台下快速实现交互界面开发。
图6 awui发展计划
图7 aworks中的ui框架

酒店使用细菌检测仪【莱恩德LD-ATP】
旁路电容和滤波电容,去耦电容分别怎么用?
故障解列装置VIP-9652A技术规范
量收剪刀差不断拉大,中国联通流量靠什么增收
从硬件起家的博世,将着眼软件和服务
如何快速开发嵌入式系统的交互界面?
常用集成运放电路分享
无人机是如何在户外为我们检测环境的
无线供电的过去与未来
霍尔传感器无线耳机中的应用
采用恩智浦应用软件包快速启动产品开发
RL78启动过程详解
浅析无根容器的结构和漏洞
中国移动今年将在全国建设超过5万个5G基站实现50个以上城市商用
手机芯片成为软肋,联发科聚焦物联网芯片
工业智能网关BL110应用之十五: 网关基本信息
气象六要素一体式气象传感器技术特点介绍
从电子工程师到研发经理到老板的多面人生
深度剖析人工智能芯片的发展现状及趋势
华硕飞马2Plus评测 越用越保值最后还能赚钱