写点什么

任务管理 - 轻松搞定 IoT 设备重启、资源包更新、固件升级等业务——实践类

作者:阿里云AIoT
  • 2023-02-23
    浙江
  • 本文字数:1324 字

    阅读完需:约 4 分钟

面对 IoT 设备在线运营和远程管理的诉求,IoT 企业物联网平台发布了任务管理功能,可按产品维度、分组、或根据业务诉求批量选取设备,发起设备重启、配置参数变更、资源包更新、固件升级等业务定义任务。


任务管理的系统 Topic 和业务流程设计如下图:



任务管理实战


我们以批量设备远程更新运行参数场景为例,讲解任务管理的开发过程。


我们业务中有 10000 多台洗衣机,7836 台处于在线状态,其余离线或未激活。如下图:



1.设备端开发

通过阅读任务管理文档,我们知道在线设备需要订阅任务 Topic,才能实时获取到任务通知。对应 Topic 和 Payload 如下:


/sys/{productKey}/{deviceName}/thing/job/notify


离线设备上线后,需要主动拉取任务 Topic,才能获取到历史任务信息。请求任务对应 Topic 和 Payload 如下:

/sys/{productKey}/{deviceName}/thing/job/notify

{    "id":"7542940",    "version":"1.0",    "params":{        "task":{            "taskId":"i5Ks6F010101",            "status":"SENT",            "jobDocument":{                "operatingMode":23            },            "jobFile":{                "signMethod":"Md5",                "sign":"wssxff56dhdsd",                "fileUrl":"https://iotx-oss.aliyuncs.com/ota.zip"            }        }    }}
复制代码

离线设备上线后,需要主动拉取任务 Topic,才能获取到历史任务信息。请求任务对应 Topic 和 Payload 如下:

/sys/{productKey}/{deviceName}/thing/job/get

{    "id":"127542",    "version":"1.0.0",    "params":{        "taskId":"$next"    }}```IoT物联网平台响应任务信息的Topic和Payload如下:> /sys/{productKey}/{deviceName}/thing/job/get_reply


```json{ "code":200, "data":{ "task":{ "jobDocument":{ "operatingMode":23 }, "taskId":"b2ceb5ddsd69", "status":"SENT" }, "taskId":"$next" }, "id":"1610526478300", "method":"thing.job.get", "version":"1.0"}
复制代码

设备接收到任务信息后,需要根据业务情况主动上报设备任务执行进度和结果信息,对应 Topic 和 Payload 如下:

/sys/{productKey}/{deviceName}/thing/job/update

{    "id":"175423",    "version":"1.0",    "params":{        "taskId":"i5Kssgc010101",        "status":"IN_PROGRESS",        "statusDetails":{            "endTime":1610629200000        },        "progress":64    }}
复制代码

2.IoT 控制台创建任务在企业物联网实例控制台,选择设备管理任务,选择指定产品,上传任务模板,模板中携带了运行参数 "operatingMode":23。


在作业配置选择每分钟执行的设备数量和任务超时时间。


点击完成,我们看到新建的任务处于执行中,如下图:


3.任务执行进入任务详情,在作业概览,我们可以看到处于执行中,成功,失败,已超时等不同状态下的设备情况。


同理,我们可以借助任务管理来批量更新设备端资源包,批量重启设备,甚至固件升级功能。


物联网平台产品介绍详情:https://www.aliyun.com/product/iot/iot_instc_public_cn


阿里云物联网平台客户交流群

用户头像

阿里云AIoT

关注

物联网内容搬运者 2022-04-22 加入

还未添加个人简介

评论

发布
暂无评论
任务管理-轻松搞定 IoT 设备重启、资源包更新、固件升级等业务——实践类_json_阿里云AIoT_InfoQ写作社区