CATALOG

AC4-10A这款智能通断器支持HTTP API控制,签名算法是MD5嵌套加时间戳。下面从前置准备、签名计算、指令下发到能耗统计思路,把整个接入流程串起来讲清楚。

怎样接入芯步AC4-10A智能通断器来实现能耗数据统计与控制

大家好,今天我们来聊一聊怎么把芯步的 AC4-10A 智能通断器 接到你们自己的系统里。这玩意儿特别适合做远程控制,比如定时开关灯、重启路由器,甚至是统计某个设备的用电量。

官方的文档虽然全,但看着有点散。我帮大家把“怎么通过 HTTP 接口接入”这事儿揉碎了、讲清楚,不仅教你怎么控制通断,还会聊聊怎么拿到能耗数据来做统计。

一、 准备工作:把“家伙什”备齐

在写代码之前,有几个东西得先准备好,就像做菜得先备料一样:

  1. 硬件本身:确保你的 AC4-10A 已经通电,并且连上了 2.4G WiFi(注意,5G WiFi 它不认识,得用 2.4G)。这设备不需要网关,直接连路由器,这点挺方便的

  2. 注册账号:去芯步官网注册一个账号,登录控制台。

  3. 创建应用:在控制台里找到“开发设置”,你会看到两个非常重要的字符串:AppIDAppSecret。这俩相当于你的“用户名”和“密码”,调接口的时候用来证明“你是你”

  4. 获取设备 ID:把 AC4-10A 添加到你的账号下(一般用官方 App 扫码添加)。添加成功后,在控制台的设备列表里能看到一串数字,那就是 Device ID(设备 ID)。

二、 核心难点:签名是怎么算的?

芯步的接口为了保护数据安全,每次请求都要带一个签名(Sign)。很多新手朋友在这一步卡住了,其实没那么玄乎,官方给的规则很直接

核心公式(按这个顺序操作):Sign = md5( md5(AppSecret) + ts )

拆解一下这个公式,总共分三步:

  • 第一步:把你拿到的 AppSecret 做一次 MD5 加密,得到 Secret_MD5

  • 第二步:准备当前的时间戳(秒为单位),比如 1715234567。把 Secret_MD5ts 拼成一个长字符串。

  • 第三步:把这个拼好的字符串再做一次 MD5 加密,结果就是 Sign

举个栗子 假设你的 AppSecret 是 abc123,当前时间是 1715234567

  1. 第一次 MD5:md5("abc123") = e99a18c428cb38d5f22e03... (随便举个例子)

  2. 拼接:e99a18c428cb38d5f22e03... + 1715234567

  3. 第二次 MD5:md5("拼接后的字符串") = 最终的 Sign

别怕,这种逻辑用代码写就是几行的事。官方提供了 Shell 脚本的示例,逻辑非常清晰

三、 动手实战:控制设备通断

料备齐了,签名也会算了,咱们就来发个真实的命令——把灯打开

请求地址是这样的(注意替换大括号里的内容):https://api.thingboot.com/{你的AppID}/device/control/?sign={你的Sign}&ts={时间戳}

这是一个 POST 请求,Body 里要放 JSON 格式的数据

请求 Body 示例:

  • device:就是刚才在控制台抄下来的设备 ID。

  • order:这里面是具体指令。{"power": 1} 代表“打开” (0 代表“关闭”)。

如果你想让它 “先通电,保持几秒,再断电” (也就是点动模式),可以发这个指令

(上面的意思是:立刻通电,5秒后自动断电,5000的单位是毫秒)

四、 进阶需求:怎么统计能耗?

到了大家最关心的环节——电量统计

这里需要先同步一个信息:AC4-10A 这款产品分 “普通版”“计量版”只有“计量版”才能读取电压、电流和功率数据。

如果你想做能耗统计,采购的时候得认准 “计量版”

有了计量版硬件,怎么拿数据呢?通常有两种方式:

方法一:主动查询(主动拉数据)芯步的接口体系里通常会有 device/status 或类似的查询接口。你可以定时(比如每分钟)去调接口,问一下这个设备现在的状态,返回的 JSON 里一般会包含类似 power(当前功率)、voltage(电压)、electricity(累计电量)的字段。拿到后存到你的数据库里,想怎么统计图表就怎么画。

方法二:被动接收(设备主动推)如果不想一直轮询,可以配置 回调(Webhook) 。在控制台设置一个你自己的服务器地址,每当设备状态变化(比如功率波动超过阈值)或者定时上报数据时,芯步的服务器会主动往你这个地址发 JSON 数据。你只要写一个接口接收就行了,这样实时性最好,资源占用也少。

五、 避坑与经验(TIPS)

在实际开发中,有几个小地方提醒一下大家:

  1. 时间戳的时效性:官方为了防止恶意请求,ts(时间戳)一般要求在 5 分钟内。所以如果你发现签名没错但请求失败,检查一下服务器时间是不是和北京时间同步,差了太多会被拒绝。

  2. 设备在线状态:AC4-10A 是 WiFi 设备,如果 WiFi 断了当然控制不了。在调用接口前,逻辑里加一个判断:如果设备离线,给个提示“设备不在线,请检查网络”

  3. 本地局域网控制:如果你对稳定性要求比较高,或者是内网环境,官方手册提到支持 “私有化部署”“局域网” 控制。这意味着如果你们公司内部网络发达,可以不经过云平台,直接在局域网里发指令,速度更快。不过配置稍微复杂一点,需要参考高级手册。

总结一下流程:注册拿 Key -> 搞懂 MD5 签名 -> 拿着设备 ID 发 HTTP 请求 -> (如果是计量版)接收/查询功率数据 -> 展示在你们的后台大屏上。

这套方案非常灵活,不管是做智慧工厂的设备监控,还是做共享洗衣机的计费系统,甚至就是自家搞个智能家居中控,AC4-10A 配合这套 HTTP API 都是够用的。有问题多翻翻官方的产品手册,里面有详细的命令字典。