CATALOG

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 加密策略。

  • 所需参数

    1. AppID:开发者ID,在控制台获取。

    2. AppSecret:开发者密码,在控制台获取(需严格保密)。

    3. ts:当前 Unix 时间戳(秒级)。

    4. DeviceID:设备的唯一标识(可在控制台查看)。

  • 签名公式Sign = MD5( MD5(AppSecret) + ts )

  • 详细步骤

    1. AppSecret 进行第一次 MD5 加密,得到字符串 S1

    2. S1 与当前时间戳 ts 拼接成新字符串 S2 = S1 + ts

    3. S2 进行第二次 MD5 加密,得到最终的 Sign

  • 安全:在生产环境中,关闭控制台的“调试模式”,启用签名校验和 IP 白名单功能,防止设备被恶意控制

3. 实现“通断”控制的核心逻辑

针对 10A 额定电流控制 的需求,核心就是将控制命令通过 HTTP 协议发送给芯步的 API 网关,网关再转发给设备。

  • 请求地址https://api.thingboot.com/{AppID}/device/control/

  • 请求方法:POST

  • 请求头 (Header)Content-Type: application/json

  • URL 参数?sign={计算出的签名}&ts={当前时间戳}

  • 请求体 (Body)

  • 实战代码示例由于您需要进行二次开发,以下是核心的 API 调用逻辑伪代码/示例(以 Python 为例,逻辑通用于任何语言):

4. 高级功能与状态同步(Webhook)

仅仅控制还不够,系统需要知道设备是否真的执行了命令或者被人手动按了按钮。

  • 消息推送机制:AC2-10A 支持类似微信公众号的消息机制。当设备状态变化时(如远程控制成功、本地按键拨动),芯步服务器会主动向您配置的 URL 推送状态变更消息

  • 实现方案

    1. 在你的后端服务中开辟一个公网可访问的接口(例如 https://yourdomain.com/device/callback)。

    2. 登录芯步工作台,在“开发设置”中配置这个 消息接收 URL

    3. 当设备状态改变,平台会 POST 数据过来,你解析 JSON 并更新数据库中的设备状态。

此外,接口支持 order 中传入更复杂的指令,例如:

  • 先通后断{"point": 2000} (通电 2000 毫秒后自动断开)。

  • 先断后通{"reset": 1000} (断电 1000 毫秒后恢复通电)。

5. 总结

二次开发 AC2-10A 以实现 10A 额定电流控制,本质上是 HTTP 接口的对接工作

  1. 准备凭证:获取 AppID 和 Secret。

  2. 实现签名:严格按照 MD5(MD5(Secret)+ts) 逻辑生成 Sign。

  3. 下发命令:调用 API 接口,传递 {"power1": 0/1}

  4. 同步状态:配置 Webhook URL 接收设备实时反馈。

开发者在芯步官方工作台开启“调试模式”进行初期测试,待逻辑通畅后再切换至生产模式启用签名校验,确保系统的高可用和高安全