任务基础
约 1116 字大约 4 分钟
任务基础
什么是任务?
ThingsCloud 提供了强大的任务功能。您可以将云平台对设备的各类消息指令包装成一键执行的任务,在任务中,支持各种常用的逻辑组件或协议组件。
任务可以手动执行,可以设置多种定时策略,也可以作为规则的操作,还可以开放 API 给应用集成。
使用任务可以实现很多场景,例如:
- 以特定的间隔时间向设备下发 Modbus 查询消息(例如:
0x03
读取保持寄存器),实现传感器数据的定时采集。 - 根据设备的属性值,自动生成 Modbus 更新消息(例如:
0x10
写入多寄存器),下发给设备实现配置更新。 - 检查设备固件是否需要 OTA 升级,如果需要的话,给设备下发升级固件的命令消息。
- 每日凌晨定时检查所有设备 OTA 升级信息,并给需要升级的设备推送升级包。
- 每日定时给设备下发维护性命令消息,命令的参数需要根据设备当前运行状态来计算生成。
- 每日固定时间打开温室的遮阳帘,但如果当时温度低于10度,则不打开。
这些看似复杂的场景,利用 ThingsCloud 的任务功能,都可以轻松实现,而不需要在应用端编写任何程序。
创建任务
创建任务非常简单,需要了解以下基本概念:
目标设备
目标设备 决定了该任务允许对哪些设备执行。
目标类型分为两种:
- 设备:可指定一个或多个设备。
- 设备类型:可指定一个设备类型,设备类型下的所有设备均被包含。
因此,如果只想对某个或某几个设备执行该任务,则选择 设备 作为目标类型;如果希望对设备类型下的所有设备执行同样的任务,则选择 设备类型 作为目标来源。
例如:
- 我们要对 CO2传感器 设备类型下的所有设备,按 5 分钟的时间间隔下发 Modbus
04
查询消息,那么直接将任务建立在设备类型下,并设置任务执行间隔时间。
任务类型
任务类型目前包括以下几类:
- 属性下发
- 命令下发
- 自定义数据下发
每个类型下有可供选择的任务动作,详细介绍请浏览后续章节。
任务状态
每个任务拥有独立的状态,分为:
- 已启用:该任务可被执行。
- 已停用:该任务不可被执行。
以上状态对于任务手动执行或定时执行均有效。
与此同时,任务还可以对每个目标设备单独设置是否关闭 定时运行。例如:一个任务属于设备类型,任务全局状态是 已启用,但是对某个设备可以关闭任务定时运行,如下图:
任务定时设置
任务支持以下几种定时设置:
关闭定时
该任务不启用定时,而通过手动执行,或者规则触发以及 API 调用。
只运行一次
可设置一个时间,该时间到达后,任务会被自动执行一次,然后任务会变为 关闭定时。如下图:
每日重复
设置每日的定时执行时间。如下图:
间隔时间重复
设置时间间隔,任务将按此间隔时间周期性执行。如下图:
任务手动执行
在任务列表或任务详情页,可以手动点击图标来执行任务,如下图:
可以选择任务目标设备,如下图:
- 所有目标设备:对该任务的所有目标设备执行任务。
- 指定目标设备:可以指定该任务目标设备中的一个或多个。
任务统计
在 任务详情页 > 统计,可以查看任务的调用次数统计,这些统计同时也会计入用户的云平台用量统计。
任务日志
在 任务详情页 > 日志 中开启调试状态,便可以记录每次任务执行的时间和目标设备数。