嵌入式汽车系统中的GUI导航

发布者:Serendipity22最新更新时间:2024-09-27 来源: elecfans关键字:嵌入式  汽车系统 手机看文章 扫描二维码
随时随地手机看文章

  汽车计算机的设计者明白,驾驶员只能看仪表板显示屏几秒钟。由于汽车计算机的操作员也可能正在开车,因此汽车计算机给计算世界带来了新的安全问题。


  在为嵌入式板载系统创建图形用户界面 (GUI) 时,您必须考虑许多不断发展的设计问题。为了使驾驶员能够快速浏览屏幕,显示内容必须明确、明显且数量有限。控制层的框架应该简单,这样驱动程序就不会迷失在结构中。


  嵌入式显示器中经常使用的线条图和简单的窗口轮廓不足以为您的 GUI 提供独特的、定制的外观和感觉。


  一线汽车供应商需要能够使用生产的定制图形和独特的字体,以帮助区分其产品品牌并创造精美的外观和感觉。显示增强型嵌入式技术使您可以编写应用程序行为,并将应用程序的特定外观应用于面向品牌的主题,例如目前在 MP3 音乐播放器中实现的“皮肤”概念。

  汽车界面设计的另一个关键是能够使用快速响应的用户输入模式,例如触摸屏和语音技术。

  为了创建具有使用仪表板显示屏的 GUI 的实用且适销对路的嵌入式汽车应用程序,您必须能够成功解决所有这些问题。

  直到近,现有的面向对象的 Java GUI 框架还没有充分满足这些嵌入式需求。然而,现在有一个 GUI 框架专门为开发人员提供一种经典的面向对象的方式来为嵌入式 Java 应用程序创建图形界面。

  OO GUI 框架的结构

  任何 GUI 系统的基本构建块的一个示例是 IBM VisualAge Micro Edition MicroView 框架中的 Application 类。Application 类创建并布局由任意数量的视图/控制器对组成的屏幕,这些视图/控制器对在显示设备上呈现应用程序数据。要通过视图呈现的数据在模型类中定义,这使应用程序本身相对独立于数据的呈现。向用户呈现或从用户呈现的数据填充这些模型,这些模型控制视图的状态。

  

wKgaomYjGPGAb2A9AAB4ei_DLsg831.png

  图 1:从对象被放置在屏幕上并被个人查看到个人响应和屏幕更新之间发生的事件。

  ApplicationManager 类协调用户对各种模块化、开发人员定义的应用程序的导航,这些应用程序保存在其注册表中。ApplicationManager 根据需要在屏幕上打开和关闭应用程序,并协调设备中所有应用程序的视图创建。

  MicroView 应用程序始终与一个视图关联,该视图是 MicroViews ContainerView 类的实例;该视图又包含构成应用程序视觉布局的其他视图。ApplicationManager 还包含一个ScreenApplication,它是其余应用程序扩展的根对象。

  为了构建一个 GUI 系统,您必须首先定义必要的应用程序类,以及所有必需的模型、视图和控制器对象(模型控制视图的状态)。模型、视图和控制器对象是通过创建默认 MicroView 框架类的新实例来定义的。

  对于复杂的 GUI 系统,您还可以创建自定义的模型、视图和控制器类。默认视图包括按钮视图、拉贝视图、列表视图和段落视图等。默认控制器包括按钮控制器、键盘控制器和菜单控制器。

  除了创建视图/控制器对并将它们放置在设备屏幕上之外,每个应用程序还实现必要的侦听器接口,以响应通过操作(即更改模型和视图类的状态的操作)发送到这些控制器/控制器类的用户输入事件)。然后这些操作作为消息传递给应用程序。

  MicroView 应用程序与大多数常见的 GUI 系统一样,使用基于事件的机制来指导用户和应用程序之间的交互。MicroView 事件系统本质上类似于作为标准 Java 开发工具包 (JDKTM) 一部分的 AWT 库中公开的基于委托的事件模型。

  在 MicroView 事件处理模型中,Application 类的实例为它们需要处理的每种事件类型实现侦听器接口。当具有已注册侦听器的事件来自底层输入系统时,该事件将被路由到该类进行处理。

  在标准 AWT 基于委托的事件模型中,事件从源对象传播到侦听器以进行处理,以响应某些用户交互。在 MicroView 框架(如标准 AWT 委托事件模型中)中,事件源通常是 UI 组件,侦听器是 Application 对象,该对象根据应用程序的特定需求实现适当的侦听器接口。

  在模型/视图/控制器(MVC)范例的 MicroView 实现中,控制器充当应用程序和底层事件子系统之间的中介;因此,MicroView 框架中的事件类型要么是 com.events.events 的直接后代,要么是间接后代。IBM。伊维奥加斯。控制器事件类。

  每个事件都是从其源创建的,并由输入组件子系统路由到充当侦听器部分的应用程序对象,以及基于所请求的特定类型的用户交互的相应事件的实例。

  凭借相应侦听器接口中指定的一个或多个方法的实现,侦听器对象(在本例中为应用程序对象)可能会以某种有意义的方式响应事件。此时,输入组件通过返回值通知该特定侦听器对象是否消耗了此事件,并且输入组件继续响应用户交互,对每个被认为感兴趣的事件重复此循环。

  同样,MicroView 框架中事件对象的基类是 com. ibrn.ive,脱气。控制器事件类。这个类是java的直接后代。实用程序。EventObject,它是标准 AWT 委托事件模型中的基本事件对象。MicroView 框架提供了以下四种基本事件类型:

  ButtonEvents—当用户单击或点击按钮视图用户界面组件时发送

  ListEvents—当用户点击 ListView 组件中的选项时发生

  MenuEvents——用户从菜单中进行了选择

  KeypadEvents — 导致用户从模拟键盘的自定义视图中进行选择。

  MicroView 不包含代表菜单或键盘的特定 View 对象。然而,它确实提供了自定义控制器对象,可以与自定义视图对象一起使用来模仿这些对象的外观和/或功能。

  MicroView 事件侦听器框架与上面定义的标准事件层次结构松散对应。每种类型的标准事件都存在以下侦听器:

  ButtonListener,定义了一个方法,

  public Boolean handleEvent(ButtonEvent e)

  ListListener,它定义了一个方法

  public Boolean handleEvent(ListEvent e)

  MenuListener,定义

  public void handleEvent(ListEvent e)

  KeypadListener,定义方法

  public void handleEvent(KeypadEvent e)。

  与 AWT 一样,MicroView 框架对低级事件和(通常称为“语义”)事件进行了区分。低级事件的特征是输入或其他窗口系统事件,而语义(即)事件的特征是输入或其他窗口系统事件。级别)事件通常是组件模型本身的某种语义的结果;换句话说,是不需要用户干预的组件到组件的消息。

  虽然 MicroView 框架包含低级事件,但它们的功能几乎完全封装在低级事件处理框架代码中,并且不会在 API 级别向开发人员公开。应用程序开发人员使用的常见 MicroView 事件本质上是语义的。

  与 Aw‘r 一样,MicroView 框架中的事件传递是同步的;事件由输入系统按照接收顺序传递给组件。

  尽管 MicroView 定义了一组基本的事件和侦听器,但您可以自由地实现自己的自定义事件类型和侦听器,作为应用程序语义接口的一部分。

  MicroView 和 AWT 之间的另一个区别是 MicroView 开发人员可以安全地假设所有事件侦听器分派将在同一线程上进行。然而,这是由于底层输入子系统的实现而导致的,严格来说并不是事件系统的设计功能。

  解决汽车特定问题您可以使用 MicroView 通过您选择的捆绑位图图像和默认或自定义字体来创建视图,而不是限制自己创建代码绘制的 GUI。

  现有的位图图稿可以从图形软件(例如Adobe Photoshop)导入,以创建图标、背景、操作小部件(例如按钮)等。

  默认EgBitmapBundle类的子类 用作位图的表示。然后,您将子类转换为 ROM 资源格式,为它们提供物理文件名定义,并将它们与可从应用程序访问的 ID 相关联。要在显示中使用默认或自定义字体,请遵循类似的过程,使用EGBitmapFontsBundle类的实例 并为捆绑字体指定各种大小和样式。

  这种灵活性有助于设计高度精致、以品牌为中心的独特展示。使用图形软件创建图稿的能力还可以实现更快速的开发,并限度地减少应用程序中所需的 Java 代码量。

  事件利用各种用户输入模式,包括触摸屏和语音数据。定义应用程序行为时,多个事件可以链接到同一视图/控制器对。从应用程序中包含的视图接收事件通知仅需要您实现适当的侦听器接口。事件处理的一个示例是当视图中的数据发生变化时,导致模型发生变化,或者当用户触摸屏幕区域时。

  例如,如果应用程序包含按钮视图,并且应用程序类需要从这些视图接收事件通知,则应用程序应该实现 ButtonListener 接口。还可以使用利用语音和其他输入模式的类似收听者接口(例如,按钮监听器、列表监听器、键盘监听器、菜单监听器等)。

  语音/语音数据

  通过语音控制用户界面有两种方法。种是使用语音数据来控制屏幕界面本身。例如,语音输入用于从一个字段切换到另一个字段、激活按钮、激活菜单、选择列表中的项目等。

  由于同时操作车辆以及查看和操作触摸屏涉及的特殊困难,您可能会发现考虑为视力障碍或失明用户设计界面很有用。对于视力障碍用户以及仪表板汽车界面来说,语音交互和语音识别是 GUI 开发的关键方面。

  一些欧洲国家现在正在考虑制定法律,要求所有新开发的设备为残疾用户(包括视力障碍)提供无障碍功能。语音和语音数据在未来有可能变得比现在更加重要和广泛。

  用语音控制用户界面的第二种方法可能更适合汽车和其他 GUI 应用。在这种方法中,创建了两个用户界面:语音和图形触摸面板。用户可以与使用语音识别和反馈的应用程序进行直接交互,但如果使用语音输入与应用程序交互,则屏幕的反应方式与使用触摸数据时的反应方式不同。

  例如,为了查找地址,应用程序可能会使用语音来提示用户输入每个数据字段(例如,城市、州等)。几次来回的应用程序交互会用用户通过语音输入提供的信息填写“表格”。每个响应都会提供声音反馈,用户无需查看屏幕即可确认应用程序对语音输入的理解。语音交互改变模型(即内部数据),视图自动反映改变的数据。

  O0 GUI 框架同样适用于基于触摸板和基于语音的界面。MicroView 事件框架是一种熟悉的、一致的事件处理模型,它为嵌入式系统开发人员提供了功能的实现。


关键字:嵌入式  汽车系统 引用地址:嵌入式汽车系统中的GUI导航

上一篇:汽车电动压缩机如何应对高压化挑战?
下一篇:余承东:ADS 3.0现在还不是L3 鸿蒙智行的OTA通过5G技术升级

推荐阅读最新更新时间:2024-11-12 08:18

汽车进入系统跨入智能时代 BLE、NFC成为核心技术
汽车进入系统历经几十年的演变,逐渐由机械式、遥控式转向无源式PASE系统(无钥匙进入与启动系统),并且PASE系统简单易用、方便快捷已经逐渐被消费者所认可。但是随着移动通信技术和云端服务的成熟,众多零部件厂商开始布局最新一代的智能进入系统。 而就在上月大陆集团发布旗下第四代智能进入系统,该套智能进入系统将提供基于蓝牙低能耗(BLE)技术的免提式进入和启动系统,后端以无线方式向驾驶者的智能手机发送秘钥。智能设备在通过蓝牙低能耗(BLE)与汽车连接验证秘钥,确保进入安全性。此技术可有效识别秘钥,未来还可实现靠近解锁等功能,进一步提升用户舒适体验。   除此之外,大陆集团还发布了网关钥匙(Gateway Key),它通过车用的安全无线
[汽车电子]
基于ATmega161的嵌入式测控网络设计
1前 言 随着微电子技术、通信技术、控制技术和半导体技术的飞速发展以及工业、医疗卫生、国防等部门对智能控制要求的不断提高,嵌入式微处理器被越来越广泛地应用。为了适应各方面的需求,嵌入式微处理器在运算速度、可扩充能力、系统可靠性、功耗和集成度等方面得到了突飞猛进的发展。嵌入式微处理器体系结构经历了一个从CISC(Complex In-struction Set Computer)到RISC(Reduced Instruction SetComputer),从4位、8位、16位到32位甚至64位,寻址空间从64kB到16MB甚至更大,处理速度从0.1MIPS到2000 MIPS的过程。 ATmega161是一款基于AV
[单片机]
基于ATmega161的<font color='red'>嵌入式</font>测控网络设计
基于VirtualBox虚拟机-Ubuntu操作系统的ARM嵌入式平台搭建
花费了两台的时间,终于把这个开发平台搭建完毕了。现在做一下总结,以后当作笔记试用。   平台主要包括PC机、VirtualBox虚拟机、ARM开发板三个主要部分,其中PC机和开发板有同一个路由器接入网,是它们在同一个网段内,不但可以实现PC机、虚拟机、开发板的三方互通,而且能够边开发边访问互联网。前提:你要知道自己开发板的IP地址。   下面根据搭建顺序进行分析。   一、PC机下安装虚拟机   PC机安装虚拟机的过程很简单,我是在windows xp系统下实现的,如果你的系统是windows 7的话,该文档仅作参考。   首先下载最新版本的VirtualBox虚拟机,这款虚拟机的特点是操作界面简单方便,占用内
[单片机]
基于VirtualBox虚拟机-Ubuntu操作<font color='red'>系统</font>的ARM<font color='red'>嵌入式</font>平台搭建
ST、IMECAS和EPOCH合作开发电动汽车电池管理系统
合作开发基于意法半导体最先进的智能功率技术和汽车微控制器芯片组的电池控制器 将与中国电池厂商和车企密切合作定义解决方案 意法半导体(STMicroelectronics,简称ST;纽约证券交易所代码:STM)、中国科学院微电子研究所(IMECAS)和中科芯时代科技有限公司(EPOCH)宣布签订新能源汽车(NEV)电池管理系统合作开发营销协议。意法半导体是横跨多重电子应用领域的全球领先的半导体供应商、市场领先的汽车电子元器件厂商;中国科学院微电子研究所是中国国有半导体研发机构、国内领先的集成电路技术创新中心;中科芯时代公司专业研发电动汽车电池、电池管理系统(BMS)和电池防火系统解决方案。 意法半导体、微电子所和
[汽车电子]
如何有效提升汽车驾驶安全?车灯控制系统是关键!
  现今车灯多半采用固定式设计,无法满足汽车驾驶在不同车速与路况下所需的安全视野照明需求,因此研究单位开发出结合亮度、速度和距离等感测器,以及马达控制和LED光源模组所打造的可调式车灯控制系统,期进一步提升行车安全。   目前大众经常使用的车灯,多数没有自动亮度调整与切换功能,因此本文提出结合光源调整机构与自动控制概念的车灯光源系统。   此系统係用数颗单晶片组成分散式控制系统,其控制晶片分别检测行车安全距离与自动调整行车光源投影,藉由亮度感测器检测周围环境光源亮度值。当周围亮度足够,控制系统将会调整马达使发光二极体(LED)发光源至透镜焦点形成高亮度的投影;当周围亮度不足,马达反向调整使LED发光源和透镜距离缩小,投射出
[嵌入式]
基于CAN系统汽车无线测量系统
  1 引言   随着汽车电子的发展,汽车内电子产品越来越多,汽车发动机、底盘和车身等电控系统中的电控单元数量不断增加,同时它们之间的通信也越来越重要。在汽车内利用网络技术,可大大提高系统之间信息传递的可靠性,同时可大大减少汽车线束的数量,降低汽车电气系统的成本。本文提出并实现了一种利用单片机组成CAN系统,利用蓝牙无线传输技术对汽车运行数据进行采集与处理的方法。CAN总线符合ISO11898标准,最大传输速率可达1Mbps,最大传输距离为10km,传输介质可为双绞线。它具有如下的一些技术特性:   1)多主方式工作,非破坏性的基于优先权的总线仲裁技术;   2)采用短帧结构,受干扰概率低,每帧信息都有CRC检验及其他检错措
[单片机]
基于CAN<font color='red'>系统</font>的<font color='red'>汽车</font>无线测量<font color='red'>系统</font>
碎片化的IoT时代,中天微填补国产嵌入式CPU空白
2018年,集成电路再次被写入政府工作报告,位列实体经济发展第一位。尽管我国芯片产业日益强大,但由于起步较晚,无论是产业基础、产业结构、产业规模还是创新能力和水平与发达国家相比差距仍旧很大,尤其在IC产业基础设施布局与建设领域中,仍然严重滞后于发达国家水平。尽管如此,在中国IC产业内也不乏始终坚持的开拓者,拥有自主知识产权的嵌入式CPU的空白便被杭州中天微系统有限公司所填补。 嵌入式CPU IP是芯片研发和嵌入式系统的基础,该领域过去一直被国外企业所垄断,就在大家普遍认为这个市场将会一家独大时,中天微却凭着过硬的研发技术功底,加之正确的商业化运作以及有效的市场策略,逐渐获得了国内同行的广泛认可,走出一条有自己特色的道路,短短2
[半导体设计/制造]
当AI遇上边缘计算,研华以Edge AI推进嵌入式产业变革
近年,AI、物联网、5G等技术的发展以及智能终端设备的广泛部署,带来数据量的几何级增长。而随着越来越多应用场景对数据传输提出了“低时延、大带宽、大连接”等需求,边缘计算逐渐走入舞台“中心”,迸发出更大的能量。 Gartner 公司预测,到2025年,大约75%的企业将在数据中心或云之外的边缘侧进行数据处理。 作为工业物联网领域的嵌入式解决方案服务商,研华在边缘计算领域已完成全面布局,可根据不同设备及场景控制需求提供多元解决方案。与此同时,研华借助英特尔、AMD、恩智浦、瑞芯微等合作伙伴的先进处理器内核,为各种嵌入式和AIoT应用赋能,以AIoT+边缘计算打开行业发展的重要通道。近日,研华(中国)嵌入式物联网事业群总经理许
[工业控制]
当AI遇上边缘计算,研华以Edge AI推进<font color='red'>嵌入式</font>产业变革
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved