CATALOG

AC3-10A智能开关支持完整的HTTP API接口,可通过简单的POST请求完成开关控制和状态查询。以下方案涵盖从设备配网、签名计算到接口调用的完整接入流程。

1. 产品概述与接口能力

芯步AC3-10A(计量版,型号:UNI-TDQ-AC3-10A-P)是一款支持WiFi直连的智能通断器,无需网关即可接入网络。其核心能力包括:

  • 远程开关控制:通过HTTP接口实时控制设备通断

  • 状态查询:可查询当前开关状态(开/关)

  • 电量统计:实时获取电压、电流、功率、累计用电量等计量数据

该设备开放标准HTTP API接口,支持任何能发起HTTP请求的编程语言或平台(Web、APP、小程序、SaaS等)进行集成

2. 接入前置准备

2.1 账号与工作台创建

  1. 访问芯步官网()完成用户注册

  2. 登录后进入控制台,创建新的工作台

  3. 获取关键的开发者凭证:

    • AppID:应用唯一标识

    • AppSecret:开发者密钥,用于签名计算

2.2 设备配网与ID获取

  1. 为AC3-10A设备接通电源(220V AC)

  2. 使用官方“物联网控制台”或配套APP完成WiFi配网配置(仅需配置一次,设备会自动记忆并连接信号最优的WiFi,最多可设定5组备用网络)

  3. 配网成功后,在控制台的设备列表中查看并记录设备ID(Device ID),后续API调用中将以此作为设备唯一标识

2.3 接口地址与鉴权机制

  • 请求域名api.thingboot.com

  • 接口路径/{AppID}/device/control/?sign={sign}&ts={ts}

  • 请求方法:POST

  • Content-Typeapplication/json

  • 鉴权方式:签名机制(详见第3节)

3. 签名算法(核心鉴权步骤)

为防止接口被非法调用,所有API请求必须携带动态签名。签名生成流程如下

3.1 签名生成步骤

  1. 准备参数:获取当前Unix时间戳(秒级),记为ts

  2. 第一次MD5:对AppSecret进行MD5加密,得到secret_md5 = md5(AppSecret)

  3. 字符串拼接:将secret_md5ts直接拼接,得到sign_str = secret_md5 + ts

  4. 第二次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的通断状态。

请求参数

参数类型说明
devicestring设备ID(支持多个,逗号分隔)
orderJSON string控制命令,格式:{"power":"1"}(1-开,0-关)

请求示例(curl)

执行上述命令将开启(闭合)AC3-10A开关,连通后端电器电源。

4.2 开关状态查询

AC3-10A本身不具备主动推送状态的能力,一般采用以下两种方式获取当前状态:

方式一:通过获取设备详情接口调用设备信息查询接口(具体接口路径请参考官方完整API文档),响应中通常包含statuspower字段,指示当前开关的开闭状态。

方式二:通过电量计量接口间接判断接口支持实时查询设备的计量数据,也可通过以下命令启动或停止电量监测

  • 开启计量:{"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 异常处理与重试策略

  1. 签名过期:时间戳ts与服务端时间差距过大可能导致鉴权失败,需确保客户端时间与NTP服务同步

  2. 设备离线:接口返回设备不在线时,可实现随机间隔(或逐次增大间隔)重试(如1s, 2s, 4s…最大30s)

  3. 命令执行超时:设置合理的HTTP超时时间(5-10秒)

5.3 安全注意事项

  • AppSecret绝不硬编码在前端代码中:所有API调用必须在后端服务完成,防止密钥泄露

  • 局域网部署:对安全性要求比较高的场景,可选购私有化部署版本,将整个平台运行于内部网络,与外网隔离

6. 联调测试步骤

  1. 设备控制测试:使用curl命令下发{"power":"1"},观察设备指示灯及后端电器响应

  2. 状态查询验证:查询设备详情或计量数据,确认返回内容与设备实际状态一致

  3. 电量统计测试:连接已知功率的负载(如40W灯泡),读取实时功率值,验证数据准确性

  4. 边界场景测试:测试断电后来电的设备恢复行为、WiFi断线重连时长等

7. 典型应用场景举例

  • 智能家居集成:将AC3-10A嵌入墙壁插座或电器内部,通过自有APP远程控制并统计用电量

  • 共享设备管理:扫码支付后远程通电,同时监测设备使用时长和功耗(通过先通后断point命令实现计时结束自动断电)

  • 能耗监测系统:在配电箱内集中安装多个AC3-10A,实时采集各支路用电数据,生成能耗报表

8. 总结与拓展

通过芯步提供的开放HTTP接口,接入AC3-10A实现远程开关状态查询和电量统计是一项标准化、可快速完成的工作。核心流程可概括为:获取凭证 → 计算签名 → 调用控制/查询接口 → 处理返回数据。该方案同样适用于芯步其他智能硬件产品(如墙壁插座、墙壁开关等),仅需调整order中的命令参数(如power1power2对应多路开关)即可复用。对于大规模设备管理或局域网高实时性要求,进一步评估私有化消息服务器方案。