一站式HMI软件开发套件eStation,让开发更简单高效

2024-05-09 18:12

本文主要是介绍一站式HMI软件开发套件eStation,让开发更简单高效,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

4月份举办的北京国际车展上全球首发车117辆,新能源车型278个,越来越多的车厂通过差异化和改善UI/UE体验,来获取更多用户的青睐。为快速响应差异化竞争需求,智能座舱HMI市场遇到以下挑战:

  • 如何兼容不同项目开发人员编程习惯及能力?
  • 如何在原有的积累下兼容新的UI工具(如Unreal、Cocos等)?
  • 如何让软件以较小的修改来产生更多的差异化?
  • 如何实现软硬分离?
  • ……

怿星科技发布的eStation开发套件具备兼容性、解耦、标准化模块和高维护性的特点,能够有效应对上述挑战,助力工程师提升开发、代码调试效率、避免输出非健壮代码。

eStation开发套件是基于EPT eFramework框架的Model Based Application Development Kit。eStation以开发为中心,衍生覆盖需求,架构,模块,信号,代码生成,测试管理,集成发布,质量交付的全流程开发与管理套件。包含eFramework,ePlugin,eToolkit,eTester,eDesk五大部分。

01.eFramework平台化开发框架

eFramework定义了座舱开发的UI显示层、UX交互层、Function业务逻辑层和数据解析层。每一层之间通过抽象的键值对作为通信接口,四层完全分离、且可以随意组合灵活部署,如下图:

向上兼容 适应性强:UI显示层可支持使用Kanzi、Unreal、Cocos和Qt等UI工具开发,实现了向上兼容多种工具的需求。使车厂能复用同一套UE、业务逻辑的情况下,更好地选择合适的UI工具,实现更好的渲染效果。

方便复用 包容性强:数据解析层通过适配器的方式,把各种数据来源,统一转换为怿星的标准键值对定义。通过这种方式,eFramework隔离了底层不同车厂、Tier1的数据差异,使UE和Function业务逻辑能被很好地复用。借助eFramework,车厂可以更好地选择Tier1,更好地实现做差异化。

同时,eFramework针对智能座舱场景进行优化,对性能、数据传输效率、异常保护等问题做了大量优化,也得到了多个量产项目的成功验证。

02.ePlugin标准插件集

ePlugin集成了怿星在智能座舱HMI多年积累下来的插件,包括动态车道线、序列帧动画、视频流渲染、数据统计等插件。ePlugin所有的插件都是按照标准化接口和规范开发的插件集,是跨UI工具的标准插件集,可以以插件形式为客户提供快速解决技术难点的能力。

03.eToolkit开发工具集

eToolkit包含eSimulator、eWatcher、eLogger等工具,致力于让整个座舱开发过程更高效。我们在开发过程中,往往会因为等待依赖方的功能实现而导致工作阻塞,eSimulator使开发者能够在eFramework的每两层之间发送模拟数据,使任意一层的开发者可以脱离依赖方独立开发。为了提高调试效率,eToolkit中还提供了eWatcher,eLogger工具。eWatcher可以让开发者能通过web的方式看到当前程序运行中四层接口变量的实时值,从而快速定位问题出现的位置;eLogger可以帮助采集每一层接受和发送的数据和时序,并提供Log查看和回放的功能。借助这些工具,开发和Debug效率能得到很大的提升。

04.eTester测试工具集

为开发和测试提供了快速验证的能力。开发和测试任意可以使用eUnitTest,对模块的每一层按照测试用例定义输入值和期望的输出值,最终使用eUnitTest自动运行用例,验证代码是否按照期望的结果执行。

05.eDesk开发管理系统

上述eFramework,ePlugin,eTester,eToolkit四大部分均为标准化的设计,为了形成完整的闭环,怿星开发了eDesk,对标准化模块和研发过程进行全流程的管理。eDesk从上传需求文档开始,进行需求分解录入,接口跟进需求进行设计,根据需求把信号和接口对接,并根据关联的需求生成测试用例,所以在eDesk中,不管是开发还是测试,都和需求完全关联起来了。通过eDesk,可以很快地看到开发对需求的覆盖率及测试对需求的覆盖率,及时发现风险和问题。同时,eDesk还对标准化的信号连接代码、自动化测试代码实现自动生成,减少重复代码撰写的工作量,提升整体效率。

最终,eStation套件不但解决了对UI工具的兼容和对不同车厂、Tier1数据的数据兼容,还通过插件、工具及自动化的方式,全面提升智能座舱开发效率,助力客户使用更少的时间创造更大的竞争力。


十年磨砺锋刃出,蓄势待发正当时,2024年是怿星科技潜心沉淀的第十个年头,公司将持续聚焦智能汽车软件新基建,紧密围绕汽车软件研发过程中的难点问题,不断开发新产品,以新质生产力助力汽车软件行业高速发展。

这篇关于一站式HMI软件开发套件eStation,让开发更简单高效的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/974127

相关文章

使用DeepSeek API 结合VSCode提升开发效率

《使用DeepSeekAPI结合VSCode提升开发效率》:本文主要介绍DeepSeekAPI与VisualStudioCode(VSCode)结合使用,以提升软件开发效率,具有一定的参考价值... 目录引言准备工作安装必要的 VSCode 扩展配置 DeepSeek API1. 创建 API 请求文件2.

使用Python实现高效的端口扫描器

《使用Python实现高效的端口扫描器》在网络安全领域,端口扫描是一项基本而重要的技能,通过端口扫描,可以发现目标主机上开放的服务和端口,这对于安全评估、渗透测试等有着不可忽视的作用,本文将介绍如何使... 目录1. 端口扫描的基本原理2. 使用python实现端口扫描2.1 安装必要的库2.2 编写端口扫

Oracle查询优化之高效实现仅查询前10条记录的方法与实践

《Oracle查询优化之高效实现仅查询前10条记录的方法与实践》:本文主要介绍Oracle查询优化之高效实现仅查询前10条记录的相关资料,包括使用ROWNUM、ROW_NUMBER()函数、FET... 目录1. 使用 ROWNUM 查询2. 使用 ROW_NUMBER() 函数3. 使用 FETCH FI

在C#中获取端口号与系统信息的高效实践

《在C#中获取端口号与系统信息的高效实践》在现代软件开发中,尤其是系统管理、运维、监控和性能优化等场景中,了解计算机硬件和网络的状态至关重要,C#作为一种广泛应用的编程语言,提供了丰富的API来帮助开... 目录引言1. 获取端口号信息1.1 获取活动的 TCP 和 UDP 连接说明:应用场景:2. 获取硬

利用Python编写一个简单的聊天机器人

《利用Python编写一个简单的聊天机器人》这篇文章主要为大家详细介绍了如何利用Python编写一个简单的聊天机器人,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 使用 python 编写一个简单的聊天机器人可以从最基础的逻辑开始,然后逐步加入更复杂的功能。这里我们将先实现一个简单的

基于Python开发电脑定时关机工具

《基于Python开发电脑定时关机工具》这篇文章主要为大家详细介绍了如何基于Python开发一个电脑定时关机工具,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 简介2. 运行效果3. 相关源码1. 简介这个程序就像一个“忠实的管家”,帮你按时关掉电脑,而且全程不需要你多做

Python实现高效地读写大型文件

《Python实现高效地读写大型文件》Python如何读写的是大型文件,有没有什么方法来提高效率呢,这篇文章就来和大家聊聊如何在Python中高效地读写大型文件,需要的可以了解下... 目录一、逐行读取大型文件二、分块读取大型文件三、使用 mmap 模块进行内存映射文件操作(适用于大文件)四、使用 pand

高效管理你的Linux系统: Debian操作系统常用命令指南

《高效管理你的Linux系统:Debian操作系统常用命令指南》在Debian操作系统中,了解和掌握常用命令对于提高工作效率和系统管理至关重要,本文将详细介绍Debian的常用命令,帮助读者更好地使... Debian是一个流行的linux发行版,它以其稳定性、强大的软件包管理和丰富的社区资源而闻名。在使用

Java中的Opencv简介与开发环境部署方法

《Java中的Opencv简介与开发环境部署方法》OpenCV是一个开源的计算机视觉和图像处理库,提供了丰富的图像处理算法和工具,它支持多种图像处理和计算机视觉算法,可以用于物体识别与跟踪、图像分割与... 目录1.Opencv简介Opencv的应用2.Java使用OpenCV进行图像操作opencv安装j

使用IntelliJ IDEA创建简单的Java Web项目完整步骤

《使用IntelliJIDEA创建简单的JavaWeb项目完整步骤》:本文主要介绍如何使用IntelliJIDEA创建一个简单的JavaWeb项目,实现登录、注册和查看用户列表功能,使用Se... 目录前置准备项目功能实现步骤1. 创建项目2. 配置 Tomcat3. 项目文件结构4. 创建数据库和表5.