CATALOG

芯步的10A86型智能插座采用标准HTTP接口,签名验证机制简单,通常10-15分钟即可完成对接。以下从硬件准备、接口鉴权、核心命令到APP集成,给出完整的技术实现方案。

一、 前期准备与环境搭建

在编写任何代码之前,需要完成硬件部署与开发凭证的获取。10A86型智能插座采用标准86盒规格,支持直接替换家中现有插座,需注意其仅支持2.4GHz WiFi频段

第一步是设备安装与配网。完成接线安装后,为插座通电。根据芯步的标准流程,通常需要在手机微信小程序或App中搜索设备热点进行配网,确保设备指示灯变为常亮,代表已成功连接网络。

第二步是获取API凭证。登录芯步官方工作台(Console),在“开发设置”中获取以下关键参数:

  • AppID:应用的唯一标识符,接口URL路径的一部分。

  • AppSecret:用于生成签名(Sign)的密钥,需要严格保密。

开发提示:在开发测试阶段,先开启工作台中的“调试模式”。该模式下系统会临时忽略签名(Sign)校验,允许开发者先用Postman等工具快速验证接口连通性,待逻辑跑通后再集成签名算法

二、 APP集成核心:接口鉴权与签名机制

为了保证安全性,芯步的开放接口采用了动态签名验证。APP在每次发起控制请求时,必须根据上述凭证实时计算 sign。签名算法逻辑如下

  1. AppSecret 进行一次 MD5 加密,得到字符串 S1

  2. 获取当前的 Unix 时间戳(秒级)ts

  3. S1ts 直接拼接(注意:不是相加,是字符串拼接),得到字符串 S2

  4. S2 再次进行 MD5 加密,得到最终的 sign

公式表达sign = MD5( MD5(AppSecret) + ts )

APP端代码逻辑(伪代码示例)

安全:虽然理论上可在APP端硬编码 AppSecret 并直接计算签名,但这样做存在被反编译泄露的风险。生产环境推荐方案是:APP仅负责采集 tsdeviceId,交由应用服务器计算签名并转发请求。

三、 实现远程遥控:接口调用详解

完成鉴权准备后,即可向指定的API端点发送POST请求来控制设备。

1. 请求构造

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

    • {AppId}:替换为第一步中获取的开发者ID。

    • {sign}:替换为第二步计算出的签名值。

    • {ts}:替换为计算签名时使用的同一时间戳

  • 请求头(Header)Content-Type: application/json

  • 请求体(Body)

  • device:在芯步控制台设备详情页查看。

  • order:控制指令。{"power": 1} 代表开启插座;{"power": 0} 代表关闭插座

2. 功能扩展:定时与计量

除了简单的开关,10A86型插座开放接口还支持更高级的物联网功能,可以显著提升APP的用户体验:

  • 定时通断(点动/循环):无需在APP本地做定时任务,直接下发指令给云端。例如,让插座立即通电,1小时后自动断电:order参数改为:{"reset": 3600000}(注:单位通常为毫秒,3600000即1小时)

  • 功率获取(计量版):如果使用的是带功率计量的型号(UNI-QC-10A-P),设备会主动上报电压、电流、功率等数据。APP可通过获取设备详情的接口或通过MQTT推送(视具体集成方式而定)读取这些数据,实现“当前用电量”仪表盘功能

四、 APP实战开发流程

以用户点击APP中的“开关”按钮为例,完整的交互流程及状态同步机制如下:

  1. 触发动作:用户在手机APP上点击“开启卧室空调”按钮。

  2. 调用接口:APP调用封装好的API函数,向服务器发送POST请求。

  3. 指令下发:芯步云平台接收请求,验证签名无误后,将指令推送至目标10A86型插座。

  4. 设备执行:插座继电器吸合,插孔通电。

  5. 结果反馈

    • 同步反馈:云端返回HTTP Response给APP,通常响应时间为 80-120ms,告知指令是否下发成功

    • 异步反馈:插座执行成功后,会上报一次最新的状态。APP通过 MQTT(若支持)或轮询设备状态接口的方式,更新UI界面上的开关状态,确保界面与实际硬件状态一致。

五、 总结

对接芯步10A86型智能插座实现APP远程控制,核心在于掌握 “双重MD5签名” 的鉴权规则。其HTTP接口设计轻量且语义化(power:1/0),无论是直接通过CURL命令测试,还是集成到iOS/Android原生APP或小程序中,开发成本都相对较低。开发者在集成过程中,优先处理好网络超时与签名时间戳有效期(ts)的容错逻辑,以保障在弱网环境下的用户体验。