2/5/2025
在上一篇博客 用户如何在 ThingsX 设置定时任务? 中,我们介绍了如何帮助用户在 ThingsX App 中为不同设备设置独立的定时任务,并通过智慧农场的精准通风调控、商业综合体的动态光影编排、医疗机构的自动化环境管理等典型场景,向您展示了精细化定时控制在各行业实践中的价值。
然而,当需要为设备设置一组周期性启停(如每日9:00开启,12:00关闭)时,得分别创建两个独立的定时器属性,并且在 App 设备面板上使用两个定时器组件,这样的操作略显繁琐,有没有更简单的方法呢?答案是肯定的,可以使用定时区间属性和相应的 App 组件。
本篇博客我们继续以一个基于 ESP32 智能开关设备为例,介绍如何让用户可以快捷的设置电源的定时开关功能。设备已经通过 MQTT 接入到 ThingsCloud,并实现了基本的开关控制。关于 ESP32/8266 接入 ThingsCloud 的教程,请阅读 ThingsCloud ESP32/ESP8266 Arduino SDK。
首先在设备类型中,添加属性定义,数据类型选择 DailyTimerRange(每日定时区间),如下图:
我们添加一个定时区间属性 switch_timer_range1
,用于定时开启和关闭电源,用户只需要设置定时区间的启用状态、开始时间、结束时间和重复方式即可。
这里我们在创建定时区间属性时,属性类型选择了 云端私有属性,表示这些定时器属性不会被下发到设备,而只是存在于平台端,用来保存定时器参数。您也可以根据实际需求选择不同的属性类型。
在设备类型下创建一个任务,用于向设备下发开启电源的属性消息,如下图:
使用属性下发任务类型,开启电源只需要下发控制设备的属性 switch
,填写下发属性 JSON 如下:
然后在任务的定时设置中,选择读取设备定时器属性,并关联刚才创建的 switch_timer_range1
属性,选择开始时间,如下图:
同样的方式,再创建一个关闭电源的任务,属性下发 JSON 如下图:
同理,在任务的定时设置中,也关联到 switch_timer_range1
属性,选择结束时间,如下图:
创建好两个任务后,如下图:
接下来,在 ThingsX App 的设备面板中添加定时区间组件,实现用户可以在 App 中为设备设置定时区间,来运行前边关联的两个任务,实现定时开启和关闭电源的功能。
进入设备类型的 ThingsX App 设备面板编辑器,在左侧的日期时间组件分类中,找到定时区间组件,添加到设备面板中,如下图:
在右侧的组件设置中,为该组件选择 switch_timer_range1
定时区间属性,如下图:
在右侧的样式编辑中,可以设置图标、颜色以及各种样式。
保存设备面板后,用户在 ThingsX App 上再次进入设备面板时,就可以使用该组件了。
ThingsX App 支持 iOS/Android/微信小程序等多移动平台,这里以 iOS 为例,用户可以设置定时区间的启用状态、开始时间、结束时间和重复方式,如下图:
这里设置了每天 8:00 开启电源,10:00 关闭电源,就这么简单。
如果希望给用户提供多组定时开关选项,我们可以同理添加多个定时区间属性,例如:switch_timer_range2
、switch_timer_range3
、…… ,在 App 面板中预留多个定时区间组件,用户可以根据需要选择开启定时功能。
当我们希望给设备支持用户可以独立设置的定时开关功能,我们可以将两个任务的功能事先创建好,关联到设备的定时区间属性,并使用 App 设备面板的定时区间组件。用户只需要选择是否使用定时开关,并设置开始和结束时间,以及重复方式。这大大简化了平台的配置和用户的操作,实现个性化的设备管理体验。
您学会了吗?快来试试吧!
物联网设备接入 ThingsCloud ,请参考 设备接入指南。
ThingsCloud 是新一代物联网设备统一接入平台,帮助企业在极短的时间内搭建个性化的物联网平台和应用,并适应不断变化的发展需求。目前广泛应用于制造、电力、能源、环境、农业、楼宇、家居、教育、交通、物流、自动化等领域。
ThingsCloud 可接入各类网关,传感器、执行器、控制器、通信模组、智能硬件等,实现数据采集、远程控制,数据分析、告警通知、智能联动。还可以零代码生成项目应用 SaaS 和用户应用 App,并开放 API 和实时消息,便于业务系统集成和扩展开发。
通过使用 ThingsCloud,企业可以大大缩短搭建物联网系统的时间,节省软件开发费用,降低定制开发的风险,快速落地数字化和智能化项目。我们的客户遍布各行业,包括中国石化、中国铁塔、中国燃气、吉林大学、北控水务、ACE、中国民航大学、西安交通大学、精量电子、大秦铁路、宁波水利局等。
5000+ 企业在使用 ThingsCloud