广告

20分钟搞定嵌入式GUI,这个国产“柿饼”不简单

时间:2018-12-28 作者:邵乐峰 阅读:
做电子硬件开发,常常要为设计一个良好的用户界面(UI)伤透脑筋。因为界面开发是个细致活,设计一个界面,往往是写很多代码,对控件进行多次调试,效果仍然不能尽如人意。而且.......
EETC https://www.eet-china.com

做电子硬件开发,常常要为设计一个良好的用户界面(UI)伤透脑筋。因为界面开发是个细致活,设计一个界面,往往是写很多代码,对控件进行多次调试,效果仍然不能尽如人意。而且,随着智能手机的普及,传统键盘/鼠标式的PC操作体验和仿Win95/Win98风格的嵌入式图形用户界面(GUI)已经不能满足用户需求,以轻触、滑动、拖拽、缩放等为代表的触控方式、通过“语音/面部识别+屏幕”方式产生拟人化效果等都正在成为人们的新宠。与之对应,嵌入式GUI技术也出现了翻天覆地的变化。x85EETC-电子工程专辑

狭路相逢勇者胜

“坦率的说,3-4年前,嵌入式市场对于GUI的需求远不如现在旺盛,低端的串口屏、点阵屏完全能够满足应用需求。但目前在以洗衣机、微波炉、油烟机、净水器、空气净化器、空调为代表的智能家电领域,和以仪器仪表、工业设备为代表的工业领域,对人机交互系统极为看重,这给GUI产品提供了广阔的市场。”睿赛德电子科技首席运营官邹诚说。x85EETC-电子工程专辑

而在目前主流的嵌入式GUI开发技术中,RT-Thread/Persimmon、TouchGFX和emWin是最受人瞩目的。x85EETC-电子工程专辑

RT-Thread/ Persimmon是国内主导开发的实时线程操作系统RT-Thread中的图形用户界面,是一款面向嵌入式系统的,具备多窗口、多线程的,类似Android界面效果的C++ GUI,构建于RT-Thread物联网操作系统之上。目前也已经发展到了RT-Thread/Persimmon 2.0,支持设计器及脚本方式开发。x85EETC-电子工程专辑

尽管稍逊于安卓系统显示效果,但其资源占用率相比Linux方案低一个数量级,比安卓系统更是低几个数量级,成本也不高,适用于基于arm Cortex-M7/M4内核MCU、基于arm 9/arm 11/Cortex-A7内核的应用处理器/AI芯片之上。目前在NXP、全志等芯片上均有采用RT-Thread/Persimmon产品,在智能家居、楼宇自动化系统/设备以及音视频系统中得到了广泛应用。x85EETC-电子工程专辑

x85EETC-电子工程专辑

emWin是由德国Segger公司针对嵌入式平台开发的稳定、高效的图形软件库,属于老牌的嵌入式GUI,有着十几年的历史,软件架构和功能比较成熟。通过调用emWin提供的函数接口,开发嵌入式图形界面应用变得简单而快捷,但显示效果偏Win95/Win98风格。x85EETC-电子工程专辑

TouchGFX是一个采用C++语言编写的软件框架,可为嵌入式GUI提供出色的图形和流畅的动画,资源和功耗需求也很低,是RT-Thread/Persimmon的主要竞争对手。美中不足的是TouchGFX开发易用性较差,开发周期性长,而且其供应商Draupner Graphics已于今年7月被意法半导体(ST)所收购x85EETC-电子工程专辑

RT-Thread创始人兼睿赛德电子科技总经理熊谱翔在接受《电子工程专辑》独家专访时表示,RT-Thread原有的以C语言模拟面向对象技术进行开发的RTGUI在代码简洁性、可读性和实用性上难以满足需求——简单来说,由触控GUI带来的面向对象需求,虽然使用C语言能够实现,但太过繁琐、复杂,和公司一直以来追求的简洁之美背道而驰。思考再三,他们决定依照现代化GUI风格重写GUI组件,即以C++为基础,支持多点触摸,提供类似signal/slot信号槽的使用方式,包括各种动画特效等。而这一支持界面动画效果的全新GUI,RT-Thread将其称之为柿饼(Persimmon) UI。x85EETC-电子工程专辑

不一样的柿饼

考虑到GUI已经成为人与机器沟通的桥梁,且嵌入式系统对GUI的需求越来越高,而这一切均要求有一个轻型、占用资源少、高性能、高可靠、可配置及美观的GUI支持。x85EETC-电子工程专辑

如前文所述,Persimmon是以C++编写的,因为GUI上的一系列控件以C++面向对象的方式来描述会更合理,例如一个button,一个label,一个image,每个对象有他们自己的属性、方法等。当然C++也会带来一些问题,比如调试困难,开发周期长。为了某一效果,代码反复迭代不说,做出来的UI效果还不像安卓、iOS那样炫丽,千篇一律等。x85EETC-电子工程专辑

GUI_2018122801.jpgx85EETC-电子工程专辑

Persimmon GUI结构框图x85EETC-电子工程专辑

熊谱翔说,在这类传统GUI开发过程中,他们发现开发人员面临的痛点除了调试困难外,学习成本高,上手难度大,各种绘图API让人头大。更要命的是,UI一旦确定,后期维护困难,无法升级。 x85EETC-电子工程专辑

为了最大程度地降低上手难度,柿饼UI对原来的Persimmon 1.0版本进行了升级,变成了2.0版本,并把复杂的UI效果都封装成一个个的控件,同时对控件的配置要求降到最低。设计人员只需通过拖 - 摆 - 轻配,就能完成整个UI效果的设计,所见即所得。目前,柿饼UI设计器支持21个控件,不仅覆盖了开发者日常基本的需求,还有“旋转木马”这样具备炫酷特效的控件。x85EETC-电子工程专辑

同时,柿饼UI也强调快捷的开发方式,采用了美工+“前端”模式的设计理念,类似前端的小程序编程,使用JavaScript脚本语言来编写用户业务逻辑。也就是说,在美工准备好素材的前提下,设计人员只需通过柿饼UI设计器设计好UI框架,再通过JavaScript脚本语言,只需几行代码就可以实现控件间复杂的事件传递,行为响应等。这种做法,可将调试时间从之前的2-3个月大幅缩短至1周左右,开发者只需把精力集中在逻辑控制上即可,极大提升了开发效率。同时,柿饼UI设计器支持板级效果仿真,在PC端仿真的同时就能体验到真机运行的效果。效果满意后,开发人员可以在设计器内通过USB一键下载到设备,非常方便。x85EETC-电子工程专辑

GUI_2018122802.jpgx85EETC-电子工程专辑

传统GUI和柿饼GUI对比图x85EETC-电子工程专辑

作为中国人自己开发的GUI,尊重国人的开发体验是RT-Thread的头等大事。邹诚说,希望不管是控件的配置细节,还是软件的使用体验,都能够最大程度迎合用户的使用习惯,让大家一看就会,一用就能出成品,最大程度的降低开发难度和成本。x85EETC-电子工程专辑

柿饼GUI支持对底层硬件的C/C++拓展。用户可以通过native C/C++ SDK生成动态链接库.so文件,加载到柿饼GUI内,然后就可以通过JS代码直接调用该动态库控制底层硬件了。而在设备联网的情况下,还可以通过OTA远程升级维护固件、UI应用等,摆脱了此前设计一旦定稿量产后,很难再对UI进行升级或者改动的尴尬。x85EETC-电子工程专辑

针对有用户质疑柿饼UI并未开放出全部代码的做法,邹诚解释称,RT-Thread操作系统的推广与生态系统搭建仍然是公司的核心战略,开源免费是前提,这是毋庸置疑的。因此,工程师可以从官网上下载90%以上的相关资源。但是,考虑到公司的研发投入和代码使用维护的难度,确实有少数组件没有实现开源,需要与相关企业展开授权合作。x85EETC-电子工程专辑

“相关企业自主开发GUI,或是寻找第三方替代方案目前来看都是不现实的,因为GUI控件的开发难度非常高。所以用户对于收费模式其实并不反感,但前提是我们必须要能够提供易开发、效果好、资源占用率低的高品质产品。”熊谱翔补充说。“我们正在计划推出高性价比的标准硬件模块,中小型客户可以直接内置于他们的终端当中,通过我们提供的UI设计器等工具,快速开发出带有酷炫GUI图形显示的产品”。x85EETC-电子工程专辑

EETC https://www.eet-china.com
本文为EET电子工程专辑 原创文章,禁止转载。请尊重知识产权,违者本司保留追究责任的权利。
邵乐峰
ASPENCORE 中国区首席分析师。
您可能感兴趣的文章
  • 行AI之术,察腠理之疾 《扁鹊见蔡桓公》相信大家小时候都背过,蔡桓公讳疾忌医,最后导致病入骨髓、体痛致死。时至今日,人们虽然不再讳疾忌医,但医疗资源紧缺让大家只能把大量时间耗费在大医院排队中。在疾病之初,症状初显甚至未显之时,能否在家中通过自查发现呢?不是每家都可以有神医扁鹊,但未来AI和先进半导体技术的加持下,每家都可以有精准而方便的家用医疗器械……
  • 六大技术支柱, 英特尔开启多元化计算时代的一把秘钥 只用了不到半年的时间,Agilex FPGA就成为“六大技术支柱”落地的最佳载体,英特尔强大的系统研发和整合能力可见一斑。
  • 青城山下问医道:AI医疗“硬”创新之难,堪比修仙? 说到青城山下,你可能说着说着就唱出来了。这是中国民间传说《白蛇传》中白素贞修仙的地方,“洞中千年修此身”后,白娘子就来到了苏杭地区,与她做大夫的相公许仙一起开药铺,悬壶济世。看来青城山除了是道教名山,还和医道有着渊源,近日在青城山脚下举办的第三届 “青城山中国IC生态高峰论坛”,就以智慧医疗电子为主题,聚集了生态链各个环节的厂商、机构代表和精英人士……
  • 新型双条件玻璃破碎检测方案 玻璃破碎检测方案已经发展一定年头,主要用来检测家庭住宅或商业楼宇门窗玻璃的破损情况。此类方案也可归类为一种监控设备,用以提高家庭或商业环境的安全性,避免非法进入。贝能国际以此需求为牵引,开发出全新双条件玻璃破碎检测方案,同时检测敲击玻璃时发出的低频声音、玻璃破碎时发出的高频声音以及玻璃破碎时带来的压力变化,一举解决市面上现有方案的缺陷。
  • 美将多家中国超算及半导体研究机构加入实体清单 美国商务部6月21日正式将五个中国实体列入美国黑名单,包括了中科曙光、无锡江南计算技术研究所、海光公司、成都海光集成电路和成都海光微电子技术以及这五个实体的许多别名。这是继上个月将华为公司列入“实体清单”后,美国对中国企业採取的又一起单边制裁行动。美国商务部声称,因为担心这四家中国公司……
  • 有关麒麟810和华为nova 5,有些事华为没告诉你 “因为夜的黑,光才被衬托得更美。”这话其实是用来形容华为nova 5系列手机的拍照能力的,不过在现如今这个国际环境大背景下,倒似更有深意了,也更符合华为现在的处境。华为消费业务手机产品线总裁何刚在华为nova 5系列产品发布会上,说出这句话的时候,发布会所在地的武汉还在下着小雨。
相关推荐
    广告
    近期热点
    广告
    广告
    广告
    可能感兴趣的话题
    广告