芯步的AC1-10A智能通断器开放了标准HTTP接口,这意味着你可以用任何编程语言,通过几行代码就能实现远程控制。下面从准备工作、签名算法、接口调用到状态监听,完整走一遍二次开发的流程。
一、 解决概述
目标: 通过芯步开放平台的HTTP API,对绑定在您账号下的AC1-10A设备进行远程开关控制。
技术路径: 您的后端服务器 → 芯步API网关(鉴权+转发)→ 设备(执行命令)。
涉及的核心环节:
获取密钥: 在芯步控制台获取 AppID 和 AppSecret。
生成签名: 按照平台规则计算 MD5 签名以保证请求安全。
发起请求: 向
api.thingboot.com发送 HTTPS POST 请求。接收状态: (可选)配置消息推送URL,实时接收设备状态变更。
二、 准备工作与环境
在开始编码前,您需要完成以下三步准备:
硬件准备: 确保AC1-10A智能通断器已通电,并通过官方小程序完成Wi-Fi配网(仅支持2.4G Wi-Fi),且设备状态显示为“在线”。
平台账号: 注册并登录芯步开放平台控制台。
获取凭证:
AppID: 在控制台的“开发设置”中获取,用于标识您的应用身份。
AppSecret: 用于计算签名,请注意保密,切勿放在前端代码中。
三、 核心开发:实现远程通断控制
这是二次开发的核心步骤,我们将通过代码实现“开”和“关”的操作。
3.1 理解签名机制(Sign)
芯步的API采用动态签名防盗用,签名的生成规则如下,这是一个双重MD5加密过程
YourSign = MD5( MD5(AppSecret) + ts )
AppSecret:您的开发者密码。
ts:当前的Unix时间戳(秒级)。
+:这里指字符串拼接。
3.2 接口调用详情
请求地址:
POST https://api.thingboot.com/{AppID}/device/control/Query参数:
sign={YourSign}&ts={ts}Header:
Content-Type: application/jsonBody参数:
device:设备ID(可在控制台查看或通过设备列表接口获取)。order:控制命令(JSON字符串)。
对于AC1-10A(单路通断器),控制命令如下
开启:
{"power": 1}关闭:
{"power": 0}
3.3 代码示例
以下代码演示了如何生成签名并下发“开启”指令。您可以使用任何支持HTTP的语言实现。
Python 3 实现示例:
curl 命令行示例(用于快速测试):
注意:上述命令针对Linux环境。如果在Windows环境下,可使用 PowerShell 或借助 Git Bash 等工具运行。
四、 进阶功能与场景扩展
除了简单的开关,您在二次开发时还可以利用接口实现更复杂的逻辑。
4.1 定时与延时动作
AC1-10A支持在HTTP指令中直接设定延时动作,这对控制路灯、临时供电等场景非常有用,且不受网络延迟影响。
先通后断(开启N毫秒后自动关闭):
(指令含义:继电器1导通,5000毫秒后断开)
先断后通(关闭N毫秒后自动开启):
4.2 批量控制
如果您拥有多个AC1-10A设备,或者使用的是多路控制器,可以通过一次HTTP请求控制多个回路:
五、 最佳实践:实时状态同步与事件监听
单纯的下发指令通常是不够的,应用层往往需要知道设备是否真的执行了操作(例如:手机App上开关状态的同步)。芯步平台提供状态实时推送机制。
解决方案:配置消息推送Webhook
在芯步控制台的“开发设置”中,配置“消息推送URL”(例如:
https://yourdomain.com/api/device/callback)。当设备状态发生变化时(物理按键按下、到了定时时间、远程控制),平台会向您的URL发送一个POST请求。
您的后端需要接收此请求,解析数据,更新数据库中的设备状态,并可通过WebSocket实时推送给前端用户。
六、 私有化部署方案
对于对数据安全或网络环境有特殊要求的企业用户,该产品支持私有化部署。如果您需要将设备运行在纯局域网或无外网环境中,可以联系官方获取私有化部署包,将API服务部署在本地服务器上。
总结
通过以上步骤,开发者只需关注 签名计算 和 JSON指令构造 这两个核心点,即可轻松将AC1-10A集成到现有的Web应用、小程序或企业ERP系统中。官方提供的标准接口极大降低了物联网硬件的开发门槛。