CATALOG

一、先认识一下这个硬件

AC4-10A这款智能通断器,说白了就是一个小型化的、支持远程控制的继电器开关。它有几个特点值得关注:

硬件规格:支持AC 85-265V宽电压输入(也就是咱们的市电直接供电),额定电流10A,阻性负载下最大可带2200W的电器,比如电热水器、饮水机、照明线路都没问题。但有一点要注意,如果是感性负载(比如电机、风扇、节能灯这类),负载最好控制在300W以内,否则容易烧触点

联网方式:走的是WiFi 2.4G,不需要网关,通电后自己就能连上路由器。而且可以设定5组WiFi网络,信号不好的时候会自动切

接口开放程度:这个是重点。芯步给AC4-10A开放了完整的HTTP API接口,也就是说你可以通过任何能发HTTP请求的编程语言或工具来控制和读取它——Web后端、手机App、小程序、甚至Python脚本都行

二、整体接入架构

要实现“用电数据上传+控制”,整个链路大概长这样:

flowchart LR
    A[你的业务系统] -->|HTTP API| B[芯步云平台]
    B -->|MQTT/指令| C[AC4-10A设备]
    C -->|状态上报| B
    B -->|消息推送| A
    
    D[用户/管理员] -->|操作界面| A

简单说:你的系统向芯步的API发指令(开/关/查状态),平台把指令下发给设备;设备执行后,会把当前状态(比如开关状态、电压电流等)上报到平台,平台再推送给你的服务器。这样就形成了一个闭环。

三、拿到钥匙——获取AppID和AppSecret

接入的第一步,是先去芯步平台注册账号,创建一个“工作台”(其实就是你的项目空间),然后在物联网控制台里找到“开发设置”,就能看到两个关键信息:

  • AppID:相当于你的应用ID,后面发请求的时候要拼在URL里

  • AppSecret:你的“密码”,千万别写死在前端代码里,这东西是用来算签名的

四、签名怎么算(很多人在这一步翻车)

芯步的接口用了一个两层MD5的签名机制。安全是安全了,但第一次接触容易绕晕。我把过程拆解一下:

签名算法sign = md5( md5(AppSecret) + ts )

其中ts是当前时间戳(精确到秒)。需要注意的是,+表示字符串拼接,不是数学加法。

举个具体的例子(假设值):

  • AppSecret = abc123

  • ts = 1704067200

第一步:md5(AppSecret) = md5("abc123") = e99a18c428cb38d5f260853678922e03第二步:拼接时间戳得到 "e99a18c428cb38d5f260853678922e031704067200"第三步:对这个拼接结果再做一次MD5,得到最终的sign

给个Bash脚本方便测试

签名有几个坑提醒一下:

  1. 时间戳同步:你的服务器时间和平台时间不能差太多,不然签名会校验失败

  2. 请求时带上ts:这个ts必须和你算签名时用的ts是同一个

  3. MD5用32位小写:别用什么16位或者大写

五、核心操作——怎么控制设备通断

拿到AppID、AppSecret和设备ID(在控制台设备列表里就能看到)之后,就可以发控制指令了。

请求地址

请求体(JSON格式):

这里{"power":1}就是开,{"power":0}就是关

一个完整的curl示例

返回结果:如果返回{"code":200},只说明平台收到了请求并且设备在线。设备实际有没有执行成功,通过消息推送来确认,后面会讲

六、获取用电数据——怎么“上传”

AC4-10A本身是会采集一些电气参数的(电压、电流、功率等),但这些数据不是主动上报的,而是设备状态变化时,平台会推送给你。

具体怎么接:

  1. 在你自己的服务器上暴露一个接收地址,比如https://你的域名/yoyo/callback

  2. 在芯步控制台配置消息推送地址,把这个URL填进去

  3. 处理推送过来的消息:当设备状态变化(比如通断切换、有新的用电数据)时,平台会以HTTP POST的方式把数据发到你配置的地址上

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

具体的字段名以产品手册为准

坑点提醒:消息推送是异步的,可能有一定延迟(几百毫秒到几秒)。如果要做实时监控,做好缓冲和时序处理。

七、进阶玩法——群控和联动

如果你有多个AC4-10A(比如控制整栋楼的照明),可以创建设备分组,然后向整个分组发命令。

分组控制接口

请求体:

这个分组ID在控制台创建分组后就能拿到

实际场景举例:配合人体传感器,有人进房间就开灯,人走关灯。传感器消息推送到你的服务器,你的服务器判断逻辑后,调用AC4-10A的控制接口。这套东西如果做在局域网环境,延迟可以做到100ms左右

八、实战:一个简单的Python接入示例

下面是一个完整的Python脚本,涵盖签名计算、设备控制、以及简单的消息接收服务(用Flask):

九、调试小贴士

  1. 刚开始调试的时候,先用芯步控制台的“在线调试”功能把设备配好、确认能控,再写代码。这样可以排除硬件问题。

  2. 签名错了怎么办:把计算过程中的每一步打印出来,和平台文档示例对比。最常见的是时间戳格式不对(比如用了毫秒级)、或者拼接时多了空格。

  3. 设备不在线:返回200但设备没反应,大概率是设备掉线了。可以检查一下设备指示灯(慢闪表示没连上WiFi,常亮表示正常)。

  4. 负载限制要记住:LED灯、风扇这类感性负载不要超过300W,否则可能会烧设备或者频繁跳保护

总结

AC4-10A这套方案的接入逻辑不复杂:签名 → 发HTTP请求 → 收消息推送。核心就这几步。难点主要在签名计算和消息接收服务的稳定性设计上。如果你是做企业级应用,把签名计算封装成一个公共函数,所有接口复用;消息接收端要做好幂等处理,防止重复推送导致重复执行。

另外,芯步是支持私有化部署和局域网直接控制的,如果你对数据安全要求很高,或者不想走公网,可以联系他们走私有化方案

有什么具体卡住的点,可以继续问。

通断器产品方案:
校园公共设备电源管理中:怎样把AC3-10A 计量版电源开关接入到软件项目中
查看 >>
药店冷藏柜电源控制:怎样将6600W 智能限流开关接入到项目中
查看 >>
怎么在普通灯具系统交流控制中接入智能设备来实现远程批量控制
查看 >>
怎样接入AC5-10A 低压控制开关来实现能耗数据统计控制
查看 >>
创客项目电源控制场景:怎样把智能通断器模块接入到软件项目中
查看 >>
用电场景方案:
怎么在共享健身房灯光设备控制中对接智能硬件来实现用电异常告警
查看 >>
怎样在出租屋用电安全管理中集成智能硬件以实现远程控制大功率电器电源
查看 >>
怎么在棋牌室包间电源控制中对接智能硬件以实现包间用电安全过载保护
查看 >>
如何接入16AWiFi智能插座来实现设备用电定时管控
查看 >>
出租屋用电安全管理:怎么把20A远程控制断路器对接到项目中
查看 >>
上传用途方案:
怎样接入AC3-10A 智能计量通断器以实现用电数据上传控制
查看 >>
怎么接入AC2-10A 智能通断器以实现用电数据上传控制
查看 >>
如何在培训教室温湿度控制中接入智能硬件来实现数据上传至指定URL
查看 >>
如何在活动现场安全监控中集成智能硬件以实现烟雾数据上传
查看 >>
怎样对接智能温湿度监测模块以实现数据上传至指定URL
查看 >>