CATALOG

芯步AC4-10A这款智能通断器开放了HTTP API接口,二次开发的核心就是调用这些接口实现“下发指令”和“读取状态”。下面这份方案会讲清楚接口怎么对接、签名怎么算,以及如何拿到线路的真实状态。

一、我们到底要开发什么?

所谓“线路状态反馈控制”,说白了就是做两件事:

  1. 控制:通过你的代码(比如APP、小程序、网页后台或者本地脚本)去把这个开关打开或者关掉。

  2. 反馈:当开关被物理按键按下,或者被定时任务触发改变状态时,你的系统要能立刻知道“哦,现在变成开/关了”。

AC4-10A这个设备其实很良心,它自带HTTP API接口,甚至支持局域网私有化部署。这意味着我们可以完全绕开官方APP,把它集成到我们自己的系统里。

二、准备工作(先把钥匙拿到手)

在写代码之前,我们需要去芯步的开发者后台拿到三样东西,这相当于进门的钥匙:

  1. AppID: 标识你是哪个开发者或哪个应用的。

  2. AppSecret: 你的私有密钥,千万别把它写在网页前端代码里,容易泄露,最好放在后端服务。

  3. 设备ID (Device ID): 就是你手里那个AC4-10A开关的身份证。可以在控制台里看到

另外注意,这货只支持 2.4G WiFi ,配网的时候别连错频段

三、核心难点与攻克:搞定签名算法

芯步的API为了安全,每次请求都得带一个签名(Sign)。这个算法稍微有点绕,但没关系,我们拆解一下。

签名的生成规则(官方标准):Sign = md5( md5(AppSecret) + ts )

这里的 ts 是当前的时间戳(秒),不是毫秒。

为了方便理解,我们用Python伪代码演示一下:

注意:具体的加密字符串规则请以官方最新文档为准,但逻辑基本都是MD5嵌套。

四、实战代码:怎么实现“控制”?

我们以关闭开关为例。AC4-10A支持HTTP POST请求,我们用最简单的 curl 或者 Python 来操作。

接口地址:https://api.thingboot.com/{你的AppID}/device/control/?sign={计算好的签名}&ts={当前时间戳}

请求体参数:

  • device: 设备ID

  • order: 这里要传一个JSON字符串

如果你想关闭线路,order 就是 '{"power":"0"}' ;如果你想打开,就是 '{"power":"1"}'

实际操作(Python版):

进阶玩法: 它支持 point (先通后断)和 reset (先断后通)指令。比如接电动门或电机类负载(感性负载,低于300W),你可以发 '{"point":"3000"}' ,让它接通3秒后自动断开,非常实用

五、核心重点:怎么拿到“线路状态”反馈?

我们需要解决一个痛点:我怎么知道这个开关当前是开的还是关的?

要实现真正的“反馈控制”,有两种主流办法,优先选方案B:

方案A:主动查询(轮询模式)如果官方提供了 device/status 之类的状态查询接口,你可以写一个定时任务(比如每5秒),去问服务器这个设备现在的状态是什么。缺点是实时性差,有延迟。

方案B:被动接收(Webhook/回调模式)这是最专业、最实时的做法。AC4-10A支持自定义联动和消息服务器(支持私有化部署)

实现逻辑如下:

  1. 你需要有一台拥有公网IP域名的服务器(如果是局域网开发就不用)。

  2. 在芯步的云平台配置一个“HTTP回调地址”(Webhook),指向你的服务器接口,例如 http://你的服务器IP/api/device_callback

  3. 场景设置:在平台创建规则:当设备状态发生变化(比如有人按了开关上的物理按键,或者断网重连),芯步的服务器会主动往你的服务器地址发送一条HTTP请求,告诉你:“设备ID为xxx的设备,现在power变成了1” 。

  4. 你的服务器收到这个通知,就能立刻更新数据库里的状态,或者推送到你的前端界面(比如微信小程序)。

物理按键的状态同步:AC4-10A自带一个按钮,用户按了之后,设备状态变了。如果没有配置Webhook,你的APP是不知道的。配置Webhook后,用户一按按钮,你的服务器立刻就能收到状态变更的推送,这才叫真正的“智能化”。

六、开发避坑指南

  1. 感性负载限制:这点非常重要!AC4-10A虽然标称10A/2200W,但那个是阻性负载(比如白炽灯、电热毯)。如果你要接电机(风扇、鱼缸水泵)或者LED灯(启动电流大),负载功率千万不要超过300W,不然继电器很容易粘滞或者烧毁

  2. 局域网直连(私有化):如果你需要极低的延迟(比如工业控制),AC4-10A是支持局域网控制的。只要你的设备和电脑在同一个路由器下,你可以直接通过它的局域网IP发指令,不用经过云平台,速度快到没朋友

  3. 时间戳有效期:签名里的 ts 时间戳一般有效期很短(几分钟)。ts 如果跟服务器时间差太多,会报签名过期,记得同步一下时间服务器

七、总结方案架构图(脑补版)

  1. 你的后端服务 <——(HTTP API带签名)—— 芯步云

  2. 芯步云 <——>(2.4G WiFi)—— AC4-10A开关

  3. AC4-10A物理按键按下 ——(状态变化上报)——> 芯步云 ——(触发Webhook)——> 你的后端服务

总的来说,利用AC4-10A做二次开发比较轻松,核心就是把签名算法封装成一个函数,然后根据业务需求去调用开关指令即可。

通断器产品方案:
怎样接入DC-10A 智能电源开关来实现故障告警通知
查看 >>
物联网设备回路远程监控:怎样将Type-C供电物联网通断器模块接入到项目中
查看 >>
如何二次开发10A 智能开关来实现过压欠压保护控制
查看 >>
如何二次开发AC4-10A物联网开关来实现能耗数据统计控制
查看 >>
仓储设备电源控制:如何把AC4-20A 物联网开关对接到自己的项目中
查看 >>
线路场景方案:
怎样在照明控制中集成智能硬件来实现2路独立线路控制
查看 >>
怎么在共享设备柜控制中集成智能硬件来实现总线路状态反馈控制
查看 >>
怎样对接8 路智能分体远程控制继电器控制箱以实现8路独立线路控制
查看 >>
怎么二次开发AC4-10A开关来实现线路状态反馈控制
查看 >>
自助充电桩线路控制:怎样将10A 智能通断器接入到软件项目中
查看 >>
反馈用途方案:
怎样在便利店收银台语音提示场景中对接智能设备来实现设备状态语音反馈
查看 >>
怎么二次开发AC4-10A开关来实现线路状态反馈控制
查看 >>
如何接入智能语音壁挂音箱10W以实现设备状态语音反馈
查看 >>
如何接入20W 壁挂远程 TTS 语音音箱以实现设备状态语音反馈
查看 >>
怎么接入15W 语音播报壁挂音箱来实现设备状态语音反馈
查看 >>