以下内容为本人的学习笔记,如需要转载,请声明原文链接 微信公众号「englyf」https://mp.weixin.qq.com/s/M660Sc4ey1SxCpRT6vcM9g
不知有多少朋友玩过或者接触过新能源车,虽然新能源囊括的范围很广,不过这里指的新能源车特指电动汽车,比如特斯拉等车企生产的电动车。
特斯拉车主应该对车载软件的自动更新功能很熟悉了,特斯拉会不定期通过wifi或者蜂窝网络(比如4G、5G信号网),向车主推送最新的车载软件升级包,里边既可能包含有新功能的添加,也可能包括有对现有功能的完善补丁,这里所用的技术就是OTA。
OTA, 英文全称Over-the-air,直译成中文就是无线升级的意思。OTA执行过程,是不需要设备生产厂家或者专业人士携带专用工具对目标产品执行软件更新的。需要的条件是,让设备接入网络,自动接收软件更新包后,在设备所有者的同意下执行升级操作。
好了,这就是所谓的OTA。
以往的电子产品,从设计阶段就会把整个产品的功能安排得明明白白,虽然也会预留OTA的升级功能,不过,仅是为了修补已有软件漏洞。
但是埃隆·马斯克就把互联网的产品思维引入汽车行业,不断开发迭代新软件功能,比如特斯拉一再宣称领先于同行的自动驾驶导航算法就不断地推出升级版本,甚至还有车载游戏推出,然后通过OTA的方式推送给特斯拉的客户。
以前的汽车,消费者更愿意把它当作出行工具,可能一买就是十年八载的事了。而现在的智能汽车除了不失出行的功能,更像是一件不断迭代变化的电子玩物工作站,随着新功能的不断推送,于是消费者更愿意提高消费频率为新功能埋单。
马斯克的造车思维开启了现代智能汽车时代,也对特斯拉的成就功不可没。这里边用到的OTA的技术就是必要的桥梁了。
好了,上面都是在费口水,下面把电动车换成扫地机,就以扫地机器人为例,让我们来探讨一下怎么玩OTA升级。
设备维护厂家负责跟踪对外已销售的产品质量反馈,及时收集客户的诉求,然后组织项目团队评估可行性和细节,再给研发团队制定目标并及时输出软件更新包,最后厂家还要负责把更新包发布到云端,并指定更新策略。

假设扫地机器人已经和云端绑定上,云端查询后台推送开关已打开则通过网络通知APP--设备有软件更新包可用,然后APP提示客户是否需要此次更新。一旦同意,APP则请求云端把更新包的下载链接发送给设备,接着设备进入下载软件更新包的流程,下载完成后再执行升级的具体操作。

机器人从云端接收完软件更新包后,更新包暂存在内存中。为了避免升级过程中出现电量供应不足而中途关机的尴尬,升级开始之前,需要对机器的电量状态或者是否正在充电中进行自检,根据自检状态判断机器当前是否适合开始执行升级动作。
自检通过后,先对更新包文件做校验,以确保文件没有损坏或者被插入恶意文件信息,然后备份更新包文件(备份包的用处稍后解释),解压更新包提取里边的各个软件资源,逐一执行升级,同时每完成一步操作需要向云端报告进度,直到最后所有解压所得的资源都被升级利用完毕。
如果其中任何一步出错需要中止升级流程,机器人都需要向云端报告状态,由云端提示APP结束OTA升级流程。升级完成后,所有软件都需重启,所有重启完成后需向云端报告软件当前的新版本号,APP再根据新版本号判断升级目标是否达成。无论升级是否成功,机器人都需要在最后把已备份的更新包从机器内部清理掉,以清除未升级结束的标志。


如果升级过程中途断电了,那么重启后,可以依据备份的更新包文件是否存在来判断是否需要重新进入升级流程。

最近主流的扫地机都已经进化到配备有清洗基站了,何为清洗基站?
这个基站的工作目标是为了给扫地机器人自动清理尘盒和拖布等污损组件,尽量做到避免购买扫地机的消费者介入扫地机的清扫工作过程中,减轻消费者的不必要负担,进一步满足消费者的舒适需求。
以往的扫地机给普通消费者的体验就是,工作过程中,需要人工不断介入,帮助清理机器的污损组件,否则机器就不能好好连续工作。为了解决这些痛点,基站的诞生和功能迭代就势不可挡了。
鉴于主机已经带有wifi模组可以和云端直接通信,而且与云端正常通信之前必须经过绑定的过程,为了简化功能设计,基站其实可以通过主机和云端通信,所以没有必要在基站也配置wifi模组了。
那么,主机(扫地机器人主体)怎么和基站协同工作呢?它们之间靠什么来互通有无呢?
目前行业内的基站通信方案绝大部分都采用433的无线通信协议与扫地机主机通信,但是433的通信丢包率实际上是很高的,导致在OTA升级这种高要求的使用场景下,通信环节要格外关注通信质量的问题,因此应用层通信协议必须包含容错的重发机制。

CSDN优秀解读:https://blog.csdn.net/jiaoyangwm/article/details/1266387752021https://arxiv.org/pdf/2103.14259.pdf关键解读在目标检测中标签分配的最新进展主要寻求为每个GT对象独立定义正/负训练样本。在本文中,我们创新性地从全局的角度重新审视标签分配,并提出将分配程序制定为一个最优传输(OT)问题——优化理论中一个被充分研究的课题。具体来说,我们将每个需求方(锚框)和供应商(GT标签)的单位传输成本定义为他们的分类和回归损失加权之和。在公式化后,找到最好的分配方案即为最小传播成本解决最优传输方案,
STM32OTA应用开发——通过USB实现OTA升级目录STM32OTA应用开发——通过USB实现OTA升级前言1环境搭建2功能描述3BootLoader的制作4APP的制作5烧录下载配置6运行测试结束语前言什么是OTA?百度百科:空中下载技术(Over-the-AirTechnology;OTA),是通过移动通信的空中接口实现对移动终端设备及SIM卡数据进行远程管理的技术。经过公网多年的应用与发展,已十分成熟,网络运营商通过OTA技术实现SIM卡远程管理,还能提供移动化的新业务下载功能。实际上,现在我们所说的OTA比百度百科的定义还要更广泛,OTA的形式已经不再局限于手机和SIM卡,只要涉及
目录1、OTA在线升级2、实现方式3、操作方式3.1、后台式升级3.2、非后台式式更新4、STM32的在线升级4.1、划分Flash区域4.2、实操1-Flash空间地址的划分4.3、实操2-设置工程4.4、实操3-接收固件更新包4.5、实操4-拷贝程序至Flash4.6、实操5-跳转至App应用程序4.7、特别注意-设置向量中断表偏移 在平常的项目开发和调试中,下载程序一般使用的是外部下载器或者串口的方式实现对单片机的程序下载和刷新,这种方法在项目的开发阶段是常用的方式。 但是当项目开发完成推向市场的时候,很多时候需要对产品进行升级,而这个时候产品又已经是加了外壳
是否可以使用RESTAPI实现所有功能,使用OTA可以实现。我知道在HP提供的OTA和RESTAPI文档中都有示例。但是我需要通俗易懂地理解事情,因为我被要求做一项可行性研究,是否有可能在REST中进行与在OTA中一样多的工作。如果有人可以向我介绍REST和OTA与HPALM的优缺点,我将受益匪浅。 最佳答案 答案很简单,RESTAPI不具备OTAAPI当前可用的所有功能。RESTAPI主要关注客户端中核心实体的简单CRUD操作(CRUD=创建、读取、更新、删除)。您可以比较这两个API的文档,看看您是否能够使用REST实现您想要的
随着5G等无线通信技术的快速发展,汽车行业与无线通信技术进一步融合,正快速推动着汽车智能化的发展进程,而OTA技术则是汽车智能化的标志之一,OTA升级持续给客户提供新的功能,不断增强用户体验。同时也可以修复用户反馈的软件问题,增强制造商的售后服务体验。目前OTA远程升级技术已成为众多汽车制造商的标配。由于OTA升级可能会带来潜在的风险(特别是包含ECU固件更新的FOTA升级),针对OTA系统的测试过程就尤为重要。汽车OTA测试内容 VehicleOTAtestcontent1)人机交互测试(OTA功能测试)1、OTA后台管理操作(与TSP交互)OTA后台管理操作主要负责OTA包的上传、OTA升
我们使用OTA分发我们的企业应用程序。当我们在iPhone浏览器中第一次打开“应用程序下载URL”时,它会显示“你想安装应用程序吗”警告。如果用户点击取消按钮并在同一选项卡中再次打开“应用程序下载URL”。它会显示“在“AppStore”中打开此页面?”警报,当用户点击打开按钮时,它会显示“你想安装应用程序吗”。有人可以帮我解决这个问题吗?提前致谢。 最佳答案 您需要有一个包含指向您的plist文件的链接的着陆页:itms-services://?action=download-manifest&url=YOUR_LINK_TO_P
多年来,我一直在使用临时分发版的“OTA”分发版进行Beta测试。它总是有效的。上一个版本是在五月。效果很好。一般的想法是.ipa和.plist在我们的服务器上。我有一个带有itms-services:链接到.plist的页面,其中包含.ipa的URL,它也在我们的服务器上。刚刚为我们的Beta测试人员上传了一个新版本。我可以将它下载到我的iPhone和iPadOTA就好了。Beta测试人员说他们点击了我们网站上的链接,但什么也没有发生。当我这样做时,我收到一条正常消息,询问我是否可以安装该应用程序。我回答是,然后下载该应用程序,一切正常。我已将我的iPad连接到XCode,并删除了所
我正在遵循Apple创建MDM服务器的指南,并且我想在OTA中分发MDM配置文件。Apple的OTA指南包括3个步骤:身份验证SCEP设备配置总共可以向设备发送三个配置文件-第一个在身份验证后获取设备信息,第二个用于SCEP注册,最后一个是实际的MDM配置文件。MDM有效负载中的IdentityCertificatekey是强制性的,因此从这里我假设我需要将最后两个配置文件合并到一个具有SCEP和MDM有效负载的配置文件中(我将此key引用到SCEP有效负载)。我假设设备将首先处理SCEP负载-这是否正确?此外,我希望用户被要求接受MDM配置文件,但从Apple的规范来看,用户似乎只被
这是一个有点奇怪的问题。今天我为OTA分发构建了新版本的iOS应用程序。下载后突然提示“无法下载应用程序,此时无法下载‘ABC’”。但奇怪的是,如果我使用xCode“Devices”工具安装相同的ipa文件,它会起作用。我检查并仔细检查了以下内容,但仍然无法正常工作。重新创建了新的配置文件。添加不同的设备并创建新的配置文件。使用不同的mac构建应用程序。使用不同的Apple开发者帐户构建应用程序。(创建应用程序ID、prov配置文件等...)甚至我创建了一个空应用程序来查看我是否错误地修改了任何build设置。重新生成manifest.plist文件。检查html文件以查看我是否链接到
是否可以从safari访问取消或安装事件和/或在安装开始后阻止浏览器最小化?我想在用户安装应用程序后将其发送到感谢页面,但前提是安装成功,而不是取消。 最佳答案 答案是否。不幸的是,这是不可能的。您可能会考虑在用户首次启动应用时在应用中显示一个带有谢谢标签等的特殊屏幕。-(BOOL)application:(UIApplication*)applicationdidFinishLaunchingWithOptions:(NSDictionary*)launchOptions{if([[NSUserDefaultsstandardUs