草庐IT

远程升级技术在汽车智能网联系统中的运用

SAUTOMOTIVE 2023-07-30 原文

本文由田端祥,段晖,陈洁,邹伟乐联合创作

摘要

在新的时代背景下,社会经济不断发展,与之汽车数量呈现出递增式的增长。汽车数量的不断激增,带来的是技术的不断革新,车辆配置技术日臻强大,进而使得驾驶者、汽车、互联网三方实现互联,从而进一步使驾驶者的驾驶体验更优,而这也是汽车行业当前发展的重要方向。基于此,本文针对汽车智能网联系统中远程升级技术的原理和运用展开相关探讨研究。

0 引言

汽车作为日常生活中最常见的交通工具,早已成为每个人日常生活中不可或缺的一部分。随着客户市场需求的提高,汽车零部件的应用和升级变得愈加关键,其智能化水平对车辆的竞争力也有着直接的影响。车辆智能系统的配件越来越多,对应着它的升级障碍和维护成本都有所提升,同时,也导致了汽车用户对智能互联系统升级换代的需求愈发变高。所以,现阶段远程升级技术在汽车智能网联系统中的实现和应用变得越来越关键。

1 汽车智能网联系统的基本概述

互联网时代汽车领域的发展是基于互联网大数据,车与司机的互动,现阶段车辆一般都配备了智能网联系统,但远程升级系统依旧不完善,因此,智能网联系统的远程升级俨然已经成为汽车厂商的核心竞争力。我国智能网联系统的发展相对较晚,早期智能网联系统的设备多以 2G 和 3G 通信技术为主,此方法主要是基于蜂窝移动网络和云管理平台的交互进行通信。目前,4G 通信技术还不能进行司机、汽车、实时路况三要素的交互,至少此项技术在现阶段还没有被完成。截至 2017 年,4G 互联网技术仅应用于车载终端,但是其发展速度较快,现如今,4G 通信技术的已经全面应用于各个领域,并且伴随 5G 技术的实施推进,智能网联系统将在不同汽车品牌的中高端汽车领域得到运用和推广,并且服务和实践汽车的整个生命周期。如今伴随互联网、大数据时代的到来,汽车用户对车联网系统的要求愈来愈高,智能网联系统亟需更新、完善、修复、升级现有的技术,以此使得汽车用户的需求得到满足。目前,我国在汽车领域的智能网联系统现趋于完结,并已实现该领域的高质量迅速发展,汽车设备的技术支持、产品更新、后期维护也随之完备,但是,智能网联系统的升级和云服务平台的搭建还需要进一步成形、应用、推广,目前来说还是相对落后薄弱一些,急需加强。

2 远程升级技术的原理分析

汽车联网系统远程升级的关键分为两个操作步骤,第一种是一键升级,称为“主动方式”;还有一种智能网联汽车客户根据机器设备终端申请处理完成系统升级,称为“被动升级”,在主动模式下,车联网系统的设备可以自动检索,当发现最新版本时可以在线升级,而在被动模式下,汽车用户将升级指令推送,并申请处理解决,监控系统在接受升级系统的指令后,发出更新命令,进而对终端设备 执行升级程序。目前,车联网系统的一键更新功能还没有被完全实现,绝大多数车联网平台的用户依旧采取“被动升级”的方法。被动远程进行系统更新的方法原理是:将源于终端设备的远程更新应用进行解析和处理——运维管理系统将远程更新的申请进行处理,并发出更新命令——远程控制 FTP 服务器的运行,创建连接终端设备和监控系统,并传输代码输送到终端设备的外部 flash——传输 完成后,进行校准程序——校准成功,终端设备自动关机,进入 Boot Loader 模式,之后将运用 IAP 的再次加载编码区技术——写入后会自动跳转到 User APP 程序执行成功后,终端设备会提示更新成功。车联网系统远程控制更新技术有两个重要部分,一是 FTP 远程控制文件的传输功能和实时下载功能,二是 IAP 程序流程的编写和加载部分。这里两个标准正常执行下,可以顺利完成系统的远程控制升级更新。如果这里的两个部分发生了一些事故,则必须解决这些事故。

3 远程升级技术在汽车

智能网联系统中的运用

3.1  系统设计

3.1.1  DFTP 远程控制文件下载

监控系统收到客户的更新申请后,会根据申请向终端设备发出指令,远程控制在线更新。此外,该密钥还会向服务器系统终端设备推送 FTP 网络服务器的真实信息内容,具体信息内容包括 IP 号、帐号和帐号密码、更改的连接端口、更新程序进程压缩包、文件名和更新路径等。终端设备根据这些基本信息自动配置 GPRS 控制模块,然后自动连接到 FTP 网络服务器,然后下载 root 操作程序所需的最新相关文件。

3.1.2  IAP 程序编程功能

IAP 的重点是在运行局端程序的整个过程中重新烧录一部分 Flash,有两个核心部分,一个是 Boot Loader,一个是 User APP。就远程控制升级更新而言,IPA 适用于客户端APP 的一部分,这部分代码必须重新在线下载并复制到Boot Loader,同时将代码烧录到两部分的内部 Flash 中。

3.1.3  远程控制和更新总体计划

遥控更新程序流程逐步实施,终端设备将直接进入Boot Loader 操作程序,由 Boot Loader 程序流程决定是否必须进行更新。如果一定要更新,IAP 程序流程会升级,User App ID 会开始工作,如果验证不需要升级,会自动跳回 User App 页面,保持原有应用状态不变,无需重启。

3.2  系统实现

3.2.1  守护进程

TboxMainxinetd 使用两个进程进行操作,一个是获取升级信息的过程,一个是 OTA 升级的过程。升级信息获取流程从安全远程升级综合服务平台获取 OA 升级升级信息。OTA 升级流程是根据获取到的 OTA 升级信息,在线下载OTA 升级包,与智能网联汽车客户进行交互。当获取升级信息的进程获取到 OTA 升级信息时,阻塞获取升级的进程,等待 OTA 升级信息解析完成 OTA 升级进程。当OTA 升级过程完成时,OTA 升级过程清空缓冲区,OTA 升级过程进入一个 block,等待升级过程获取新的 OTA 升级信息。也就是说,获取升级信息的进程负责获取 OTA 升级信息,OTA 升级进程负责解决 OTA 升级信息并执行 OTA升级进程。这是一个“经营者客户实体模型”。获取升级信息的过程会先对信号量 OTA_Empty 进行 sem wait 实际操作,进入临界区,然后检查是否有 OTA 升级信息,如果没有,稍等片刻,再次检查是否有 OTA 升级信息。检查 OTA 升级信息后,跳出循环,对信号量 OTA_FULL 进行 sem_post 的实际操作。阻塞获取升级信息的过程,等待 OTA 升级后根据 OTA 升级信息唤醒 OTA 升级进程。

3.2.2  车辆环境感知与通信技术

车辆整体环境信息的及时性、准确性和装备性必须依赖于车辆环境感知技术。在复杂、动态、多样化的交通出行环境中,提高环境感知的准确度,识别整体动态目标,并可能对交通出行环境信息的多个主视图数据进行预处理,是当前车辆环境感知遇到的问题,车辆状态与所处环境决定。智能网联汽车根据环境感知,获取自身的车辆状态信息,包括车辆位置、行驶速度、行驶方向以及各种车载机械设备的主要参数,并依靠摄像头、雷达检测传感器的采集、激光测距仪等。通过 LTEV2X(Vehicle to X,LTE-V)或专用短路通信技术 (Dedicated short-circuitcommunication,DSRC 固定距离通信),整合车外红绿灯、路况、交通状况、行人移动等数据信息技术传输数据,利用信息内容集成技术进行分层存储U749。LTE-V2X 技术是一种能够满足车联网平台复杂通信需求的技术,适用于可扩展的系统架构,相对灵活、可靠、及时、安全信息内容的无线通信技术; DSRC 是一种有效的无线通信技术,可以在特殊区域(通常是几十米)内创建识别和双向通信,以实现快速运动和健身时移动的目标。车联网平台车对车通信和中国车对车通信知识层不可或缺的核心组件。视觉系统和毫米波雷达按组成安装。两者密切相关,也有不同的区别。它们共同构成了汽车的视觉冲击传感器系统。视觉系统视线范围广、精度高、成本低,以及不易受到其他传感器的影响,从而使得平面图信息内容呈现出多样化的态势,例如色度和深度。

3.2.3  PKI 技术

PKI 是英文 Public Key Infrastructure 的缩写,意思是公钥设施,它利用公钥技术为应用软件提供公钥数据加密和私钥数字签名服务项目。PKI 技术还具有二元认证功能,负责密钥的发生和取消。PKI 技术还具有证书管理方法的功能,详细记录了证书的项目生命周期。PKI 技术为许多安全保障系统提供基础设施,是电子商务平台、在线娱乐等数字平台的基础和关键。PKI 技术是与身份验证相关的测试标准,本规范下的所有先进技术统称为 PKI 技术。PKI 技术经过十多年的发展。现阶段,安全技术方案完善、稳定。

3.2.4  行车管理分析

随着城市总人口与日俱增,参与城市日常交通出行的司机人数与日俱增。城市交通事故发生概率呈逐渐上升的发展。一旦将 LTE 系统应用到相应的车辆上,并安装了车辆拦截网关 ip,车辆就可以在行驶过程中根据 LTE 系统的图像传输数据,进行车内实时接口,车窗外各种视角的实时界面。观察,相应的平台还可以实现基于 LTE 应用系统对行驶车辆的内外状况和基本实时的路况数据信息的实时检测和管理方法。当发生突发交通事故时,相应的互联网服务平台会自动将参与交通事故车辆的行驶数据信息上报平台大数据中心,并及时反馈指令和意见,让相应的车辆到联网服务平台进行与交通事故相关性相对应的数据采集。相关工作人员可以根据现场传输的数据进行义务确认和分析。如果参与车辆所在位置的实时路况复杂,或者容易发生交通事故,车联网服务平台还可以根据实时路况进行交通疏散和提示命令以及车辆信息内容,可以合理的协助交通参与者减少交通事故的发生。由于 LTE20 个关键的车辆运行轨迹信息内容。LTE 协议步骤详情见图 2。

3.3 系统测试

根据智能网联汽车软硬件信息文件格式,申请智能网联汽车注册,VIN 号为HSS3SC9B6HQTest200,提前安装了安全远程升级终端应用“宏光 S3-Box”。启动安全远程升级终端后,查看 VIN 号为HSS3SC9B6HQTest200 的智能网联汽车材料安全远程升级管理系统。安全远程升级管理系统正确显示智能网联汽车的APP、夹具、硬件配置信息。安防远程升级综合服务平台将智能网联汽车 APP、治具、硬件配置信息存储到相应的数据表中。安防远程升级经理公布OTA 升级升级方案后,VIN 号为 HSS3SC9B6HaiQ10001的智能网联汽车收到 OTA 升级升级信息,在线下载 OTA 升级升级包。安防远程升级管理器公布 OTA 升级升级方案后,安防远程升级终端接收到 OTA 升级升级信息(见表1),提醒智能网联汽车客户在智能网联汽车拦截多媒体上确认在线下载。

4 结束语

汽车联网系统远程升级技术基于客户体验,具有良好的行业前景。在我国,汽车联网系统具有起步晚、发展快的特点,汽车行业应该关注智能网联系统远程升级的诸多优势,不断提升客户体验,节省售后服务成本。更应该深入分析其原理,并在日常生活领域中加以应用,从而不断推动技术的升级。

汽车联网系统远程升级技术基于客户体验,具有良好的行业前景。在我国,汽车联网系统具有起步晚、发展快的特点,汽车行业应该关注智能网联系统远程升级的诸多优势,不断提升客户体验,节省售后服务成本。更应该深入分析其原理,并在日常生活领域中加以应用,从而不断推动技术的升级。

有关远程升级技术在汽车智能网联系统中的运用的更多相关文章

  1. ruby - 如何从 ruby​​ 中的字符串运行任意对象方法? - 2

    总的来说,我对ruby​​还比较陌生,我正在为我正在创建的对象编写一些rspec测试用例。许多测试用例都非常基础,我只是想确保正确填充和返回值。我想知道是否有办法使用循环结构来执行此操作。不必为我要测试的每个方法都设置一个assertEquals。例如:describeitem,"TestingtheItem"doit"willhaveanullvaluetostart"doitem=Item.new#HereIcoulddotheitem.name.shouldbe_nil#thenIcoulddoitem.category.shouldbe_nilendend但我想要一些方法来使用

  2. ruby - 其他文件中的 Rake 任务 - 2

    我试图在一个项目中使用rake,如果我把所有东西都放到Rakefile中,它会很大并且很难读取/找到东西,所以我试着将每个命名空间放在lib/rake中它自己的文件中,我添加了这个到我的rake文件的顶部:Dir['#{File.dirname(__FILE__)}/lib/rake/*.rake'].map{|f|requiref}它加载文件没问题,但没有任务。我现在只有一个.rake文件作为测试,名为“servers.rake”,它看起来像这样:namespace:serverdotask:testdoputs"test"endend所以当我运行rakeserver:testid时

  3. ruby-on-rails - Ruby net/ldap 模块中的内存泄漏 - 2

    作为我的Rails应用程序的一部分,我编写了一个小导入程序,它从我们的LDAP系统中吸取数据并将其塞入一个用户表中。不幸的是,与LDAP相关的代码在遍历我们的32K用户时泄漏了大量内存,我一直无法弄清楚如何解决这个问题。这个问题似乎在某种程度上与LDAP库有关,因为当我删除对LDAP内容的调用时,内存使用情况会很好地稳定下来。此外,不断增加的对象是Net::BER::BerIdentifiedString和Net::BER::BerIdentifiedArray,它们都是LDAP库的一部分。当我运行导入时,内存使用量最终达到超过1GB的峰值。如果问题存在,我需要找到一些方法来更正我的代

  4. ruby-on-rails - Rails 3 中的多个路由文件 - 2

    Rails2.3可以选择随时使用RouteSet#add_configuration_file添加更多路由。是否可以在Rails3项目中做同样的事情? 最佳答案 在config/application.rb中:config.paths.config.routes在Rails3.2(也可能是Rails3.1)中,使用:config.paths["config/routes"] 关于ruby-on-rails-Rails3中的多个路由文件,我们在StackOverflow上找到一个类似的问题

  5. ruby - 通过 rvm 升级 ruby​​gems 的问题 - 2

    尝试通过RVM将RubyGems升级到版本1.8.10并出现此错误:$rvmrubygemslatestRemovingoldRubygemsfiles...Installingrubygems-1.8.10forruby-1.9.2-p180...ERROR:Errorrunning'GEM_PATH="/Users/foo/.rvm/gems/ruby-1.9.2-p180:/Users/foo/.rvm/gems/ruby-1.9.2-p180@global:/Users/foo/.rvm/gems/ruby-1.9.2-p180:/Users/foo/.rvm/gems/rub

  6. ruby-on-rails - Rails - 一个 View 中的多个模型 - 2

    我需要从一个View访问多个模型。以前,我的links_controller仅用于提供以不同方式排序的链接资源。现在我想包括一个部分(我假设)显示按分数排序的顶级用户(@users=User.all.sort_by(&:score))我知道我可以将此代码插入每个链接操作并从View访问它,但这似乎不是“ruby方式”,我将需要在不久的将来访问更多模型。这可能会变得很脏,是否有针对这种情况的任何技术?注意事项:我认为我的应用程序正朝着单一格式和动态页面内容的方向发展,本质上是一个典型的网络应用程序。我知道before_filter但考虑到我希望应用程序进入的方向,这似乎很麻烦。最终从任何

  7. ruby-on-rails - Rails 3.2.1 中 ActionMailer 中的未定义方法 'default_content_type=' - 2

    我在我的项目中添加了一个系统来重置用户密码并通过电子邮件将密码发送给他,以防他忘记密码。昨天它运行良好(当我实现它时)。当我今天尝试启动服务器时,出现以下错误。=>BootingWEBrick=>Rails3.2.1applicationstartingindevelopmentonhttp://0.0.0.0:3000=>Callwith-dtodetach=>Ctrl-CtoshutdownserverExiting/Users/vinayshenoy/.rvm/gems/ruby-1.9.3-p0/gems/actionmailer-3.2.1/lib/action_mailer

  8. ruby-on-rails - Rails 应用程序中的 Rails : How are you using application_controller. rb 是新手吗? - 2

    刚入门rails,开始慢慢理解。有人可以解释或给我一些关于在application_controller中编码的好处或时间和原因的想法吗?有哪些用例。您如何为Rails应用程序使用应用程序Controller?我不想在那里放太多代码,因为据我了解,每个请求都会调用此Controller。这是真的? 最佳答案 ApplicationController实际上是您应用程序中的每个其他Controller都将从中继承的类(尽管这不是强制性的)。我同意不要用太多代码弄乱它并保持干净整洁的态度,尽管在某些情况下ApplicationContr

  9. ruby-on-rails - form_for 中不在模型中的自定义字段 - 2

    我想向我的Controller传递一个参数,它是一个简单的复选框,但我不知道如何在模型的form_for中引入它,这是我的观点:{:id=>'go_finance'}do|f|%>Transferirde:para:Entrada:"input",:placeholder=>"Quantofoiganho?"%>Saída:"output",:placeholder=>"Quantofoigasto?"%>Nota:我想做一个额外的复选框,但我该怎么做,模型中没有一个对象,而是一个要检查的对象,以便在Controller中创建一个ifelse,如果没有检查,请帮助我,非常感谢,谢谢

  10. ruby - rspec 需要 .rspec 文件中的 spec_helper - 2

    我注意到像bundler这样的项目在每个specfile中执行requirespec_helper我还注意到rspec使用选项--require,它允许您在引导rspec时要求一个文件。您还可以将其添加到.rspec文件中,因此只要您运行不带参数的rspec就会添加它。使用上述方法有什么缺点可以解释为什么像bundler这样的项目选择在每个规范文件中都需要spec_helper吗? 最佳答案 我不在Bundler上工作,所以我不能直接谈论他们的做法。并非所有项目都checkin.rspec文件。原因是这个文件,通常按照当前的惯例,只

随机推荐