AC3作为一款WiFi直连、无需网关的智能通断器,开放HTTP接口意味着任何能发HTTP请求的软件系统都可以直接控制它。以下是完整的接入方案。
1. 核心准备:了解AC3的接口特性与规范
在开始编写代码之前,需要先理解智能通断器AC3作为执行层设备,其开放接口的核心逻辑。根据芯步官方技术手册,AC3具备以下对接特性,这也是后续开发的基础:
通信协议:设备通过 WiFi 2.4G 网络连接,采用 HTTP/HTTPS 协议进行通信,无需网关中转,云端直接控制。
接口形态:提供标准的 RESTful API,任何支持HTTP请求的编程语言(如 JavaScript, Python, Java, PHP)或工具均可调用。
鉴权方式:采用动态签名(
sign)配合时间戳(ts)机制。这意味着你需要在代码中实现签名生成算法,这是保障接口安全的关键步骤。控制指令:通过
order参数传递 JSON 字符串,支持四种核心动作模式:
| 功能模式 | 命令格式 (order) | 适用场景 |
|---|---|---|
| 线路通断 | {"power":"1"} (开启) / {"power":"0"} (关闭) | 基础开关控制,如电灯、插座、普通电器。 |
| 功率计量 | {"metering":"1"} / {"metering":"0"} | 仅适用于计量版,用于监测实时电压、电流及功率。 |
| 先通后断 | {"point":"3000"} | 类似“脉冲”信号,先接通一段时间(毫秒)后自动断开,适用于门禁、电机点动。 |
| 先断后通 | {"reset":"5000"} | 用于设备重启或逻辑复位,断开一段时间后自动重新接通。 |
2. 环境配置与签名生成算法
要将AC3接入软件项目,首要任务是搞定签名计算。签名用于验证请求的合法性和时效性,通常在服务器端或云函数中完成(以避免前端暴露 AppKey)。
2.1 准备参数
假设你在芯步控制台获得以下凭证:
AppID
YOUR_APP_IDAppKey
YOUR_APP_KEY(用于计算签名,严禁暴露给客户端)设备ID
DEVICE_001(可在控制台查看或通过拉取设备列表接口获取)时间戳
ts为Unix时间戳(秒),例如1713596400
2.2 签名算法示例 (JavaScript/Node.js)
通常签名规则为:md5(AppID + AppKey + ts) 或类似变体(具体需参考官方最新文档,此处以通用逻辑演示)。在实际开发中,你需要按照芯步提供的SDK或API文档中的规则生成 sign。
3. 实战接入:从设备控制到状态获取
当签名就绪后,即可在软件项目中集成控制逻辑。AC3的接口非常简洁,只需向具体的URL发起POST请求即可。
3.1 第一种场景:基础开/关控制
这是最常用的功能,例如在办公系统中,管理员点击“关闭会议室投影幕电源”按钮,后端逻辑如下(以Python为例):
3.2 第二种场景:自动化联动(如:门禁/风扇定时断电)
在办公场景中,经常需要实现“按下后接通3秒自动断开”的功能,例如控制玻璃门门禁或排风扇延时关闭。使用AC3的 “先通后断” 模式可以非常优雅地实现这一点,无需在软件侧额外做定时器。
3.3 第三种场景:能耗监测与预警(计量版)
如果采购的是 AC3计量版,可以通过轮询获取实时功率数据,用于判断设备空载或过载,从而触发自动化策略。例如,检测到投影仪关闭(功率低于10W持续5分钟)后,自动切断排插电源以节约电量。
获取数据的代码示例(开启计量功能后,数据会上报至平台,通过查询接口获取):
4. 深入应用:消息订阅与私有化部署
对于要求较高的“智能办公”系统,单纯的控制是不够的,还需要状态同步和安全性保障。
4.1 自建消息服务器(回调模式)
AC3支持私有化部署和自建消息服务器。这意味着当设备状态发生变化时(如本地按键按下、过热自动断电),平台会主动向你的服务器推送消息。
配置流程
在芯步控制台设置你的服务器回调URL(如
https://your-server.com/api/iot/callback)。当设备状态变更时,平台会POST数据到该地址。
你的后端接收数据并更新数据库中的设备状态(如更新Redis中的“灯_01”状态为“Off”)。
4.2 纯局域网环境对接
如果你的办公网络对公网隔离要求比较高,AC3支持纯局域网控制。设备配网后,可直接通过其IP地址进行HTTP控制,完全不经过外网。这对于金融、军工等行业的研发办公环境尤为重要。
5. 总结与落地
将AC3接入软件项目的本质,就是“HTTP请求的封装与调用”。在落地实施时,有以下几个供你参考:
封装SDK层:在你的项目中封装一个通用设备服务类,专门处理sign签名和请求重试逻辑,上层业务只需调用
ControlDevice(DeviceID, “ON”)即可。异步处理:控制指令是“下发即忘”的异步操作。不要用等待设备响应的方式来设计UI,发出指令后直接更新本地乐观UI,通过回调消息确认最终状态。
安全策略:签名计算请一定要放在后端或云函数进行。如果在前端(如H5或小程序)暴露
AppKey,任何人都可以伪造请求控制你的办公设备。
通过上述方法,只需要少量的代码接入,AC3这类智能通断器就能迅速成为你智能办公系统中的可执行单元。