• 首页
  • 产品介绍

    IVOS系统架构

    FuntionCore

    Multimedia

    Audio Manager

    HMI系统(Qt)

    技术文档

  • 研发服务

    仪表液晶显示

    信息娱乐系统

    智能辅助驾驶

    车载总线系统

    SQA品质保证

    嵌入基础软件

  • 新闻中心
  • 公司介绍

    公司简介

    成长历程

    关联公司

    理念和远景

    主营业务

    公司地址

    主要客户

    企业资质

  • 公司招聘

    职业发展

    公司招聘

    联系方式

    留言板

  • 首页
  • 产品介绍 + -

    IVOS系统架构

    FuntionCore

    Multimedia

    Audio Manager

    HMI系统(Qt)

    技术文档

  • 研发服务 + -

    仪表液晶显示

    信息娱乐系统

    智能辅助驾驶

    车载总线系统

    SQA品质保证

    嵌入基础软件

  • 新闻中心
  • 公司介绍 + -

    公司简介

    成长历程

    关联公司

    理念和远景

    主营业务

    公司地址

    主要客户

    企业资质

  • 公司招聘 + -

    职业发展

    公司招聘

    联系方式

    留言板

首页 产品介绍 白皮书 IVOS产品技术文档
IVOS产品技术文档
  • 引言
  • IVOS 开发环境搭建
    集成开发环境搭建
    Qt 开发环境搭建
    Qt 平台及其特性
    Qt 平台及其特性
引言

1885 年德国人卡尔·奔茨发明了世界上第一辆汽车,1913 年美国首先建立起了汽车工业,随后扩展到欧洲、日本直至世界。一开始,汽车工业就以市场广阔、产值高、利润大等优势吸引了众多厂商投资,推助了世界汽车工业的大发展,现在已成为世界上最主要的工业部门。50 年代以前,世界汽车工业主要集中在美国和西欧,1949 年,美国、加拿大和西欧的汽车产量占世界的 95.4%。60 年代后,日本汽车工业飞速发展,后来居上,打破了美欧垄断世界汽车工业的局面,并于 1980 年超过美国,产量达 1104 万辆,跃居世界第一位。1885 年德国人卡尔·奔茨发明了世界上第一辆汽车,1913 年美国首先建立起了汽车工业,随后扩展到欧洲、日本直至世界。一开始,汽车工业就以市场广阔、产值高、利润大等优势吸引了众多厂商投资,推助了世界汽车工业的大发展,现在已成为世界上最主要的工业部门。50 年代以前,世界汽车工业主要集中在美国和西欧,1949 年,美国、加拿大和西欧的汽车产量占世界的 95.4%。60 年代后,日本汽车工业飞速发展,后来居上,打破了美欧垄断世界汽车工业的局面,并于 1980 年超过美国,产量达 1104 万辆,跃居世界第一位。


发达国家发展汽车工业带来的好处,极大地刺激了发展中国家汽车工业的发展,它们纷纷效仿西方的做法,将汽车工业列为国民经济的支柱,重点扶持发展。60 年以来,发展中国家汽车工业发展起来,其中巴西 1985 年的产量达 96 万辆,跃居世界第十位。因此尽管欧美汽车工业相对萎缩,但世界汽车产量却不断增加,已从 1976 年的 3752 万辆增加到 1986年的 4570 万辆。


在我国,90 年代轿车开始进入我们的生活,买私家车成为众多家庭追求的目标。改革开放后,我国经济迅速发展,对轿车的需求越来越强,我国落后的轿车工业根本无法满足这种需求。一时间,外国轿车洪水般涌入我国。1984 年至 1987 年,我国进口轿车 64 万辆,耗资 266 亿元。为了迅速提高中国轿车生产能力和技术水平,我国汽车工业开始走上与国外汽车企业合作、引进消化外国先进技术的发展道路。在经历了近半个世纪的风风雨雨之后,在共和国五十华诞之际,中国轿车终于崛起,迎来了可喜的收获季节,站在了世界腾飞的起跑线上。


经过 100 多年的发展,现代汽车工业已经进入成熟期。在全球范围内,汽车生产能力已形成供大于求的局面。为了进一步争夺世界市场,各大汽车公司试图从不断提高汽车安全性、降低能耗、改善乘坐舒适性和扩大功能范围等方面继续提高产品的竞争力。由于电子技术的迅猛发展,电子控制技术被迅速应用于汽车,利用电子控制技术来改善汽车的操作性能、安全性、方便性、舒适性成为切实可行的解决方案。由此,汽车电子零部件行业发展迅速。


汽车电子零部件产品主要包括两个方面:一是车载电子装置,如 GPS、遥控中央门锁、汽车 DVD、音响、车载通讯等;二是车用电子控制系统,如 ABS(制动防抱死系统)、电子燃油喷射系统等。汽车电子产品在一辆整车上大约可占其成本的 20%-25%,而未来可达到 30%-50%。汽车电子零部件行业已经展现出巨大的市场潜力和美好的发展前景。


此外,汽车智能化上升,越来越多的车企将尖端的 IT 技术运用到汽车上,使汽车的操作性更简单,行驶安全性更好。近五年来,汽车产业领域超过 90%的创新都与汽车智能化系统相关,智能化是未来汽车发展的趋势。汽车智能化被认为是汽车技术发展进程中的一次革命,是夺取未来汽车市场重要而有效的手段。


在这个基础上,车联网(Internet of vehicles)的概念应运而生。传统的车联网定义是指通过装载在车辆上的无线射频等识别技术,实现在信息网络平台上对所有车辆的属性信息和静态、动态信息进行提取和有效利用,并根据不同的功能需求对所有车辆的运行状态有效监管并提供综合服务。


随着车联网技术和产业的发展,车联网的概念也在逐步发生变化。根据车联网产业技术创新战略联盟的定义,车联网是以车内网、车际网和车载移动互联网为基础,按照约定的通信协议和数据交互标准,在车-X(X:车、路、行人及互联网等)之间,进行无线通信和信息交换的大系统网络,是能够实现智能化交通管理、智能动态信息服务和车辆智能化控制的一体化网络。


车联网的发展实际上是汽车从为用户提供传统交通服务的功能时代向为用户提供综合交通信息和车载娱乐服务等的智能化时代转型。从功能性汽车到智能化汽车的发展将会伴随汽车电子化、网络化和自动化三个维度的跃迁,这也是车联网产业生态发展的三个方向。


而智能化产品的核心部件是车载操作系统,它控制各个功能模块,包括网络连接,定位,电话,多媒体等,集计算机多媒体技术、移动通信技术、GPS 技术、网络技术、自动控制技术于一体,提高了车辆的舒适性、娱乐性、安全性、方便性。


现有的车载操作系统主要有车载版 Android,WinCE,Linux,QNX。Android 的优势在 于其平台的开放性,开放的平台能任汽车厂商自由发挥,改善传统车载系统软件应用匮乏及娱乐体验有限等问题。Android 车载操作系统的免提操作和语音命令的识别率高。另外,用户的 Android 智能手机可成为数据中心,能够自动连接到车载系统上,并调用谷歌服务,帮助用户实现更好的导航效果;也能够在汽车上访问云端数据,比如音乐、视频等。


Android 的劣势同样来源于其开放性,开放性导致了 Android 的大量分支,最终导致了市场的混乱和不统一,屏幕分辨率不同、硬件性能和规格不统一等问题。由于 Android 允许第三方市场进入,导致很多恶意软件的出现。另一方面,目前的 Android 车载系统最大的困

境是单任务和多任务的问题,以及引申出来的多个音源的问题。


WinCE 的优势在于微软企业级市场的沉淀和 Windows 自身良好的群众基础。它是在PCWindows 操作系统基础上研发而来的,不管是操作环境,还是操作方法都与 PCWindows操作系统相似,符合大多数用户的操作习惯。WinCE 车载系统在导航方面最为成熟,对硬件要求不高,扩展性和兼容性都不错。WinCE 的缺点是它的娱乐性不是很好,用户在 WinCE系统下没有太多娱乐功能方面的选择,软件资源太少。此外,WinCE 的内核较大,占用过多的 RAM。


Linux 基金会已推出可定制,开源的车载系统平台 Automotive Grade Linux,它的第一个版本已在网上免费提供。可看出 Linux 车载系统偏重于娱乐性,在车载信息娱乐功能部分有很大优势。Linux 车载操作系统的劣势是数字仪表盘、平视显示器、先进驾驶辅助系统和其他功能性安全需求的车载应用上。


QNX 是一种商用的遵从 POSIX 规范的类 UNIX 实时操作系统,相对上述系统来说不太为人熟知。它的优点是图形用户界面 Photon MicroGUI 非常酷,运行速度快。QNX 车载操作系统是市场领导者,主要在于其安全性。但随着用户对娱乐性的需要不断增加,QNX 的缺点就显现出来,由于能在 QNX 下运行的软件不多,因此制约了 QNX 车载操作系统娱乐性方面的体验。


本书介绍的 IVOS(in-Vehicle Operating System)是 ekai 公司自主研发的下一代车载操作系统。主要功能包括定位、消息通知、多媒体、电话等,同时保证了系统的安全性和娱乐性,也解决了多用户问题。

    ...........

查看更多内容

IVOS 开发环境搭建

亿凯自 2012 年起通过在自主知识产权软件研发上的投入和丰富的嵌入式车载信息娱乐系统的研发与应用技术经验,开发出了集安全性、开放性、先进性、娱乐性于一身的车载安全操作系统“IVOS”。该系统支持通过语音、手势交互操作完整控制多媒体娱乐、导航、通话、车体控制、汽车服务等功能。同时,该系统中的车载 APP 应用、地图、服务、数据等模块可不断更新升级,形成车主与车厂、服务商之间可持续维护的良好生态圈。


“IVOS”系统是基于 Linux 开源技术的车载信息操作系统,可导入开源项目,支持标准的HTML5/W3CAPI,可运行基于HTML5的网络应用。系统具备车载总线(CAN/LIN/OBD)处理功能,同时有限度的对互联网进行开放,采用了“严进严出”的策略严格管理数据接入和输出,保证数据通道的私密,可控与安全。在保证安全的前提下通过网络将车载数据、用户信息等和移动互联网进行交互。安全性方面,系统通过强制访问控制的安全模块 SMACK,结合 ROOT 权限的控制、用户空间访问的控制、严格的代码保护机制等安全控制机制,避免车载信息泄露、保护车主隐私、保障行车安全。


IVOS 开发环境搭建是 IVOS 系统开发的第一步,通过本章的学习,掌握应用开发环境和平台开发坏境的搭建方法。应用开发环境搭建包括集成开发环境和 Qt 开发环境的搭建;平台开发环境搭建包括开发工具 Git Build System,构建 IVOS 镜像的命令行工具 MIC,获取 Gerrit 权限,网络代理和源代码下载等。理解并掌握 IVOS 开发工作机制和代码管理方法。

    ...........
集成开发环境搭建

集成开发环境(Integrated Development Environment,IDE)在安装软件开发工具包(Software Development Kit,SDK)后同时搭建好。安装 Tizen SDK 时,可选择网络安装或SDK 映像安装。Linux 下可通过命令行安装 SDK 包。

(1)网络安装

若要使用安装管理器安装 Tizen SDK:

①下载 SDK 安装管理器;

②运行安装管理器,SDK 安装向导随即启动;

③点击 Install,如图 2.1.1 所示;①下载 SDK 安装管理器;

②运行安装管理器,SDK 安装向导随即启动;

③点击 Install,如图 2.1.1 所示;


nr_05.jpg


④选择想安装的内容,并点击下一步;

⑤若接受协议内容,请点击下一步,如图 2.1.2 所示;


nr_08.jpg


⑥选择"SDK home"文件夹,并点击安装,如图 2.1.3 所示。⑥选择"SDK home"文件夹,并点击安装,如图 2.1.3 所示。


nr_10.jpg


SDK 安装可能需要采用管理者权限,安装完成后,SDK 安装向导将会通知用户。这意味着 SDK 已完全安装和配置到用户的计算机上。

(2)SDK 映像安装

①下载 SDK 安装管理器。SDK 映像文件是包文件,其中包含脱机环境所需的所有 SDK 文件;

②运行 SDK 安装管理器,SDK 安装向导随即启动;

③点击“高级”; ④在高级配置窗口,请选 SDK 映像按钮;

⑤点击文件夹按钮,选定 SDK 映像文件,再点击 OK; ⑥点击“安装”; ⑦选择想安装的内容,并点击下一步;

⑧若接受协议内容,请点击下一步;

⑨选择"SDK home"文件夹,并点击安装。

安装完成后,SDK 安装向导将会通知用户,SDK 已完全安装和配置到用户的计算机上。

(3)命令行接口安装

以 Ubuntu 系统为例,在运行 SDK 安装管理器之前,通过下述命令添加可执行权限:

eee.jpg

    ...........
Qt 开发环境搭建

IVOS 操作系统同时支持网络应用(Web App)和本地应用(Native App)。Qt 作为跨平台的 C++图形用户界面库,应用非常广泛,为增强平台扩充性,IVOS 操作系统中导入了Qt。本节主要讲述 Qt 及其特性、讨论 Qt 的安装使用、基于 Qt 的用户界面开发、项目的创 建运行、Qt 本地应用程序的打包及安装等问题

    ...........
Qt 平台及其特性

Qt 是跨平台的 C++图形用户界面库,目的是提供开发应用程序用户界面部分所需的用户界面库,并通过 C++类的形式来实现。Qt 面向对象,很容易扩展,且允许组件编程,是支持多操作系统平台的应用程序开发框架,开发语言是 C++。Qt 最初是为跨平台软件开发人员提供统一精美的图形用户编程接口,现在也提供了统一的网络和数据库操作的编程接口。


Qt 具备很多优秀的特性,特别是 Qt5 增加了很多新模块,大大拓展了 Qt 的功能,且 Qt5 版本支持 Tizen 的开发工作,本节将以 Qt5 为例,主要讲解 QML 以及 PLUGIN。


QML(Qt Meta-Object Language)是一种说明式语言,是用户接口规范和编程语言,为用户在其可视化组件以及组件之间在相互作用联系方面进行描述。QML 是高度可读性语言,为使组件能以动态方式相互连接而产生,允许组件在用户界面中重用及自定义。使用QtQuick 模块,开发人员和设计人员可很方便地使用 QML 语言创建流体动态用户界面,且拥有连接这些用户界面到任何后端 C++库的选项。


Qt QML 模块通过使用 QML 语言为开发应用程序和应用程序库提供了框架。它定义语言并实现,提供 API,使应用程序开发人员可扩展 QML 语言定制类型,并使用 JavaScript 和C++集成 QML 码。QML 模块不仅提供 QML API,还提供 C++API。


Qt QML 模块为 QML 应用程序提供语言架构,同时 Qt Quick 模块为创建用户界面提供可视化组件,模型-视图支持以及动画架构等。


除了 QML,IVOS 还有特有组件,即插件 Plugin(Qt 多媒体,免提电话,空调,收音机等等)


Qt PLUGIN 作为 IVOS 特有组件,在 Qt 系统中有着很大功能,具体包含以下几点:

(1)提供面向 QML 的接口机制;

(2)方便模块化应用程序;

(3)支持运行时动态加载;

(4)获取系统级应用的服务。


Qt QML 与 Qt PLUGIN 虽然只是 Qt 的两种特性,但这两个工程模块之间也有一定的相互作用。Qt QML 工程模块和 Qt PLUGIN 工程模块之间通过 API 和发出的通知回执相互作用,双方关系如图 2.2.1 所示。


nr_17.jpg


Qt 是跨平台 C++图形用户界面应用程序开发框架,作用是开发跨平台 C++图形用户界面应用程序。Qt Creator 则是 Qt 的集成开发环境。Qt Wayland 是封装了 Wayland 功能的 Qt 5模块,Wayland 的作用是定义内核通讯,提供机制,Wayland 本身是协议。


Qt Creator 是一种支持 Qt 的集成开发环境。它可提供工具使用户能设计 Qt 应用程序,开发 Qt 应用程序框架。Qt 一次开发应用程序和用户界面,接着展开到多个桌面和移动操作系统。Qt Creator 为用户提供工具,使用户完成从创建项目到将应用程序配置到目标平台的整个应用程序生命周期的任务。


Qt Creator 旨在使 Qt 开发更容易,但除了基本的 Qt 开发工具(Qt Designer, Qt Assistant, qmlscene 等),也可使用别的开发环境(MS Visual Studio)或仅使用编辑器和命令行进行开发。Qt Creator 的主要优点是:允许一组开发人员在不同的开发平台通过相同的开发调试工具共享开发项目。


安装完 Qt Creator 之后可直接在安装程序的最后一页通过选择选项开始运行。可从 Qt Creator 直接使用很多开发工具,比如 GUI designers, 编译器和调试器,也可访问安装和示例应用程序。


Qt Wayland 是一种 Qt5 模块,封装 Wayland 的功能。Qt Wayland 分为客户端和服务器端。客户端是 Wayland 平台插件,提供函数来运行 Qt 应用程序作为 Wayland 客户端;服务器端是 Qt 合成器 API,允许用户编写自己的合成器。

    ...........
Qt 平台及其特性

(1)Qt5 安装

①Qt5 下载地址为:http://download.qt-project.org/official_releases/qt/5.0,选择“Qt 5.3.1 for Linux 32-bit”版本,文件名是“qt-opensource-linux-x86-5.3.1.run”;

 ② 进 入 qt-opensource-linux-x86-5.3.1.run 目 录 下 , 修 改 文 件 权 限 : chmod u+x qt-opensource-linux-x86-5.3.1.run;

 ③打开安装界面:/qt-opensource-linux-x86-5.3.1.run;

④图形化界面安装;

⑤select all(选择全部);

⑥选择 LGPL 协议,安装即可。


(2)配置 Qt Creator

①设备(device)准备

默认“app”用户(用于开发)没有密码,如果想连接使用 ssh 需要为用户创建密码:


nr_20.jpg


若想无密码开始工作,复制公钥:


nr_22.jpg


还需要在设备上安装 Qt 库:


nr_24.jpg


②把设备连接到 Qt Creator

a)进入 Tools-Options;

 b)在 Build&Run 里,添加相应的 Qt 版本。接着添加新的组件(Kit),在添加新的组件(Kit)时先设置以前添加的 Qt 版本,接着根据编译器在 Tizen SDK 或主编译器设置交叉编译器以防如果设备和主机架构相同,在调试器里进行与编译器同样的设置,根据设备类型设置通用的 Linux 设备。单击设备部分的“管理”按钮添加通用的 Linux 的设备,单击添加,选择通用的 Linux 设备。在装置对话框设置名称(如 Tizen NUC),设备的 IP,用户名登录使用 SSH 和密码或密钥认证。添加设备后 Qt Creator 将测试连接是否正常;

c)创建新的测试项目。第一步 File->New File or Project->Qt Quick Application,接着选择的名字和目录,下一步,检查之前创建的组件,请单击“完成”。编辑*.pro 文件并在include(deployment.pri)前添加 target.path = /home/app/temporary/deploy。这样就可构建和运行Qt Creator 装置中的应用。如果有调试器也应该能调试应用程序。


    ...........

查看更多内容

  • 公司介绍
    公司简介
    成长历程
    关联公司
    理念和远景
    主营业务
    公司地址
    主要客户
    企业资质
  • 产品介绍
    IVOS系统架构
    FuntionCore
    Multimedia
    Audio Manager
    HMI系统(Qt)
    技术文档
  • 研发服务
    仪表液晶显示
    信息娱乐系统
    智能辅助驾驶
    车载总线系统
    SQA品质保证
    嵌入基础软件
  • 公司招聘
    职业发展
    公司招聘
    联系方式
    留言板
Copyright @ 2014 - 2015 Shanghai eKai Information Technology LTD. 沪ICP备17003649号-1
感谢您申请查看,请提交您的姓名,公司名称以及您的邮箱地址,待我们得工作人员审核后联系您