CATALOG

一、这玩意儿能干啥?

先简单介绍一下。AC2-10A是芯步推出的一款智能通断器,说白了就是一个可以用网络控制的开关。它有两个核心能力:

  1. 远程控制:你发个HTTP请求,就能把它打开或关上

  2. 状态上报:设备状态变的时候(比如从开变成关),平台会主动给你推送消息

我们要实现“故障告警”,就是用它的第二个能力——让设备状态变化成为触发告警的信号源。

举个实际场景:假设你在机房放了个温度传感器,当温度超标时,传感器通过某种方式让AC2-10A断开,系统收到“断开”这个状态变化,就知道出事了,立马发告警通知。

二、准备工作:你得先有这些东西

动手之前,先把这几样东西准备好:

  1. AC2-10A硬件:买来之后通电、配网,让它连上WiFi(这步用小程序的配网功能就能搞定)

  2. 芯步开发者账号:去官网注册一个,免费

  3. 一个公网可访问的服务器地址:用来接收平台推送的消息(本地调试可以用ngrok等内网穿透工具)

登录控制台后,找到【开发设置】,记下两个关键信息:

  • AppID:你的应用标识

  • AppSecret:你的应用密钥,别泄露

然后把你用来接收消息的服务器地址填到控制台的【消息推送】设置里

三、核心思路:到底怎么实现告警?

整体流程是这样的:

这里有个关键点:AC2-10A自身就是个开关,它不会自己判断“故障”。所以“故障”的判断逻辑,要在你的服务器上实现。

举个例子:

  • 你规定:如果AC2-10A变成了“关”状态,那就是故障

  • 那么当设备上报{"power": 0}的时候,你的服务器就触发告警

当然,你也可以做更复杂的判断,比如连续几次状态变化才算故障,或者配合其他传感器的数据一起判断。

四、动手开干:代码怎么写?

4.1 第一步:算签名(每次请求都要用)

芯步的接口要求每次请求都带签名,防篡改的。签名的算法是:

其中ts是当前的时间戳(秒级)。说白了就是:把AppSecret做一次MD5,然后拼上时间戳,再对整个字符串做一次MD5

用Python写出来是这样:

其他语言比如PHP、Node.js也是类似的逻辑

4.2 第二步:接收设备状态推送(这是核心)

这部分不需要你主动去请求接口,平台会自动把设备状态变化推送到你设置好的URL上

你要做的是写一个接口,接收POST请求,解析JSON数据。

推送的消息格式长这样

关键是message.data里面的内容。对于AC2-10A,power字段的1代表接通(开),0代表断开(关)。

4.3 第三步:写接收代码,判断状态并告警

用Flask写一个简单的接收接口:

这段代码做的事很简单:收到推送后,看一眼power是不是0,如果是,就发告警。

4.4 第四步:配置设备触发条件

这时候你可能要问了:我怎么让设备在“故障”时自动断开呢?

AC2-10A支持自定义动作,可以设置若干毫秒后执行开关操作。但真正实用的方式有两种:

方案A:配合传感器使用

  • 买个芯步的传感器(比如温湿度传感器、烟感等)

  • 传感器检测到异常时,你的服务器发命令给AC2-10A让它断开

  • AC2-10A断开后触发状态推送,然后发告警

方案B:外部程序主动查询

  • 你的服务器定时(比如每10秒)主动查询设备状态

  • 发现异常就发告警

方案A更实时,但需要额外的传感器;方案B更简单,但要一直轮询。

五、完整流程串一遍

把上面的东西串起来,整个流程是这样的:

  1. 传感器检测到温度超标 → 上报到你的服务器

  2. 你的服务器发送控制命令:{"power": 0}给AC2-10A

  3. AC2-10A执行断开操作

  4. 芯步平台检测到设备状态变化

  5. 平台推送状态消息到你配置的URL

  6. 你的服务器收到推送,判断power=0

  7. 触发告警:企业微信/钉钉/邮件/短信

六、避坑指南

签名过期问题签名里面的时间戳有效期一般5分钟左右,过期就失效了。记得每次请求都用当前时间重新生成

消息推送不成功平台推送后5秒内收不到200响应就放弃了。确保你的服务器响应够快,不要在里面做耗时操作。可以用消息队列异步处理。

内网调试没公网IP开发阶段可以用ngrok、frp这类工具把本地端口暴露出去。

设备离线AC2-10A是WiFi直连的,没有网关。如果网络不稳,设备可能掉线。给设备配置多个WiFi网络,它会自动连信号最强的。另外重要场景可以考虑用4G版本的设备做备份。

七、总结

总结一下核心步骤:

  1. AC2-10A配网,拿到设备ID

  2. 控制台配置消息推送URL,拿到AppID/AppSecret

  3. 写接收接口,解析power字段

  4. 判断状态,触发告警

  5. (可选)配合传感器实现自动化

芯步的接口设计得还算简洁,跟微信公众号的消息机制类似,如果你做过微信开发,上手会很快。

有不清楚的地方,可以直接找芯步的技术支持,他们提供全程指导