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

每日重复
设置在每日指定的时间重复运行任务,可添加多个时间,并选择每日重复或自定义周一到周日的任何日期重复。
指定时间的方式支持以下两种:
设置固定时间
为任务关联的所有设备,统一设置固定时间和重复方式,如下图:

读取设备定时器属性
从设备指定的定时器属性中读取时间和重复方式,使得不同设备可以有不同的定时设置。可以为任务关联多个设备定时器属性,如下图:

间隔时间重复
设置时间间隔,任务将按此间隔时间周期性执行。如下图:

日出日落
设置在日出或日落的时间重复运行任务,可选择每日重复或自定义周一到周日的任何日期重复。如下图:

任务状态
每个任务拥有独立的状态,分为:
- 已启用:该任务可被执行。
- 已停用:该任务不可被执行。
以上状态对于任务手动执行或定时执行均有效。
与此同时,任务还可以对每个目标设备单独设置是否关闭 定时运行。例如:一个任务属于设备类型,任务全局状态是 已启用,但是对某个设备可以关闭任务定时运行,如下图:

任务手动执行
在任务列表或任务详情页,可以手动点击图标来执行任务,如下图:

可以选择任务目标设备,如下图:

- 所有目标设备:对该任务的所有目标设备执行任务。
- 指定目标设备:可以指定该任务目标设备中的一个或多个。
任务统计
在 任务详情页 > 统计,可以查看任务的调用次数统计,这些统计同时也会计入用户的云平台用量统计。
任务日志
在 任务详情页 > 日志 中开启调试状态,便可以记录每次任务执行的时间和目标设备数。