HMI Technology
QNX® 软件系统公司提供了一套功能全面的工具,便于快速开发视效丰富、性能出色的嵌入式图形程序。它以统一应用平台理念为基础,这种平台支持目前最先进的人机界面(HMI)技术,而且易于扩展吸收新技术。
经 QNX 优化的 Adobe Flash 端口和 QNX 类库为应用程序提供了一个功能强大的运行环境。而且 QNX 合成管理器能确保在多种语言和环境下混合匹配应用程序,从而能使本机 C/C++、Flash 和 HTML 应用程序共享屏幕的实际使用面积。目前,QNX 软件系统公司的人机界面技术栈支持:
- 采用 OpenVG 硬件加速渲染的 Adobe Flash Lite 4
- HMTL5
- 本机 OpenGL ES 应用程序
- 本机 2D 应用程序
- 视频播放
- 应用程序商店
- 通过合成管理器实现的多程序图形合成
- 采用生命周期管理的程序框架,便于创建独立的嵌入式应用程序
- 提供能从人机界面层(ActionScript 或 JavaScript)访问原生码库和操作系统服务的多个界面
- 优化减少系统资源占用,使内存使用达到最佳状态
统一应用平台
QNX 人机界面技术支持采用相同平台的多种人机界面技术,便于开发人员选择最适用的技术,确保能直接吸收未来的开发成果。
品质卓越、引人注目的产品
开发人员能使用业界知名的 Adobe Creative Suite 4 环境轻松创建迄今为止最酷的图形界面。
可靠性
所有的 QNX 人机界面技术都是采用 QNX® Neutrino® 实时操作系统开发的,因此它们继承了该平台出色的可靠性。
上市时间
QNX 软件系统公司支持 Adobe Flash,因此开发团队无需对人机界面重新编码就能直接从图形原型开发转到成品设计,并在桌面上测试整个人机界面,然后不必重新设计就能在嵌入式目标机上运行相同的内容。
包罗万象的智库
由于能使用 Adobe Flash 或 HTML5 等人机界面技术,嵌入式开发人员就能利用业内标准的人机界面代码、功能强大的开发人员社区、代码实例、程序库、工具套件和培训材料。
原生码接口
QNX 人机界面技术允许开发人员通过人机界面开发语言(如 ActionScript 或JavaScript)获取原生码,以实现对操作系统服务、指定优化、多线程或原生码库的访问。
应用程序商店技术
开发人员可利用 QNX 软件系统公司的应用程序商店技术为最终客户创建一种能灵活扩展软件产品的系统。
跨平台兼容性
Adobe Flash 应用程序天生就具备跨平台兼容的特性:利用 QNX 人机界面技术开发的 Flash 程序能在其他任何 Flash 环境中播放,而且使用 QNX Flash 播放器不必修改内容就能运行目前大部分的 Flash 程序。
QNX® 人机界面技术提供了“鱼与熊掌兼得”的优势——即 Adobe Flash 具有的快速开发和高级图形功能,以及原生码必要时能发挥的出色性能。
Flash 可能是目前功能最强大的跨平台人机界面开发工具。QNX 支持最新的 Adobe 嵌入式产品 Adobe Flash Lite 4,它允许用户使用最新和最完善的 Flash 程序及内容。
QNX 软件系统公司已移植了 Adobe Flash 引擎,并在嵌入式环境中增加了许多优化功能以发挥最佳性能,例如:
- OpenVG 硬件加速渲染
- 快速卷动与离屏位块传输管理
- 视频编解码器硬件加速
支持的编程功能
- 运行面向 Flash 10 或更早版本开发的 Flash 内容
- ActionScript 1.0、2.0 或 3.0 版
- XML——套接字、解析、字串/数组/XML-本机-对象转换
- 视频流畅化与去马赛克处理
支持的多媒体
- PCM 与 ADPCM
- 支持嵌入式 MP3
- 使用外部编解码器支持动态载入多媒体文件
支持的图像与视频
- PNG、JPEG、GIF、BMP、SGI、TGA、动态 GIF(在制作过程中)
- 使用 On2 或 Sorenson 编解码器的 Flash 视频(FLV)
Flash Lite 功能
- 通过个人消息服务获取设备的特定功能
- 减少运行内存消耗
- 自如地应对内存不足的状况
其他功能
- 支持 X 射线调试
- 可优化 ActionScript 补间动画的 Caurina 补间动画引擎库
- SWF 文件压缩
- 适用于 ActionScript 类别原生码实现的扩展应用程序接口
- 支持统一码
应用程序框架是一组根据 Flash原有功能扩展的 ActionScript 3(AS3) 类别。它提供了范围广泛的应用程序服务和完整的应用程序运行环境,从而能确保迅速开发始终运行一致的程序。
应用程序框架为 Adobe Flash 引擎增加了以下功能:
- 应用程序生命周期管理
- 应用程序数据持久化
- 状态栏、导航栏、图标徽章、墙纸
- 屏幕布局与尺寸修改管理
- 专用控件(如滚动列表、软键盘和对话)
- 底层人机界面与操作系统服务的接口
- 用于访问原生码的扩展组件
HTML5 是 Web 2.0 的 完美体现:它提供了在网页内创建功能全面的动态程序所需的一切工具,从而扩展了常用的静态 HTML。QNX 使用的最新 Webkit 端口支持许多目前拟用的 HTML5 功能。
像 JNEXT 这样的扩展组件可用于弥补 JavaScript 与本机环境的差距,确保开发能与浏览器以外的资源进行交互的 HTML 嵌入式程序。HTML5 渲染引擎可作为浏览器与浏览器程序一起使用,也可添加到需要显示 HTML5 内容的应用程序中。
QNX 支持所有标准的 HTML4 功能。QNX 支持的最新 HTML5 功能包括:表单
|
|
|
元素
|
|
|
属性
|
|
|
规范
|
|
|
与 QNX Neutrino 实时操作系统一起提供的合成管理器,允许开发人员将多个窗口和进程(Flash、原生码程序、浏览器)的输出内容合并到单独的显示画面中,即使用了不支持硬件分层的低成本图形管理器也能完成。
这种合成管理器支持硬件显示层和软件仿真显示层,而且能确保在视频与 flash 内容中轻松创建透明孔。
QNX 合成管理器能使应用程序控制子进程窗口(如可控制内含浏览器或 3D 虚拟程序的环绕人机界面窗口)的合成。子进程窗口还可进行各种变换,包括移动、按比例放大/缩小、旋转和透明化。
通过多个功能强大的应用程序接口可绘制简单的 2D 图形:
- OpenVG
- SKIA
- 图形框架(QNX 专用)
通过 OpenGL ES 应用程序接口可绘制 3D 对象。
QNX 软件系统公司支持视频编解码器播放,这对播放录制的视频文件、多媒体、IP 视频流和 DVD 很重要。
它支持的视频格式包括 MPEG-4、MPEG-2、H.264、H.263、DVD-V 以及 Flash 专用格式 On2 和 Sorenson。
QNX 软件系统公司提供的技术堆栈适用于所有纵向市场,如 汽车制造或工业。
这些堆栈提供的预集成技术允许任意组合功能全面的系统。
汽车制造
利用 QNX 人机界面技术开发的QNX CAR 应用平台为汽车制造业增添了资讯娱乐功能,其中包括 Virtual Mechanic、谷歌本地搜索、语音识别、气候调节、语音系统控制和商务预约计划等。在 QNX CAR 中应用的相同技术也使 QNX 与阿尔卡特-朗讯公司共同开发的“连接 LTE 网络互联的车载娱乐设备”(LTE Connected CAR)成为“下一代连接项目”( ng Connect)的一部分。
工业
QNX 智能能源参考设计展示了如何创建一种智能能源控制面板,帮助屋主利用家庭局域网、Zigbee 无线传感器、IP 视频流以及连接因特网和公用事业公司网络,实现对房屋及能源使用的完全控制。
未来发展
QNX 软件系统公司始终专注于对其他垂直堆栈进行定制化,以将人机界面解决方案推广应用到其他市场。如想了解最新发展成果,可访问 Foundry27.com。
QNX 提供了两种获取原生码的基本方法。
永久性发布/订阅(PPS)
永久性发布/订阅提供了一种在 ActionScript (Flash) 或 JavaScript (HTML5)中,对 C/C++ 服务和 HMI 代码进行异步连接的机制。PPS 发布者通过分级的 POSIX 命名空间提供连接系统其余部分的界面。每个人机界面环境都提供了界面组件以确保用户能订阅 PPS 服务。
PPS 具有以下特征:
- 对象属性——PPS 发布的对象包括多种属性,属性可以单独更新。
- 数据模式——可以完整收到(用户获得所有写入对象的内容)或以通知的方式(用户只会在属性数值更改时得到通知)收到 PPS 对象的更改内容。
- 相同对象的多位发布者——多位发布者可针对相同的对象进行发布,每位发布者可“拥有”一组不同的对象属性。例如,在多媒体系统中,一个组件可能是“时间::数值” 属性的来源,而人机界面可能是“期限::数值”属性的来源。
- 多用户——PPS 用户可订阅多个对象,而 PPS 对象也可以有多位用户。当发布者更改对象时,所有订阅该对象的用户都会收到更改通知。
- 推进与拉动——QNX PPS 默认以推进式发布系统的方式运行。但它同时允许用户从发布者那里提取数据,从而确保按需求进行发布。
- 可靠储存——可依据属性特征将 PPS 对象持久储存在某种属性中。
本地扩展
QNX 为人机界面环境提供了能载入并直接调用用户提供的 C/C++ 共享对象的方法。而对于 Flash,则是通过 ActionScript 扩展平台 (ASE)提供这种方法的;HTML5 使用的是 JNEXT。用户可在两种环境里定义脚本语言中的接口类别,并提供该类别的 C 或 C++ 实现。来自脚本引擎的调用会随后被转入本地 C/C++ 代码,以允许访问硬件资源、线程、操作系统基元、操作系统服务和中间件。
QNX 人机界面技术仍在不断完善和发展,它构成了 QNX CAR 应用平台的基础。如想了解更多最新进展,或想下载试用我们最新重要成果,请访问 Foundry27 网站完成注册并参与 QNX CAR 项目。
同时参见:QNX CAR 项目

