AWTK能为行业应用带来何种改变?
2019-09-25 来源:EEWORLD
摘要:GUI工程师都期待设计出轻量级、美观的嵌入式GUI界面以满足用户需求,而AWTK的诞生能为行业应用带来何种变化?本文将从行业角度出发,为大家分享AWTK优势。
GUI产品的定位,对于一位产品开发人员来讲都希望自己开发的产品引领潮流,吸引消费者买单。
怎样才能做出具有竞争力的产品呢?如图一,图二,图三所示。
图一
图二
图三
从产品本身来讲,在控制硬件成本的同时,产品的功能丰富且人机交互方式炫酷,产品视觉的冲击性较强,成为现在具有竞争力产品的先决条件。不管您做的产品是属于哪个行业,现在附加值高的产品都与显示屏有着不可分割的关系。有些产品架构师都已经把显示部分与产品本身分离开发,对显示屏部分的开发十分重视,因为这直接关乎产品的销量,最终影响公司的效益。可见GUI对我们产品的重要性。如图4所示。
图四
我们常见的行业有医疗电子,工业控制,汽车电子,智能家居等。
大家都面临同样一个问题:GUI如何选择?
产品总监:“我希望产品的交互界面对消费者有吸引力,所以界面要炫酷!”
产品经理:“我希望我的工程师能够快速开发产品,效率一定要高且方便!”
UI设计师:“做的界面炫酷些,图片对视觉要有冲击……,这个界面友好些,这个界面切换要有动画……”
产品工程师:“又来活了!!!!!啊,这个界面我该怎么办!!!!!!”
从产品的角度上看,管理者都希望每个产品是爆款。UI设计师仅仅负责做好布局,提供炫酷的界面,剩下的就到实际开发的工程师那里。GUI选择的好,产品实现起来就会容易满足需求。
嵌入式行业提到GUI大家可能都会说上那么一两个,如:emWin、Qt、TouchGFX等。
总结大家的整体需求:对于大部分产品来讲,大家都希望做一款显示终端,终端可以通过通讯接口与下行设备进行数据交互实现控制,类似串口屏但是要比串口屏界面灵活且交互性体验良好。这样将显示部分的开发与产品本身分离出来,显示部分硬件不改变的同时,软件架构不改变,只需每个产品对应一个显示的APP。
AWTK,一款真正意义上的跨平台GUI
AWTK平台是一套基于C语言的跨平台GUI开发框架,可用于开发物联网、消费电子、工业控制、汽车电子、智能家居等领域的应用产品,旨在为用户提供一个功能强大、高效可靠、简单易用、可轻松做出炫酷效果的GUI开发解决方案,使用户开发GUI应用就像开发串口应用一样简单。开发流程如图5所示。
图五
优势,让懂的人一眼就明白。
1、支持纯C语言编程
2、支持跨多种操作系统,跨多种硬件平台,小巧高效
3、拥有完善的动画系统,丰富的GUI控件,支持硬件加速
4、支持位图字体和矢量字体
5、内置中英文输入法,并支持智能词组输入
6、支持视网膜高清分辨率技术
7、支持组态方式开发界面,所见即所得
8、支持界面与逻辑分离技术,用脚本直接编写逻辑
9、支持云端模板和组件市场,构建开发生态圈
技术技巧分享:
app.main.c中要对line_series 控件进行创建,如图六所示。
图六
使用XML将界面描绘出来,如图七所示。
图七
使用如下函数界面用打出原始的12个点
on_append_series_data(widget, 12);
使用定时生成数据会3000ms增加一个新的点
value_set_uint32(&val, timer_add(on_timer_random_data, win, 3000));//定时产生随机数并给图表绘制 3S变换一次
细节如图八,图九,图十,图十一,所示。
图八
图九
图十
图十一
这样就实现了在现有的曲线上添加了一个新的数据并绘制。效果如下图十二所示
图十二
2、工业仪表指针、汽车电子指针需求:
首先对需要的指针进行资源打包处理,此步骤参考《AWTK开发实践》。
我们要将指针使用XML描绘出来如下图十四所示:
图十四
这里讲一下动画参数,可以参考《AWTK开发实践》。如图十五,图十六所示。
定义一个旋转指针,初始化value=-128,动画参数是从-128到+128,无线循环,周期是3000ms,启动延时1000ms。
图十五
图十六
如图十七,图十八,所示,调用开始按钮启动动画。
图十七
图十八
实现效果如下图十九:
图十九
我们使用同样的方法可以实现如下类型的指针,只不过是指针的样子换了图片资源而已。
如图二十,图二十一,图二十二所示。
图二十
图二十一
图二十二
新功能预告:
为满足广大嵌入式开发者的需求,我们拖拽式开发界面即将发布,满足各式各样的控件拖拽。似乎在嵌入式开发过程中找到了自己的另一半, AWTK会不舍不弃与您同行。开发界面如图二十三所示。
图二十三
AWTK能为现代GUI编程带来何种改变?
AWTK是一个伸缩性极强的嵌入式图形框架,可在Cortex-M3这样低端的单片机上运行,也可以在Cortex-A7/A8/A9等处理器,甚至DSP以及X86处理器上运行,既可支持小型RTOS系统,也能支持Linux、MacOS、iOS、Android操作系统,还能支持Windows操作系统、WEB以及各种小程序,可以说是一个全能的嵌入式GUI引擎。
AWTK的跨平台特性,使得应用程序开发也极为便利,在Windows上开发完成的程序,只需经过简单交叉编译即可下载至嵌入式目标板运行,且得到的效果是完全一样的,无需再进行任何修改。
一、AWTK的特点
AWTK旨在为用户提供一个功能强大、简单易用,能轻松做出炫酷效果的GUI引擎,具有如下特点:
开源、免费,用于商业无需付费
高效:小巧高效,可运行在 Cortex-M3 等小资源平台(参考图1)
跨平台:支持跨多种操作系统,跨多种硬件平台(参考图2)
稳定:架构优秀,全方位检查测试,多平台验证以及强大后备技术支援
功能强大
支持硬件加速,支持视网膜高清分辨率技术
拥有完善的动画系统,丰富的GUI控件
支持位图字体和矢量字体
内置中英文输入法,并支持智能词组输入
支持多语言开发,支持国际化
易用
支持纯C语言编程
支持组态方式开发界面,所见即所得
提供完善的API手册、使用文档和大量示例代码
支持纯C语言编程
支持组态方式开发界面,所见即所得
提供完善的API手册、使用文档和大量示例代码
扩展性好:可扩展控件、动画、引擎等
图1 广泛处理器支持
图2 多软件平台支持
二、AWTK开发环境
广州致远电子即将推出AWTK集成开发环境AWTK Designer,简化AWTK界面设计,开发者无需手写XML,采用拖拽方式即可完成界面设计,所见即所得。AWTK Designer本身就是采用AWTK编程实现,界面如图3所示。
图3 AWTK Designer界面
三、 前景展望
在AWTK诞生以前,没有哪一款GUI能具有如此广泛的覆盖性以及如此良好的伸缩性和延展性。此前的GUI,往往都是聚焦于某一类处理器或者某几个平台,要么只支持某一些列处理器,要么只支持有限几个软件平台,这个现状如今被AWTK打破。AWTK将成为一个可用于嵌入式、手机和PC的通用GUI系统。
AWTK采用LGPL协议发布,任何人或者组织都能获取到源码,并可用于商业用途而无需付费。与现有商业GUI相比,既能为开发者节省不少授权费用,而且能掌握全部源码,也能为开发者提供更有力量的信心保证,仅从这两点而言,对开发者都是极具吸引力的。这势必能吸引众多嵌入式开发者加入AWTK生态,并为AWTK生态添砖加瓦。
AWTK的多种语言开发特性,能吸引更多掌握不同语言技能的开发者。目前大多数GUI,都仅支持某一种单一语言,C或者C++,而AWTK目前已经支持C、Lua、Javascript on jerryscript、Javascript on nodejs等不同编程语言,将来还能支持其他开发语言。这样既能为开发者提供编程便利,也能进一步拓宽AWTK的应用领域和使用人群。
AWTK与Linux的结合,可谓相得益彰,为嵌入式Linux的GUI开发者带来了福音,Linux生态也会促进AWTK的成长和发展。
- 恩智浦与深圳通合作推出业界首个基于 UWB 的轨道交通 支付解决方案
- 基于OPENCV的相机捕捉视频进行人脸检测--米尔NXP i.MX93开发板
- 物联网助力电动车充电设施走向未来
- 超宽带的力量:重塑汽车、移动设备和工业物联网体验
- 英国测试装配神经系统的无人机:无需经常落地进行检查
- 英飞凌推出XENSIV™ PAS CO2 5V传感器, 用于提高楼宇能效和空气质量
- 今年我国物联网连接数有望突破 30 亿
- 不止射频:Qorvo® 解锁下一代移动设备的无限未来
- 射频 FDA 如何使用射频采样 ADC 来增强测试系统
- Nordic Semiconductor nRF54H20 超低功耗 SoC 荣获 2024 年世界电子成就奖 (WEAA)
- e络盟社区携手恩智浦发起智能空间楼宇自动化挑战赛
- 不止射频:Qorvo® 解锁下一代移动设备的无限未来
- 物联网助力电动车充电设施走向未来
- Nordic Semiconductor推出nRF54L15、nRF54L10 和 nRF54L05 下一代无线 SoC
- 射频 FDA 如何使用射频采样 ADC 来增强测试系统
- 基于OPENCV的相机捕捉视频进行人脸检测--米尔NXP i.MX93开发板
- Nordic Semiconductor nRF54H20 超低功耗 SoC 荣获 2024 年世界电子成就奖 (WEAA)
- 英国测试装配神经系统的无人机:无需经常落地进行检查
- 超宽带的力量:重塑汽车、移动设备和工业物联网体验