AC1-10A线路控制器是芯步旗下的基础执行设备,其开放接口的核心设计思路是 “主动控制 + 被动回调” 双通道通信。以下方案将围绕这一架构展开,覆盖签名计算、状态变更实时接收(HTTP回调)及异常监控机制。
1. 背景与适用场景
芯步 AC1-10A 智能通断器(型号:UNI-TDQ-AC1-10A)是一款支持 WiFi 2.4G 直连的单路继电器控制器。在工业、农业或机房场景中,常需要对风机、水泵、照明或特殊设备的运行状态进行远程监控。
本方案的目标是指导开发者如何通过该设备的开放 HTTP 接口及状态推送机制,将其无缝集成到第三方管理系统中(如 ERP、楼宇自控平台或运维大屏),实现对线路通断状态的实时监控与数据记录 。
痛点解决:
主动查询:系统可随时查询设备当前的通断状态。
实时告警:设备被本地按键误操作或异常断电时,系统立即感知。
自动化联动:根据业务逻辑(如温度阈值或时间表)自动执行开关动作。
2. 整体对接架构
采用典型的 Server-Server 模式,避免设备端复杂的嵌入式开发,完全基于云端 API 进行交互。
设备端:AC1-10A 通过 WiFi 连接至芯步云。
第三方平台:您的业务服务器。
交互协议:HTTPS (RESTful API) + HTTP Callback (状态推送)。
3. 对接前置准备
在开始编码前,请确保完成以下准备工作:
硬件就绪:为 AC1-10A 设备供电并通电,使用微信小程序为其配置 WiFi 网络。设备需能访问外网 。
获取凭证:登录芯步开发者控制台,获取
AppID和AppSecret(开发者密码)。获取设备ID:在控制台设备管理页面获取目标设备的唯一标识
device(例如案例中的1878)。
4. 核心监控功能实现
监控的核心不仅仅是“下发命令”,更关键的是 “状态的回读与同步”。
4.1 鉴权与签名机制
所有 API 请求均需携带动态签名,以防止篡改。签名算法逻辑如下
将
AppSecret进行一次 MD5 加密,得到encrypted_secret。获取当前的 Unix 时间戳(秒)
ts。拼接字符串:
temp = encrypted_secret + ts。对
temp再次进行 MD5 加密,得到最终的sign。
代码逻辑示意:
4.2 功能一:主动查询设备运行状态(同步监控)
虽然 HTTP 接口通常以下发命令为主,但针对“监控”需求,业务系统通常需要定时轮询设备状态,或通过 query 类接口获取最新快照。策略:控制接口通常返回包含设备当前状态的 JSON 数据。在监控系统中,可以设置每 30 秒调用一次查询接口(如果产品手册支持单独的查询指令),确保数据库中的状态与物理设备同步。
4.3 功能二:被动接收状态变更(异步监控 - 推荐)
为了实现对运行状态的实时监控(毫秒级响应),必须启用芯步提供的 “消息推送机制” 。这类似于微信公众号的配置 。
配置回调 URL:在芯步控制台中,设置您的服务器回调地址(例如
https://yourdomain.com/api/yoyo/callback)。触发逻辑:当 AC1-10A 的状态发生变化时(无论是通过 API 下发指令改变,还是有人按下了设备上的物理按键),芯步服务器会立即向您的 URL 推送状态变更数据。
业务处理:您的服务器接收 JSON 包,解析
power字段,更新数据库,并触发后续业务动作(如记录日志、发送告警短信)。
4.4 功能三:下发控制指令(反向操作)
监控系统往往需要干预。例如在监控大屏上发现设备未关闭,管理员点击“关闭”按钮。此时调用控制接口,POST 数据格式如下
Endpoint:POST https://api.thingboot.com/{AppId}/device/control/Body (JSON):
注意:针对 AC1-10A(单路控制),通常使用 {"power":1}。如果是多路设备,则使用 power1, power2 等 。
5. 关键监控指标与异常处理
在对接运维系统时,不仅仅是看“开关状态”,还需要监控“设备健康度”。
5.1 离线检测
机制:芯步平台通常会在设备断开心跳后,推送一条设备离线事件到您配置的 URL。
处理:收到离线回调后,您的监控系统应立即标记该线路控制器为“失联/故障”状态,并触发工单系统进行现场排查。
5.2 指令执行确认
流程:当您下发
{"power":1}命令时,API 接口会返回一个执行结果(成功/失败)。最终一致性:即便接口返回成功,真正的物理闭合还需要时间。结合 4.3 中的状态回调机制:
下发指令成功 -> UI 显示“指令已下达”(灰色/等待)。
收到 AC1-10A 的状态变更回调 -> UI 显示“已开启”(绿色/实体),并记录此时的时间戳作为最近动作时间。
5.3 负载监控(进阶)
虽然 AC1-10A 本身主要做通断控制,但在监控解决方案中,应统计其持续运行时长。
例如:记录
last_toggle_time和last_status。如果设备持续开启超过 24 小时且未关闭,系统应发出“长时间运行预警”,防止线路过热或设备空转浪费电能。
6. 常见问题与排障(Q&A)
| 问题现象 | 诊断思路与解决方案 |
|---|---|
| API 返回签名错误 | 检查时间戳 ts 是否为 Unix 秒级时间戳,服务器时间是否与标准时间误差过大(使用 NTP 同步);确认 AppSecret 在两次 MD5 过程中无多余空格或换行符 。 |
| 能控制但收不到状态回调 | 1. 检查回调 URL 是否公网可达(不支持 localhost)。 2. 确认 URL 接收端响应状态码是否为 200,且响应速度足够快(异步处理请求,先返回 200 再处理逻辑)。 |
| WiFi 连接不稳定 | AC1-10A 支持配置 5 组 WiFi 网络。在控制台或小程序中配置主用和备用 WiFi,若信号弱可增加 WiFi 中继器 。 |
| 控制 Json 格式错误 | 注意 order 字段通常需要传递一个对象或 JSON 字符串。请严格按照示例:{"device":"xxx","order":{"power":1}},不要遗漏大括号 。 |
7. 总结
通过对接芯步 AC1-10A 线路控制器,第三方系统可以快速获得 “双向通信” 能力。本方案采用 “主动轮询 + 被动回调” 的双重机制来确保监控的可靠性:利用 API 接口记录操作日志,利用 HTTP 回调感知由本地物理按键触发的状态变化。这种对接方式能够有效解决远程运维中的信息孤岛问题,实现对单路 10A 负载(约 2200W)设备的精准监控。