CATALOG

AC2 是芯步 10A 智能通断器,核心是通过 HTTP API 控制继电器通断。以下方案覆盖 API 对接、签名计算、命令下发和项目集成要点。

1. 产品概述与选型分析

芯步10A智能开关AC2(智能通断器AC系列)是一款支持Wi-Fi连接的继电器控制模块,额定电流10A,可承载2000W功率(16A版本为3500W)。相比需要改线的墙壁开关,AC2采用“模块化”设计,直接串联在家电的电源线上即可,特别适合现有设备的智能化改造场景,如传统热水器、饮水机、鱼缸水泵、排风扇等。

AC2的核心能力:

  • 继电器输出:控制火线的通断,物理断开负载电源

  • HTTP API控制:可通过云端接口或局域网(部分型号)下发指令

  • 功率计量(计量版):实时读取电压、电流、功率值,支持过载保护

  • 状态保持:支持先通后断、先断后通等时序控制

2. 整体设计

将AC2集成到自有项目时,推荐采用云-端分离的控制架构:

flowchart LR
    subgraph A["用户接入层"]
        A1[Web管理后台]
        A2[小程序/App]
    end
    
    subgraph B["业务服务器"]
        B1[你的后端服务]
        B2[业务逻辑
权限/定时/联动] end subgraph C["芯步云"] C1[API网关
api.thingboot.com] C2[设备管理] end subgraph D["设备端"] D1[AC2智能开关] D2[被控家电] end A1 -->|HTTP| B1 A2 -->|HTTP| B1 B1 -->|HTTP API
签名鉴权| C1 C1 -.->|MQTT/CoAP| D1 D1 -->|继电器动作| D2

为什么不直连? AC2本身不暴露公网IP,它维持与云端的长连接。业务服务器通过调用芯步开放API,经由云端下发指令至设备。这种方式的好处是不需要考虑设备NAT穿透、固件升级、消息队列等底层问题。

3. 对接准备工作

3.1 硬件准备

  1. 获取AC2设备,连接220V电源进行配网

  2. 记录设备ID:在芯步控制台的“设备详情页”可查看设备的唯一标识(如 1878 或类似字符串)

3.2 平台凭证准备

登录芯步工作台,进入“物联网控制台” → “开发设置”:

  • AppID:开发者ID,用于标识调用方

  • AppSecret:开发者密码,用于签名计算(妥善保管,不要暴露在前端)

  • 调试模式:开发阶段可开启,此时不校验签名和时间戳,便于快速调试

4. API对接核心:签名计算与请求构造

与芯步API通信的核心是签名鉴权机制。每个请求必须携带 signts 参数,防止重放攻击和非法调用。

4.1 签名算法(两步MD5)

Step 1: md5_secret = MD5(AppSecret)
Step 2: sign = MD5(md5_secret + ts)   // 注意是字符串拼接

其中 ts 是Unix时间戳(秒级)。芯步官方示例流程

示例计算(Python):

4.2 下发控制命令(核心API)

接口信息:

POST /{AppID}/device/control/?sign={sign}&ts={ts}
Host: api.thingboot.com
Content-Type: application/json

请求体(JSON):

CURL示例:

4.3 AC2支持的高级命令

功能order参数说明
通电一段时间后自动断电{"point":"5000"}先通后断,5000毫秒后自动关闭
断电一段时间后自动通电{"reset":"3000"}先断后通,适用于设备重启场景
读取电量数据{"metering":"1"}计量版专用,返回实时功率、电流等
安全功率保护预先设置阈值超过设定功率自动跳闸

5. 项目集成实践

5.1 封装设备服务层(架构)

在业务服务器中,封装统一的 AC2Service 类,隔离芯步API的调用细节:

5.2 数据库设计

在本地数据库中维护设备映射表,关联AC2设备与您系统中的产品/空间:

5.3 典型业务场景集成

第一种场景:定时任务(服务器端)

在您的系统中设置定时任务(如Cron或消息队列),到点调用 control_device 接口。注意:AC2本身虽支持云端定时,但在您的项目中维护定时器可实现跨品牌设备的联动。

第二种场景:联动控制

例如:人体传感器检测到无人 → 您的业务服务器接收事件 → 调用 control_device 关闭AC2 → 断开显示器/饮水机电源。

第三种场景:状态同步

由于设备状态可能通过物理按键、App、API等多种途径改变,:

  1. 每次下发命令后记录预期状态

  2. 周期性调用设备状态查询接口(芯步提供)进行校准

  3. 或通过芯步云的消息推送(Webhook)接收设备状态变更

6. 进阶功能:计量与过载保护

若使用AC2计量版,可构建基于数据的能源管理应用:

读取实时功率:

返回示例:

业务价值

  • 异常告警:当功率持续异常时(如空调缺氟导致电流异常),系统自动断电并通知

  • 能耗报表:统计各设备/时段的用电量,支持节能优化

  • 过载保护:在云端设置功率阈值,超限自动切断

7. 注意事项与最佳实践

7.1 安全

  • AppSecret绝不暴露给前端:所有API调用必须经过您的业务服务器中转

  • 签名时效ts 通常有效期为5-10分钟,服务器时间请与NTP同步

  • 生产环境关闭调试模式:开启签名校验和IP白名单

7.2 设备局限性

  • Wi-Fi依赖:AC2需要2.4GHz Wi-Fi覆盖,若设备安装在信号死角可能掉线

  • 无断电记忆:部分型号断电后恢复供电,默认保持断电前状态(具体见产品手册)

  • 10A上限:不可直接控制空调柜机、即热式热水器等大功率设备

7.3 开发调试技巧

  • 先在芯步控制台的“设备控制”页面手动操作,观察发出的 order 格式再编码

  • 注册演示设备进行API测试,无需实际硬件

  • 使用Postman的Pre-request Script自动计算签名

8. 总结

通过芯步AC2智能开关的开放API,您可以快速为现有家电增加远程控制、定时开关、电量监测等智能化能力。集成工作主要集中在:

  1. 账号准备:获取AppID/AppSecret,完成设备配网

  2. 签名实现:按两步MD5计算签名

  3. API封装:调用 /device/control/ 下发 power/point/reset 等命令

  4. 业务融合:将AC2设备ID与您系统中的产品关联,实现场景联动

整个集成过程工作量较小(熟练后2小时内可完成基础开关功能),但能为您的项目带来完整的电源管理能力——从单纯的“通断控制”升级到“基于数据的能源优化”。