汽车云端主题的实现与应用

news2024/11/26 22:51:31

主题指的是车载电子中,如仪表,IVI等跟视觉相关的显示设备、包括车身,在不同的自定义模式下的不同显示表现。我们也可以把它理解成为皮肤。

传统的车身皮肤(别克ELECTRA E5)

传统主题的特点

固定,单一,可选择性有限,非定制。

传统主题的开发中,需要分别对各个主题的不同表现、不同配色、不同icon进行单独的、合理的预制,结合预制的UI、UE,形成嵌入式软件包,以预制件的形式集成到嵌入式软件包中,用户在客户端只可选择单一、有限的主题。

云端主题的诞生

传统车载电子产品在未接入云服务前,只支持内置的自定义主题,用户只能选择已内置好的主题。随着车联网时代的到来,也催生了一种新的软件更新升级方式,它叫做OTA。云端主题则是依托于OTA下的换肤功能,我们也可以称之为在线换肤。

云端主题在车厂,OEM,甚至终端用户之间拥有完美的需求链路,终端用户可以根据自己的需求和喜好同车厂以及OEM进行合理定制,以在线换肤的方式,完成定制化主题的完美切换。

云端主题的实现

针对云端主题的实现,怿星科技基于kanzi图形引擎,在液晶仪表开发平台,开发了一套完善的云端主题实现方案。

01 实现方案

UE模块接收IVI侧的主题切换申请,设计一个主题切换插件,接收UE逻辑模块发来的切换主题的消息通知,完成Kanzi中的主题切换;同时在主题切换后发送相应通知给到UE逻辑模块,主题切换完成。

当IPC侧准备主题切换时,交互层将需要准备切换的主题名称,通过Event的方式发送至UI客户端。加载主题资源结束后,UI 客户端会以UI Action的方式将结果通知交互层。

当切换主题时,交互层需将需要切换的主题名称,通过UI 事件的方式发送至UI 客户端。该UI事件的参数名为主题kzb的名称,同时也是主题kzb中包含的主题名。切换主题操作结束后,UI客户端会以UI Action的方式通知交互层。

02 定制化运营(主题包制作)

1. 定义云端主题工程名称。

2. 遵循云端主题制作原则,定义主题组名称。

3. 定义主题内容。

在Theme中新建一个主题,设置主题名,且保证所有的云端主题不重名。在该主题中定义resource id(需与模板定义中的resource id一一对应)和对应的资源(这些资源存在于云端主题Kanzi工程中)。举例:模板资源,resource id为color_common_general_text,资源为Brushes/Blue。

4.导出主题kzb

在Kanzi顶部菜单中选择 File->Export -> Export KZB, 就可以导出最终的主题包。

云端主题的应用

仪表+IVI

当下主流的液晶仪表,IVI娱乐系统,已内置搭载网络设备,借助云端服务器,可实现仪表多主题以及IVI娱乐系统的完美换肤和联动。

HUD+仪表+IVI

HUD即抬头显示,主要把时速、导航等重要的行车信息,投影到驾驶员前面的风挡玻璃上,让驾驶员尽量做到不低头、不转头就能看到时速、导航等重要的驾驶信息。云端主题也可通过借助云端服务器,实现HUD+仪表+IVI三屏换肤与联动。

云端主题的应用能给用户带来更多的驾驶体验,而不同界面的皮肤还有助于缓解驾驶疲劳,带来视觉惊喜,在汽车智能化时代具有重要意义。本期关于云端主题的分享就到此为止,还有其他感兴趣的内容,也欢迎大家留言分享。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/662476.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用Flow发送企业应用的通知到微信里

今天我们以kintone作为企业应用管理平台来解释,怎么使用flow发送企业的通知到微信上。 完成后的样子 1.Microsoft Flow响应kintone添加记录的Webhook。 2.Microsoft Flow向微信发送消息。 微信是什么? …

【Leetcode60天带刷】day13栈与队列—— 239. 滑动窗口最大值,347.前 K 个高频元素

题目: 239. 滑动窗口最大值 给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回 滑动窗口中的最大值 。 示例 1: 输入&#xf…

Git进阶系列 | 1. 创建完美的提交

Git是最流行的代码版本控制系统,这一系列文章介绍了一些Git的高阶使用方式,从而帮助我们可以更好的利用Git的能力。本系列一共8篇文章,这是第一篇。原文:Creating the Perfect Commit in Git[1] Git中的提交可以是以下两种情况之一…

jenkins下载gitlab自动化用例并每日批跑

1.安装Jenkins ---待补充 2.安装用例执行节点(虚拟机) 用例执行的虚拟机,需要安装python环境与依赖包(自动化脚本依赖包),需要申请外网权限(安装python依赖需要外网)。执行机需要挂…

四大技巧,教你如何加速手动UI测试

用户界面测试(UI测试)是软件开发过程中的一个重要组成部分。单元测试和集成测试可以确保代码正常运行,UI测试则帮助您确保用户在使用过程中获得最佳体验。这些测试有一个共同的挑战——创建和维护可能非常耗时,尤其是手动测试。 …

vscode配置远程linux开发环境

vscode配置远程linux开发环境 1. linux 要运行sshd服务2. 在vscode上安装Remote Development插件3. 配置远程linux主机的信息4. 远程连接linux 1. linux 要运行sshd服务 使用命令,查看 22端口是否被监听,这个端口是远程连接软件所用到的端口 netstat -…

mysql8.0版本降到5.7版本(下载配置mysql5.7压缩包版本)

目录 一、前言 二、官网下载与解压 三、配置环境变量 四、检查测试当前MySQL版本 五、获取资源 一、前言 在部署项目的时候,有时候8.0版本的MySQL就会报错,这个时候就要换MySQL的版本了,5.7的版本还是比较稳定的。 二、官网下载与解压…

短视频账号矩阵系统sign解密流程(开发)

PHP加密后直接用这个PHP解码如何解密? IOC 控制反转 把创建对象过程交给spring进行管理,降低耦合度 底层原理 xml解析、工厂模式、反射 过程: 使用xml创建对象 使用xml解析技术解析 通过反射创建对象 Class clazz Class.forName(解析出来…

Unity:Gizmos 菜单

推荐:将 NSDT场景编辑器 加入你的3D工具链 3D工具集: NSDT简石数字孪生 Gizmos 菜单 Scene 视图和 Game 视图都有 Gizmos 菜单。 单击 Scene 视图或 Game 视图的工具栏中的 Gizmos 按钮,即可访问 Gizmos 菜单。 “场景”视图中的“辅助图标”…

(提升篇)函数栈帧的创建和销毁

函数栈帧的创建和销毁 1.前言2.预备知识2.1什么是栈帧2.2什么是栈2.2常见的寄存器2.3常见的汇编指令 3.函数栈帧创建和销毁的过程3.1为main函数创建栈空间3.2main函数中创建变量3.3给Add函数传参3.4调用Add函数3.5为Add函数创建栈空间3.6计算3.7把计算好的值返回 1.前言 本章节…

【C/C++数据结构与算法】C语言函数栈帧

目录 一、源代码理论分析 二、主函数的创建 三、c语言代码的汇编 注:不同编译器环境的函数栈帧存在一定差异,本文使用VS2019 一、源代码理论分析 源代码: int Add(int x, int y) {int z 0;z x y;return z; }int main() {int a 10;…

Springboot分布式事务

一、先了解什么是本地事务 1. 概念 本地事务是指事务的参与者、支持事务的服务器、资源服务器以及事务管理器位于同一节点相同数据库上。 又称为传统事务。它是一个操作序列,这些操作要么都执行,要么都不执行,是一个不可分割的工作单位。例…

【LeetCode】HOT 100(16)

题单介绍: 精选 100 道力扣(LeetCode)上最热门的题目,适合初识算法与数据结构的新手和想要在短时间内高效提升的人,熟练掌握这 100 道题,你就已经具备了在代码世界通行的基本能力。 目录 题单介绍&#…

英特尔发布12Q CMOS量子芯片

光子盒研究院 今天,英特尔公司发布了一种在主流CMOS工艺技术上构建的具有12个量子比特的量子芯片——Tunnel Falls。 Tunnel Falls测试芯片栖息在指尖上 Tunnel Falls量子芯片由12个量子点(或单电子晶体管)构建,可配置4至12个基于…

嵌入式 QT usb camera库驱动摄像头

目录 前言 ​编辑 1. 交叉编译 ffmpeg 1.1 先拿到ffmpeg的压缩包 1.2 把ffmpeg源码复制到虚拟机,并解压压缩包 1.3 解压之后我们要进入到解压文件中进行编译成库 1.5 make 1.6 make install 2.usbcame库使用 2.1 获取usbcame库并解压 2.2 解压完成后我们…

zabbix-3-agent安装

1.CentOS release 5 1-1.centos5 32位 [rootLV zabbix]# cat /etc/redhat-release CentOS release 5 (Final) [rootLV zabbix]# uname -a Linux LV 2.6.18-53.el5xen #1 SMP Mon Nov 12 03:26:12 EST 2007 i686 i686 i386 GNU/Linux确定了系统centos5 32位rpm方式安装&#…

【深度学习】3-1 神经网络的学习- 学习基础/损失函数

学习基础 神经网络的学习。这里所说的“学习”是指从训练数据中自动获取最优权重参数的过程。 神经网络的特征就是可以从数据中学习。所谓“从数据中学习”,是指可以由数据自动决定权重参数的值。 数据驱动 数据是机器学习的命根子。从数据中寻找答案、从数据中发…

接口测试框架之APIAutoTest框架

目录 前言 框架简介 框架介绍 框架技术栈图 框架组件图 框架执行流程图 测试用例设计 测试报告 结语 前言 APIAutoTest框架是一款基于Python语言和unittest框架的API自动化测试框架。它可以帮助测试人员快速搭建API测试环境,并通过代码自动化实现API的测试…

每年降本100万元+!企业研发管理可以这样做....

随着市场的定制化需求越来越多,非标设计越来越多;订单交付周期要求短,导致设计人员的设计周期进一步压缩,设计准确率的重要性进一步提升,这些都对企业研发管理提出了更严峻的挑战。 本期干货内容分享 装备制造企业研发…

计算机网络基础学习指南

前言 计算机网络基础是研发/运维工程师都需掌握的知识,但往往会被忽略。 今天,我将对计算机网络基础学习进行详细阐述,涵盖 TCP / UDP协议、Http协议、Socket等,希望你们会喜欢。 1、计算机网络体系结构 1.1 简介 定义 计算机…