任务管理-轻松搞定 IoT 设备重启、资源包更新、固件升级等业务-阿里云开发者社区

开发者社区> 阿里云物联网> 正文
登录阅读全文

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

简介: 任务管理-轻松搞定 IoT 设备重启、资源包更新、固件升级等业务

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

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

 任务管理实战  

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

我们业务中有10000多台洗衣机,7836台处于在线状态,其余离线或未激活。如下图:
image.png
image.png
1.设备端开发
通过阅读任务管理文档,我们知道在线设备需要订阅任务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.任务执行
进入任务详情,在作业概览,我们可以看到处于执行中,成功,失败,已超时等不同状态下的设备情况。

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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
阿里云物联网
使用钉钉扫一扫加入圈子
+ 订阅

致力于实现万物互联的美好世界,为生态合作伙伴提供基于云计算、大数据、人工智能、云端一体化、安全的物联网基础平台和内容服务平台。

官方博客
官网链接
在线咨询