AC3-10A智能开关支持完整的HTTP API接口,可通过简单的POST请求完成开关控制和状态查询。以下方案涵盖从设备配网、签名计算到接口调用的完整接入流程。
1. 产品概述与接口能力
芯步AC3-10A(计量版,型号:UNI-TDQ-AC3-10A-P)是一款支持WiFi直连的智能通断器,无需网关即可接入网络。其核心能力包括:
远程开关控制:通过HTTP接口实时控制设备通断
状态查询:可查询当前开关状态(开/关)
电量统计:实时获取电压、电流、功率、累计用电量等计量数据
该设备开放标准HTTP API接口,支持任何能发起HTTP请求的编程语言或平台(Web、APP、小程序、SaaS等)进行集成。
2. 接入前置准备
2.1 账号与工作台创建
访问芯步官网()完成用户注册
登录后进入控制台,创建新的工作台
获取关键的开发者凭证:
AppID:应用唯一标识
AppSecret:开发者密钥,用于签名计算
2.2 设备配网与ID获取
为AC3-10A设备接通电源(220V AC)
使用官方“物联网控制台”或配套APP完成WiFi配网配置(仅需配置一次,设备会自动记忆并连接信号最优的WiFi,最多可设定5组备用网络)
配网成功后,在控制台的设备列表中查看并记录设备ID(Device ID),后续API调用中将以此作为设备唯一标识
2.3 接口地址与鉴权机制
请求域名
api.thingboot.com接口路径
/{AppID}/device/control/?sign={sign}&ts={ts}请求方法:POST
Content-Type
application/json鉴权方式:签名机制(详见第3节)
3. 签名算法(核心鉴权步骤)
为防止接口被非法调用,所有API请求必须携带动态签名。签名生成流程如下
3.1 签名生成步骤
准备参数:获取当前Unix时间戳(秒级),记为
ts第一次MD5:对
AppSecret进行MD5加密,得到secret_md5 = md5(AppSecret)字符串拼接:将
secret_md5与ts直接拼接,得到sign_str = secret_md5 + ts第二次MD5:对
sign_str再次进行MD5加密,得到最终签名sign = md5(sign_str)
3.2 签名示例(以bash为例)
最终请求URL为:https://api.thingboot.com/{AppID}/device/control/?sign=${sign}&ts=${ts}
4. 核心接口调用:远程状态查询与控制
4.1 远程开关控制
向设备下发开关指令,可立即改变AC3-10A的通断状态。
请求参数
| 参数 | 类型 | 说明 |
|---|---|---|
| device | string | 设备ID(支持多个,逗号分隔) |
| order | JSON string | 控制命令,格式:{"power":"1"}(1-开,0-关) |
请求示例(curl)
执行上述命令将开启(闭合)AC3-10A开关,连通后端电器电源。
4.2 开关状态查询
AC3-10A本身不具备主动推送状态的能力,一般采用以下两种方式获取当前状态:
方式一:通过获取设备详情接口调用设备信息查询接口(具体接口路径请参考官方完整API文档),响应中通常包含status或power字段,指示当前开关的开闭状态。
方式二:通过电量计量接口间接判断接口支持实时查询设备的计量数据,也可通过以下命令启动或停止电量监测
开启计量:
{"metering":"1"}关闭计量:
{"metering":"0"}
获取到计量数据(如电流值)后,如电流 > 0.01A则逻辑上可推断开关处于闭合(开)状态,电流≈0则推断为断开(关)状态。这种方案还可同步实现功耗监测,一举两得。
4.3 电量统计功能调用
AC3-10A计量版(型号含-P后缀)支持详细的电量数据采集。通过调用数据查询接口,可获取以下参数:
实时电压(V)
实时电流(A)
实时功率(W)
累计用电量(kWh)
功率因数等
典型应用场景:监测接入设备的用电情况、设置功率阈值告警、分析设备能耗等。查询频率不低于1次/分钟以保证数据连续性。
4.4 高级控制命令
AC3-10A还支持以下扩展命令,便于实现复杂的自动化逻辑
| 功能 | 命令 | 参数示例 | 说明 |
|---|---|---|---|
| 先通后断 | point | {"point":"3000"} | 先闭合开关,3000ms后断开(点动模式) |
| 先断后通 | reset | {"reset":"3000"} | 先断开开关,3000ms后闭合(重启模式) |
| 功率阈值保护 | (需在控制台设置) | - | 超过设定功率自动断电,保护后端设备 |
5. 集成开发
5.1 状态同步的两种架构模式
| 模式 | 实现的方式是 | 适用场景 |
|---|---|---|
| 轮询模式 | 定时调用查询接口 | 状态实时性要求不高(如>5秒间隔),系统简单的场景 |
| 私有化部署+自建回调 | 部署私有消息服务器接收设备事件推送 | 要求实时状态同步、局域网控制、高安全等级的企业应用 |
5.2 异常处理与重试策略
签名过期:时间戳
ts与服务端时间差距过大可能导致鉴权失败,需确保客户端时间与NTP服务同步设备离线:接口返回设备不在线时,可实现随机间隔(或逐次增大间隔)重试(如1s, 2s, 4s…最大30s)
命令执行超时:设置合理的HTTP超时时间(5-10秒)
5.3 安全注意事项
AppSecret绝不硬编码在前端代码中:所有API调用必须在后端服务完成,防止密钥泄露
局域网部署:对安全性要求比较高的场景,可选购私有化部署版本,将整个平台运行于内部网络,与外网隔离
6. 联调测试步骤
设备控制测试:使用curl命令下发
{"power":"1"},观察设备指示灯及后端电器响应状态查询验证:查询设备详情或计量数据,确认返回内容与设备实际状态一致
电量统计测试:连接已知功率的负载(如40W灯泡),读取实时功率值,验证数据准确性
边界场景测试:测试断电后来电的设备恢复行为、WiFi断线重连时长等
7. 典型应用场景举例
智能家居集成:将AC3-10A嵌入墙壁插座或电器内部,通过自有APP远程控制并统计用电量
共享设备管理:扫码支付后远程通电,同时监测设备使用时长和功耗(通过先通后断point命令实现计时结束自动断电)
能耗监测系统:在配电箱内集中安装多个AC3-10A,实时采集各支路用电数据,生成能耗报表
8. 总结与拓展
通过芯步提供的开放HTTP接口,接入AC3-10A实现远程开关状态查询和电量统计是一项标准化、可快速完成的工作。核心流程可概括为:获取凭证 → 计算签名 → 调用控制/查询接口 → 处理返回数据。该方案同样适用于芯步其他智能硬件产品(如墙壁插座、墙壁开关等),仅需调整order中的命令参数(如power1、power2对应多路开关)即可复用。对于大规模设备管理或局域网高实时性要求,进一步评估私有化消息服务器方案。