CATALOG

芯步的智能硬件均提供标准HTTP接口,无论设备型号如何,对接逻辑完全一致。10A-AC2智能电器开关也不例外——你只需要掌握签名计算和命令格式,即可在10分钟内完成远程状态查询功能的集成。

1. 解决概述

对于10A-AC2智能电器开关,要实现远程状态查询和控制,本质上是通过HTTP协议调用芯步开放平台的API接口。

核心流程

  1. 设备配网:让10A-AC2开关连接Wi-Fi。

  2. 接口调用:业务系统(你的服务器/APP/小程序)携带签名参数和命令,向平台发起HTTP请求。

  3. 指令下发:平台将指令转发给设备,或返回设备当前缓存的状态。

  4. 状态同步:设备执行指令并上报状态,或直接返回当前状态。

该方案基于公开的开放平台接口,适用于任何支持HTTP协议的开发环境,包括Java、Python、PHP、Node.js、Shell等

2. 准备工作

在开始对接前,你需要在芯步物联网控制台完成以下3项准备:

  1. 注册与登录:访问芯步官网,使用手机号注册并登录账号。

  2. 获取凭证:进入控制台的“开发设置”页面。

    • AppID:应用的唯一标识,接口调用时需放在URL路径中。

    • AppSecret:开发者密码,用于计算接口签名。

    调试提示:系统提供“调试模式”,开启后暂时不校验签名和时间戳,方便快速验证功能,开发初期开启

  3. 设备就绪

    • 将10A-AC2开关接通电源。

    • 参考产品手册,通过Wi-Fi配网(仅支持2.4GHz网络)将设备加入局域网

    • 在控制台的“设备列表”中,确认设备状态在线,并记录下设备的唯一标识 Device ID

3. 接口签名与安全机制

为确保安全性,正式环境下所有API请求需携带签名(sign)和时间戳(ts)。签名算法如下

  • 步骤

    1. AppSecret 进行MD5加密,得到 sec_md5

    2. sec_md5 与当前Unix时间戳(秒)拼接:sec_md5 + ts

    3. 对上一步的结果再次进行MD5加密,得到最终签名。

  • 公式sign = md5( md5(AppSecret) + ts )

代码示例(伪代码/Python思维):

4. 核心功能对接:查询与控制

4.1 接口地址与方法

  • URLhttp(s)://api.thingboot.com/{AppId}/device/control/?sign={sign}&ts={ts}

  • Method:POST

  • Content-Typeapplication/json

4.2 命令协议详解

10A-AC2属于通断器类设备,主要控制继电器的“开”与“关”

功能描述命令字段 (order)取值说明
开启/闭合power1 (开) / 0 (关)立即改变开关状态
临时开启point毫秒数 (如 5000)开启5秒后自动关闭
临时关闭reset毫秒数 (如 5000)关闭5秒后自动开启

4.3 最佳实践:如何查询状态?

芯步接口分为指令下发状态查询两种情况:

  • 情况A:获取设备最新状态如果只需要知道设备现在是在“开”还是“关”,而不想误触发动作,可以使用空指令查询指令(具体视产品手册而定)。通常推荐调用power指令获取当前值,如果业务系统记录了状态,也可以直接读取系统缓存。

  • 情况B:控制并确认状态通常的做法是:下发指令 -> 等待平台返回成功回调 -> 调用查询接口获取最新状态校验。

查询实操示例:构造一个 Device Control 请求,但在 order 参数中尝试获取状态。根据芯步的开放特性,你可以通过下发 power 字段来控制,而通过 阅读设备详情 接口(需查看具体的设备信息接口文档)获取当前属性值。

大多数情况下,在控制设备时,同步返回的响应包中会包含设备当前的状态信息,或者你可以通过订阅设备上报的消息来实时刷新状态。

请求体示例(查询):实际上,较为通用的逻辑是通过设备信息接口获取状态。但在标准控制接口中,你可以尝试发送不带数值的查询,或者直接读取系统记录的设备影子。

为确保功能实现,开发时通过 postman 调用如下结构,观察返回:

4.4 请求示例(以Python requests库为例)

以下代码演示如何查询(假设设备支持状态读取)或直接控制开关,并通过返回值确认状态。

5. 方案亮点与扩展

5.1 MQTT实时状态同步

如果你的业务系统对状态实时性要求较高(例如需要毫秒级同步或避免轮询),可以启用芯步的消息服务器推送功能。设备状态一旦变化,平台会主动将状态推送到你指定的服务器地址,无需频繁调用查询接口

5.2 批量控制与场景联动

如果需要同时控制多个10A-AC2开关,可以在device字段中用逗号分隔多个ID,或在order中使用批量命令格式,实现一键全开/全关

6. 常见问题

  • 返回“sign invalid”:检查时间戳是否为Unix秒数,以及是否严格按照“先MD5(AppSecret),拼接后再MD5”的顺序操作。如果开启了“调试模式”则不会校验

  • 设备不在线:10A-AC2仅支持2.4G Wi-Fi,请确认路由器频段,且设备未进入待机离线状态

通过以上步骤,你即可完成对10A-AC2智能电器开关的远程控制与状态查询功能。