AC1-10A智能通断器通过开放的HTTP接口,可以灵活集成到各类软件系统中实现远程定时控制。以下是基于芯步官方文档整理的完整接入方案。
一、 解决概述
要实现对AC1-10A智能控制模块的远程定时控制,核心是利用芯步开放的HTTP API接口。
核心逻辑:您的服务器或云平台作为控制端,根据预设的定时任务(如每天8:00),主动向芯步的API网关发送HTTP请求,该请求经过签名验证后,被路由至指定的AC1-10A设备,从而执行“开”或“关”的动作。
支持能力:除了简单的开/关,该模块还支持“先通后断”和“先断后通”等脉冲控制模式,适合控制电机、阀门等设备。
二、 接入准备工作
在编写代码之前,需要完成以下三个基础步骤:
硬件配网:下载“芯步”或相关的物联网控制台小程序,为AC1-10A模块配置WiFi(仅支持2.4G网络)。配网成功后,记录下模块的唯一标识——设备ID(Device ID)。
获取密钥:登录芯步开放平台后台,在“开发设置”中获取AppID和AppSecret(开发者密码)。这是调用接口的“账号”和“密码”。
理解签名机制:为了安全性,所有API请求都需要携带签名(Sign)。芯步采用的是双重MD5加密:
公式
Sign = md5( md5(AppSecret) + ts )步骤:先将
AppSecret进行一次MD5加密,得到字符串A;将字符串A与当前Unix时间戳ts拼接;将拼接后的字符串再次进行MD5加密,最终得到Sign。
三、 接口接入与单次控制实现
接入地址统一为:https://api.thingboot.com/{AppID}/device/control/
请求方式:POST数据格式:JSON
以下是一个使用cURL在命令行执行的例子,演示如何“打开”设备:
示例代码
关键参数说明
device:上一步记录的真实设备ID。
order:控制指令。
开启
{"power": 1}或{"power1": 1}(根据固件版本略有不同,两者通常等价)。关闭
{"power": 0}。
四、 远程定时任务控制方案
要实现定时任务,强烈不要在设备端做,而是在您的云端服务器实现。因为AC1-10A作为低功耗WiFi设备,依赖外部网络时间,且存储资源有限,云端控制更稳定可靠。
方案架构
数据库存储:建立一张定时任务表,包含
DeviceID、执行时间、动作(开/关)、循环类型(单次/每天/每周)。定时调度器:开发一个后台服务(如使用Linux Crontab、Quartz、Node.js的node-schedule等),轮询扫描数据库,找出需要执行的定时任务。
调用接口:当系统时间匹配任务时间时,调度器触发执行上述第三节中的
cURL命令或HTTP请求。
高级控制指令(除了简单开关)
为了实现更精细的自动化,AC1-10A支持以下高级指令,非常适合定时控制
| 功能模式 | Order指令示例 | 应用场景 |
|---|---|---|
| 先通后断 | {"point": 5000} | 模拟“点动”效果。线路接通后,保持5秒(5000毫秒)自动断开。适用于控制电动门、车库门禁。 |
| 先断后通 | {"reset": 3000} | 线路断开后,等待3秒自动恢复接通。适用于重启路由器或网络设备。 |
| 状态保持 | {"keep": 1, "revert": 10} | 强制锁定线路为开启状态,无论物理按键如何操作,10秒后恢复原状。适用于公共照明节能控制。 |
五、 状态同步与异常处理
为了确保定时任务执行后,您的系统能实时知道设备状态,接入消息推送机制。
配置回调URL:在控制台中配置您的服务器回调地址(URL)。当设备状态发生变化(无论是通过API控制、手动按键还是断电重启),芯步平台会向该URL推送实时状态。
处理逻辑:您的服务器接收推送后,更新数据库中的设备状态。这样,在定时任务执行失败或网络抖动时,系统能通过重试机制或状态比对,及时告警或自动补发指令。
六、 总结
通过HTTP接口接入AC1-10A智能控制模块实现远程定时任务,主要分为三个阶段:
环境搭建:完成设备配网与开发者密钥获取。
接口调试:掌握基于双重MD5的签名算法,实现单次手动控制。
业务集成:利用云端定时调度器配合“先通后断”等高级指令,完成复杂的自动化场景定制。
此方案支持私有化部署,可在纯局域网环境下运行,无需依赖第三方云,保障了数据隐私与系统稳定性。