CATALOG

一、写在前面

AC2-10A这个设备其实挺直接的——它就是一路10安培的智能通断器,支持WiFi直连,不需要额外买网关。官方的说法叫“智能通断器2-10A”,型号是UNI-TDQ-AC2-10A

最核心的一点:这玩意儿开放HTTP接口,也就是说,不管你是用Java、Python、PHP还是Node.js,只要能发HTTP请求就能控制它。甚至用微信小程序、SaaS平台的webhook都能接

本文会从实际的开发者视角,讲清楚三件事:

  1. 怎么控制它通断

  2. 怎么拿到它的能耗数据

  3. 怎么把这些数据存起来、用起来

二、准备工作

在动手写代码之前,你需要先搞定这几样东西:

  1. 设备本身:AC2-10A通断器,接线安装好,通电

  2. 配网:用芯步提供的批量配网小程序,把设备连上你的2.4G WiFi

  3. 获取设备ID:配网成功后,在设备管理控制台里找到你的设备,记下那串设备ID(一般是纯数字,比如820720这种)

  4. 获取AppID和AppSecret:登录芯步开放平台,在“开发设置”里能看到。这俩相当于你的API钥匙,调用任何接口都得带上

  5. 设置消息推送URL(这一步为了拿能耗数据):在控制台配一个你自己的服务器地址,设备状态变化或上报数据时会主动推到这个地址

三、核心接口调用方法

3.1 签名算法(这个不搞对啥都白搭)

调用任何接口之前,都得先算一个签名(sign)。官方的签名规则是这样的

用伪代码表示就是:

ts是秒级时间戳,比如 1714550400 这种。

3.2 控制设备通断(核心功能)

控制设备用的是 /device/control 接口

请求地址

请求体(JSON格式)

  • {"power": 1} 表示打开(接通)

  • {"power": 0} 表示关闭(断开)

完整示例(用curl模拟)

返回值说明:返回 {"code": 200} 只代表平台收到了指令并成功下发,不代表设备真的执行了。设备可能离线或者坏了

3.3 拿到能耗数据(关键)

AC2-10A支持实时推送设备状态——包括电压、电流、功率、用电量这些能耗数据。前提是你得在控制台配置一个消息接收URL

配置方法:在芯步开放平台 → 开发设置 → 消息推送,填上你的服务器地址,比如 https://yourdomain.com/api/device/callback

推送的数据格式(大致长这样):

需要注意的点

  • 当设备状态变化时(比如你手动按了设备上的按键,或者远程控制它开关),也会触发推送

  • 这个推送是实时的,延迟通常在几百毫秒内

  • 你的接收接口需要能承受一定的并发量

3.4 局域网直连控制(不经过云平台)

如果你的设备和服务器在同一个局域网里(比如都是公司内网),可以考虑走局域网直连,延迟更低,还不依赖外网

请求地址http://{设备IP地址}/control

首先要知道设备的IP地址——可以从路由器后台看,或者设备配网成功后会往你的消息URL推一条上线通知,里面带了IP。

命令格式跟云接口一样:

如果设备配置了密码,需要在URL里带sign参数:sign=md5(密码)

四、能耗统计的完整实现思路

光拿到数据不算完事,你还得把数据存起来做统计。下面给一个简单的实现方案。

4.1 消息接收服务(Python + Flask示例)

4.2 数据库表设计(简化版)

4.3 定时任务:把原始数据加工成统计

可以用cron或者celery,每天凌晨跑一次:

4.4 对外提供查询接口

五、实际场景举例

共享自习室/工位:每个座位装一个AC2-10A,用户扫码付款后自动接通电源,下机断电。同时记录每个座位的用电量,月底做能耗分摊。

远程设备监控:工厂里的老旧设备,外接AC2-10A,实时监测功率,一旦功率异常(比如电机堵转导致电流飙升),立刻推送告警并自动断电。

充电桩/电动车棚:每个插座配一个AC2-10A,按用电量计费。用户充了多少度电,后台自动算钱扣费。

六、踩坑提醒

  1. 签名一定要实时算:时间戳ts过期了会验签失败。每次请求都得用当前时间戳重新算sign。

  2. 设备可能离线code:200不代表设备真执行了。如果你需要确认执行结果,得靠消息推送机制——设备执行成功后会推送一条执行结果到你配置的URL

  3. WiFi信号问题:AC2-10A只支持2.4G WiFi 。如果设备安装在角落或者金属箱里,信号可能不稳定。它支持配置5组WiFi,可以多配几个备用网络,它会自动切到信号最强的那个

  4. 私有化部署场景:如果客户要求数据不外传,可以走私有化部署模式,芯步支持把整个平台部署在客户自己的服务器上,设备也只在内网跑

  5. 功率上限:标称10A,在220V电压下理论能带2200W。但留余量,持续负载别超过1800W,不然设备发热厉害。

七、总结

AC2-10A这个设备,本质上就是一个“能用HTTP控制的继电器 + 电量计量模块”。接入流程可以概括为:

  1. 配网 + 拿到设备ID

  2. /device/control 接口控制通断

  3. 配置消息推送URL接收能耗数据

  4. 后端存数据、做统计、对外提供查询

整套流程不算复杂,一个后端工程师半天到一天就能跑通。如果不想折腾,官方也提供了设备管理控制台,直接在网页上点一点也能看到基础数据和远程控制

有更复杂的需求(比如要控制8路、要接传感器输入),可以看看同系列的多路控制器,接口调用方式是一样的,只是命令参数不同