AC1-10A智能开关支持HTTP接口开放,可通过签名鉴权后下发order指令实现远程参数配置。以下方案涵盖接口协议、签名算法、电量统计阈值设置、状态保持与时序控制等典型场景的具体实现。
1. 引言
随着物联网技术的普及,商业及工业场景对用电设备的精细化管理需求日益增长。AC1-10A 作为一款支持电量统计的智能通断器,仅靠简单的通断控制已无法满足能耗监测与动态运维的需求。
本方案的目标是指导开发者利用芯步开放平台 HTTP 接口,对 AC1-10A 带电量统计智能开关 进行深度二次开发。核心目标是实现远程参数配置与数据化运维管理,包括但不限于远程设置电量阈值、定义断电保护参数以及读取实时能耗数据,从而构建智能化的电力管理系统。
2. 技术背景与接口概览
AC1-10A 设备采用 WiFi 通信方案,支持 2.4G 频段直连,无需额外网关。其二次开发的核心是基于 RESTful API 的调用。
核心接口地址
https://api.thingboot.com/{AppID}/device/control/请求方式:POST
数据格式:JSON
鉴权方式:动态签名(MD5双重加密 + 时间戳)
3. 核心开发流程:远程参数配置的实现
要实现远程参数配置,不能仅下发简单的开关指令,必须构建包含特定参数的命令结构。
3.1 签名构建与鉴权
为了安全性,每次请求必须携带动态签名。开发者在调用配置接口前,需先生成 sign。
算法逻辑sign = md5( md5(AppSecret) + ts )
其中 ts 为当前的 Unix 时间戳(秒级)
该机制确保了接口在传输过程中不被篡改,是进行远程参数设置的安全基础。
3.2 电量统计与阈值告警配置
此功能是该方案的核心难点与亮点。通过配置 order 字段,开发者可以远程读取市电参数并设置告警规则。
电量数据读取:通过接口拉取设备的
statistic信息,获取实时电压(V)、电流(A)、功率(W)及累计用电量(kWh)。远程阈值设置:开发者可利用接口向设备下发阈值参数。例如,设定功率超过 2200W 时自动断电(过载保护),或设定告警回调。这需要特定的
order命令格式(通常与具体的产品固件版本相关联,一般通过扩展order的 JSON 结构体实现,如{"power_warning":"2200"})。
3.3 状态保持与“点动/互锁”模式配置
工业场景常需参数化控制逻辑。AC1-10A 支持高级时序控制命令,开发者可通过二次开发将其配置为特定模式。
| 配置模式 | 指令特征 | 适用场景 |
|---|---|---|
| 先通后断 (Point) | {"point": 3000} | 控制闸机或门锁,通电3秒后自动断开。 |
| 先断后通 (Reset) | {"reset": 5000} | 远程重启路由器,断开5秒后自动恢复供电。 |
| 状态保持 | {"keep":"1","revert":"10"} | 配置互锁逻辑,用户手动干预后10秒恢复预设状态。 |
开发者通过下发携带此类 JSON 结构的命令,即可实现AC1-10A的参数化配置,无需硬件改动。
4. 系统架构与数据流设计
为了实现上述参数管理,采用以下架构模型:
业务层(自研后台):开发独立的 Web 后台,用于展示电量图表和设置界面。
接口通信层:调用
https://api.thingboot.com的 Open API 进行通信。主动推送(回调机制):这是参数配置管理的关键闭环。必须在控制台设置“消息推送 URL”。当 AC1-10A 检测到电压异常或达到设定阈值时,平台会主动推送设备状态至开发者服务器,从而实现实时的告警通知。
5. 实施步骤与代码示例
5.1 环境准备
在芯步控制台注册开发者账号,获取
AppID和AppSecret。绑定 AC1-10A 设备,获取
Device ID。
5.2 核心代码逻辑(Python/Node.js 伪代码)
以下示例展示如何封装一个设置设备参数(例如:设置“点动模式”并开启定时重启)的函数。
请求示例
Python 脚本示例(签名生成与请求)
6. 关键注意事项与最佳实践
参数签名时效性:签名中的
ts参数通常有有效期限制(如5分钟偏差)。如果服务器时间与标准时间不同步,极易导致签名失效,使用 NTP 同步服务器时间。局域网直连模式:若对公网依赖性较低,或需低延迟控制,可关注 AC1-10A 的局域网 API 支持。该设备支持在无外网环境下通过局域网 HTTP 请求直接控制,仅需将请求发送至设备 IP 而非云端域名,即可实现内网参数配置。
数据流转与存储:电量统计涉及数据量较大。建立独立的数据库表来存储每小时/每日的电量快照,避免频繁通过 API 轮询导致 IP 被封禁,依赖平台的消息推送机制进行数据同步效率更高。
7. 总结
通过对 AC1-10A 二次开发接口的深入应用,开发者可以轻松构建一套完整的远程参数配置系统。从前端的界面化参数设置,到后端的签名加密指令下发,再到设备端的自动执行与状态上报,这一链路极大地扩展了智能开关在智慧楼宇、无人值守机房及农业温控等场景的适用性。
利用上述方案,不仅实现了开关功能的智能化,更将“电量统计”与“策略控制”深度融合,真正做到了电力的可管、可控、可维。