Particle Asset OTA 如何实现远程
扫描二维码
随时随地手机看文章
问题
用粒子平台部署更新到你的舰队是很容易的。但是,当您的产品包含其他组件(如ML模型、显示器、协处理器、证书或图像和声音等媒体)时,远程管理更新就变得更具挑战性。传统的方法通常需要物理访问,这可能耗时、昂贵,而且在规模上不切实际。
解决方案
粒子资产OTA使您能够轻松远程更新这些额外的组件。告别现场维护和过时的版本。继续读下去,了解它是如何工作的!
什么是Particle Asset OTA?
Particle Asset OTA扩展了Particle的OTA (Over-the-Air)更新的能力,而不仅仅是主要的Particle设备。受特斯拉的OTA功能等先进系统的启发,它可以对产品中所有相互连接的组件进行无缝更新。
在需要协调工作的多个处理器或子系统(如显示器、协处理器或外部媒体)的系统中,保持所有内容的更新可能是一个挑战。资产OTA通过将这些组件的更新捆绑到一个协调的包(或捆绑包)中来简化这一点。就像汽车中的中央处理器确保所有子组件运行兼容的软件版本一样,Particle Asset OTA为不同的子系统提供了一束资产。
这是来自Particle首席执行官Zach Supalla的精彩介绍。
为什么使用资产OTA与Nextion显示?
假设您的产品包含Nextion显示。一旦交付给客户,更新或修复错误(在显示器上)通常需要:
直接访问,这既耗时又昂贵。
将存储卡寄给客户,并要求他们将其插入显示器后部以应用更新。
有了Particle坚如磐石的Asset OTA,你可以从云端发布更新,就像传统的Particle OTA更新一样——节省时间、精力、金钱,还有一点尴尬。
Asset OTA是如何工作的?
这一切都从Workbench项目中的固件开始:
组织您的资产:在您的项目中添加一个文件夹,其中包含您想要部署到产品中的资产或文件(例如,图像,配置或二进制文件-在我们的示例中,这将是Nextion二进制文件)。
实现更新逻辑:添加检查新资产的代码,确保它们被发送到预期的组件。
编译固件:当您编译项目时,它会生成一个包含捆绑资产的二进制文件。
部署固件:通过粒子云释放固件来刷新你的设备。
更新组件:一旦新固件在您的设备上运行,它就会根据您的指示使用绑定的资产来更新组件。
一步一步:如何实现资产OTA
步骤1:准备资产
首先准备您想要更新的资产——在本例中,是用于Nextion显示的.tft文件。为了简单起见,我创建了一个背景颜色不同的Nextion文件。最初,显示具有紫色背景,我们将使用Asset OTA将其更新为蓝色。请记住,Asset OTA允许您更新Nextion显示的所有方面,而不仅仅是背景。这包括字段、图像、文本、变量等,使您可以远程完全控制显示的内容。
步骤2:为资产OTA准备项目
在Particle Workbench中,打开项目的项目。属性文件并添加或取消注释以下行:
这一行指定了您的OTA资产的目录。接下来,创建一个与src文件夹相同级别的assets文件夹,并将.tft文件放入该文件夹中。
当你构建你的项目时,你会在日志中注意到一个新的“CREATING BUNDLE”部分,表明你的资产正在被捆绑以进行OTA部署:
步骤3:为资产OTA准备固件
将此添加到您的固件:
解释:STARTUP(System.onAssetOta(handleAssets))行;确保在启动时调用handleAssets()函数。此函数遍历OTA可用的所有资产,如果找到“next”,则返回“next”。使用Nextion库中的NexUpload启动对Nextion显示的更新。然后,显示将自动使用新资源进行更新。
步骤4:部署前进行本地测试
在本地Flash代码,体验一下更新过程是如何无缝地工作的
第五步:通过粒子云发布固件
在本地成功测试固件后,是时候将其上传到您的产品并将其推广到整个机队了!
结论
这只是利用Asset OTA力量的一种方式。欲了解更多信息,请访问Particle文档。文档中的例子包括:
•Arduino Uno Asset OTA
•LCD图像资产OTA
•RP2040树莓派资产OTA
•Sound Asset OTA
•STM32资产OTA
本文编译自hackster.io