设备端资源包文件更新方案
1.背景
当物联网设备分布在全球各地运行时,常常有更新设备上的资源包的需求,比如刷脸设备上的人脸库资源,算法模型,语音播报设备上的语音模板资源。而我们派一位工作人员出差去设备现场更新,成本往往很高。此时借助IoT技术的力量,在云端动动手指,轻松实现设备资源包更新是最理想的方案。
2.架构方案
云端更新设备端资源文件的完整交互过程:
- 后台业务服务器发布资源到OSS存储
- 后台业务服务器生成带有STS.Token的资源访问url
- 业务服务器下行资源包文件更新指令到设备端
Topic为 xxx/xxx/user/resource/update
Payload 包含文件id,md5值,访问uri - 设备订阅了资源更新topic,接收到更新指令
- 设备从OSS获取到新资源包,应用到本地程序中
- 设备上报资源更新结果
Topic为 xxx/xxx/user/resource/update/response
Payload 包含文件id,resultCode - 业务服务器从规则引擎获取设备更新结果
- 业务服务器对失败设备做重试推送
3.开发实践
为了实现上述理想,我们需要前期投入在服务端和设备端的研发工作。
3.1 服务端
- 在服务端生成访问OSS的临时STS Token的业务逻辑
- 编写下行指令的Pub逻辑
- 配置规则引擎,接收设备响应结果的业务逻辑
- 上传资源文件到OSS的业务逻辑
3.2 设备端
- 设备访问OSS资源文件的能力
- 订阅资源更新指令的Topic
- 上报资源更新执行结果的逻辑
4.总结
至此,我们可以悠闲的坐在办公室,享受咖啡和空调了。
物联网平台产品介绍详情:https://www.aliyun.com/product/iot/iot_instc_public_cn
阿里云物联网平台客户交流群
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。