AC2-10A智能通断器支持HTTP接口控制,开放签名机制和标准API,可快速集成到Web、App或SaaS平台中。以下方案涵盖签名计算、接口调用、状态回调等关键环节,并提供多语言示例。
解决方案:基于芯步开放接口二次开发AC2-10A智能通断器
1. 产品与技术概览
AC2-10A 是一款支持 WiFi 2.4G 直连的智能通断器,额定电流 10A(峰值16A),可直接控制最高 2200W 负载的开关。其核心优势在于开放了标准的 HTTP 接口,这意味着只要设备联网,任何能发起 HTTP 请求的编程语言(如 Python, Java, PHP, Node.js, C#)或平台(如小程序、Web端、APP)都可以对其进控制 。
核心通信机制:
控制方式:HTTP POST 请求。
数据格式:JSON。
鉴权方式:动态 MD5 签名(Sign),保证接口安全,防止伪造请求。
2. 接口鉴权与签名算法
在二次开发中,首要任务是生成正确的签名(Sign)。芯步采用双层 MD5 加密策略。
所需参数
AppID:开发者ID,在控制台获取。
AppSecret:开发者密码,在控制台获取(需严格保密)。
ts:当前 Unix 时间戳(秒级)。
DeviceID:设备的唯一标识(可在控制台查看)。
签名公式
Sign = MD5( MD5(AppSecret) + ts )详细步骤
将
AppSecret进行第一次 MD5 加密,得到字符串S1。将
S1与当前时间戳ts拼接成新字符串S2 = S1 + ts。将
S2进行第二次 MD5 加密,得到最终的Sign。
安全:在生产环境中,关闭控制台的“调试模式”,启用签名校验和 IP 白名单功能,防止设备被恶意控制 。
3. 实现“通断”控制的核心逻辑
针对 10A 额定电流控制 的需求,核心就是将控制命令通过 HTTP 协议发送给芯步的 API 网关,网关再转发给设备。
请求地址
https://api.thingboot.com/{AppID}/device/control/请求方法:POST
请求头 (Header)
Content-Type: application/jsonURL 参数
?sign={计算出的签名}&ts={当前时间戳}请求体 (Body)
实战代码示例由于您需要进行二次开发,以下是核心的 API 调用逻辑伪代码/示例(以 Python 为例,逻辑通用于任何语言):
4. 高级功能与状态同步(Webhook)
仅仅控制还不够,系统需要知道设备是否真的执行了命令或者被人手动按了按钮。
消息推送机制:AC2-10A 支持类似微信公众号的消息机制。当设备状态变化时(如远程控制成功、本地按键拨动),芯步服务器会主动向您配置的 URL 推送状态变更消息 。
实现方案
在你的后端服务中开辟一个公网可访问的接口(例如
https://yourdomain.com/device/callback)。登录芯步工作台,在“开发设置”中配置这个 消息接收 URL。
当设备状态改变,平台会 POST 数据过来,你解析 JSON 并更新数据库中的设备状态。
此外,接口支持 order 中传入更复杂的指令,例如:
先通后断
{"point": 2000}(通电 2000 毫秒后自动断开)。先断后通
{"reset": 1000}(断电 1000 毫秒后恢复通电)。
5. 总结
二次开发 AC2-10A 以实现 10A 额定电流控制,本质上是 HTTP 接口的对接工作。
准备凭证:获取 AppID 和 Secret。
实现签名:严格按照
MD5(MD5(Secret)+ts)逻辑生成 Sign。下发命令:调用 API 接口,传递
{"power1": 0/1}。同步状态:配置 Webhook URL 接收设备实时反馈。
开发者在芯步官方工作台开启“调试模式”进行初期测试,待逻辑通畅后再切换至生产模式启用签名校验,确保系统的高可用和高安全 。