CATALOG

芯步的智能插座开放标准HTTP接口,通过签名认证即可下发控制指令。但“状态查询”通常依赖设备主动上报而非轮询,以下方案涵盖主动查询和被动接收两种实现方式。

1. 总体概述

芯步的智能插座产品(特别是10A/16A墙壁插座及桌面插座)提供了一套开放的HTTP API接口。通过调用这些接口,开发者可以轻松地将“1位5孔定时开关插座”集成到现有的Web系统、APP或小程序中。

核心目标:通过API调用实现对插座的远程开关控制,并精准获取插座当前的通断电状态(开/关)。

技术原理:

  1. 控制:通过向芯步的API网关发送POST请求,携带签名参数和命令(如开/关)。

  2. 查询:有两种模式。一种是直接通过API查询设备最新状态;另一种是设备主动上报状态(需配置消息推送),系统被动接收。

注:芯步平台基于“设备ID”进行管理,每个插座都有一个唯一的硬件标识码(Device ID)。

2. 准备工作:接口鉴权与配置

在开始对接前,需要在芯步物联网控制台获取以下关键信息

  1. AppID:您的应用唯一标识。

  2. AppSecret:用于加密生成签名的密钥。

  3. Device ID:目标1位5孔插座的唯一编号。

签名算法(核心安全机制):所有API请求都需要携带签名sign和时间戳ts。芯步的签名算法如下,这一机制能有效防止接口被非法调用

// 1. 先将 AppSecret 进行 MD5 加密
step1 = md5(AppSecret)

// 2. 将 step1 的结果拼接上当前时间戳(秒)
step2 = step1 + ts

// 3. 将 step2 再次进行 MD5 加密,得到最终签名
sign = md5(step2)

注意:时间戳ts需与签名计算时使用的保持一致,平台会校验时间窗口以防重放攻击。

3. 核心对接动作:发送控制与查询指令

芯步的接口设计采用了“控制与状态一体化”的逻辑。针对1位5孔插座,通常并不需要单独的“查询”接口,而是通过发送特定指令解析设备上报数据来获取状态。

3.1 下发控制命令(隐含状态变更)

你可以通过下发“开/关”指令来改变设备状态

  • 请求地址https://api.thingboot.com/{AppId}/device/control/?sign={sign}&ts={ts}

  • 请求方法:POST

  • 请求体 (JSON)

场景命令示例说明
查询状态{"status":1}只读取状态,不改动开关
开启插座{"power":1}插座通电,1代表开
关闭插座{"power":0}插座断电,0代表关
临时通电(点动){"point":"3000"}先通电,3000毫秒后自动断电

3.2 第一种场景:主动查询状态(请求-响应模式)

如果你的业务场景是需要定时轮询设备状态(例如每隔5分钟检查一次),可以通过发送查询指令来实现。当平台收到查询指令后,会返回包含当前状态的JSON数据。

下发指令示例:

设备响应示例:插座会返回当前的真实负载情况

3.3 第二种场景:被动接收状态(推荐方案,推送模式)

在实际应用中,为了减少服务器轮询压力并实现实时响应,更推荐采用消息推送模式。你需要先在芯步控制台设置“消息推送URL”(Webhook)。

当插座状态发生变化时(无论是通过物理按键按下,还是网络远程控制),芯步平台会立即主动向你的服务器发送一条POST请求

接收示例(平台推送到你的服务器):

这种方式能够实时获取开关状态,非常适合需要实时同步状态的智慧楼宇或家居中控系统。

4. 高级功能:定时任务与应用

既然是“定时开关插座”,除了远程查询和控制,我们还可以利用接口实现定时任务,这在无人值守场景下具有实际应用价值。

通过直接发送带有时间参数的指令给设备,可以让设备在指定时间点自动切换状态,无需云端定时任务介入,从而避免网络波动带来的影响

实现“临时开启1小时后自动关闭”:

5. 快速验证:使用Curl命令测试

以下是一个完整的Bash脚本示例,展示了如何在一个命令行脚本中完成签名计算和状态查询

执行该脚本后,控制台将打印出插座的实时状态信息。

6. 常见问题与排查

  1. 签名错误(403):请反复核对时间戳是秒级(10位)而非毫秒级(13位)。确保字符串拼接顺序是md5(secret) + ts,再进行整体md5。

  2. 状态不同步:如果调用接口成功但插座没反应,检查Wi-Fi信号强度(芯步设备使用2.4G WiFi),或者确认插座固件是否为最新。

  3. 找不到“查询状态”的命令字:查阅最新的产品手册。部分旧版本插座可能将power字段视为控制命令,查询状态需单独使用get_device_info类型接口,以设备详情接口返回为准

  4. 局域网内网控制:芯步支持私有化部署和局域网直连,如果你是在工厂内网环境,可以将API地址指向设备本地的IP,这样可以实现更低延迟(约80-120ms)且无需外网