CATALOG

芯步智能通断器AC1-10A的开放接口设计得非常简洁——只需标准的HTTP POST请求即可完成控制和定时任务设置,无需复杂的MQTT协议或网关设备。以下是完整的接入方案。

1. 接入准备

在开始开发前,需要准备以下三项信息:

  • 获取AppId和AppSecret:登录芯步控制台,在“开发设置”中获取应用的唯一标识(AppId)和密钥(AppSecret)

  • 设备联网与ID获取:通过官方提供的“批量配网小程序”或“物联网控制台”,将AC1-10A接入2.4G WiFi网络,并记下控制台中显示的设备ID(Device ID)

  • 接口地址https://api.thingboot.com/{AppId}/device/control/

2. 接口鉴权与签名计算

为了防止接口被恶意调用,每次请求都需要携带动态签名。签名算法如下(以 Python 为例):

3. 核心解决方案:如何实现远程定时任务

针对AC1-10A(单路控制),实现“定时任务”主要有两种场景,推荐使用方案一以降低服务器压力。

方案一:设备端硬件定时(毫秒级精度,推荐)

AC1-10A 支持 pointreset 命令,由硬件本身执行延时操作。你只需在命令下发时告诉设备:“等待 X 毫秒后,执行开或关”。

场景 A:定时开启(例如:电灯当前是关的,1小时后自动打开)注意:point 命令是先接通线路,保持一段时间后断开。如果设备当前是关闭的,单纯使用 point 无法实现“延时开后”吗?芯步的逻辑通常是通过 power 先开,或使用 reset(先断后通)。*更稳妥的“延时开”逻辑:如果设备当前是关的,你需要先发一条 {"power":1} 让它立即开,再发一条 {"reset": 3600000} 让它1小时后关?这不对,因为你想要的是1小时后开。*根据通用命令集,reset 用于“先断开,等待一段时间后接通”,这正好符合从当前关闭状态,延时一段时间后开启的需求。

请求 Body 示例:

执行逻辑:如果当前是关的,它会保持关,等待1小时后自动开启。

场景 B:定时关闭(例如:风扇当前是开的,30分钟后自动关闭)使用 point 命令(先接通,保持一段时间后断开)。

请求 Body 示例:

执行逻辑:如果当前是开的,它会立即执行(保持开),30分钟后自动关闭。

参数说明pointreset 后面的数值单位为毫秒3600000 = 1小时,1800000 = 30分钟,60000 = 1分钟

方案二:应用层定时任务(复杂逻辑,高灵活性)

如果你的业务逻辑复杂(例如:每周一三五执行、需要循环执行、或者需要串口打印日志),使用你的业务服务器(应用层)来做定时任务。

架构流程

  1. 在你的服务器中设置一个定时器(Cron Job 或 Celery 等)。

  2. 时间到达设定时刻,你的服务器组装 HTTP 请求。

  3. 调用芯步接口,执行 power 命令。

请求 Body 示例(立即开启):

这种方式的优势在于你可以记录每次操作的日志,或者根据外部传感器(如温湿度)动态决定是否执行任务。

4. 代码开发示例

以下是一个完整的 Python 函数,集成了签名计算与命令下发,适用于上述所有场景。

5. 总结与最佳实践

  1. 断网不影响延时:利用 pointreset 命令设置的定时任务是存储在设备芯片里的,即使断网,时间到达后设备依然会执行动作。

  2. 状态同步:如果担心设备状态不一致,可以开启结果推送功能,在控制台设置回调 URL,设备状态变化时会主动通知你的服务器

  3. 网络要求:该设备仅支持 2.4G WiFi,不支持 5G,配网时请注意频段选择