CATALOG

芯步35A智能空开的HTTP接口设计非常简洁——签名生成后,一条POST请求就能完成通断控制。以下从接口对接、签名算法到代码实现,给出完整的二次开发方案。

一、 技术背景与准备

在开始二次开发之前,需要明确芯步35A智能空开的通信特性。该设备支持 WiFi 2.4G 直连,这意味着它不需要额外的网关硬件,只要设备所在环境有WiFi信号,即可通过互联网或局域网进行控制

为实现HTTP接口远程控制,需要准备以下三项关键信息(这些信息将在芯步控制台获取):

  1. AppId:应用的唯一标识符。

  2. AppSecret:应用的密钥,用于生成签名,保障通信安全。

  3. Device ID:35A智能空开的唯一设备ID(通常在设备配网后可在控制台查看,或通过设备列表接口拉取)。

二、 接口协议与签名机制

芯步的开放接口采用了标准的HTTP POST请求方式,为了保证接口调用的安全性,采用了动态签名验证机制。

1. 请求地址结构

http(s)://api.thingboot.com/{AppId}/device/control/?sign={sign}&ts={ts}
  • {AppId}:替换为申请到的应用ID。

  • {sign}:动态生成的签名。

  • {ts}:当前Unix时间戳(秒),用于防止请求重放攻击。

2. 签名生成规则

签名生成逻辑清晰且安全性较高,具体步骤如下

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

  2. S1 拼接上当前的时间戳 ts,得到字符串 S2

  3. S2 进行第二次MD5加密,得到的字符串即为最终的 sign

公式表达:Sign = MD5( MD5(AppSecret) + ts )

三、 核心控制命令详解

针对35A智能空开,控制指令主要通过请求Body中的JSON字段传递。Body需要包含 deviceorder 两个字段

  • 设备指定 (device):支持单台或多台控制。如果是多台,设备ID之间用英文逗号隔开。

  • 动作指令 (order):用于定义具体的通断行为。

1. 基本通断控制

针对35A型号(通常归类为单路或大功率通断器),控制电源通断的命令如下:

动作Order JSON 值功能描述
开启{"power": 1}{"power1": 1}线路闭合,输出端通电
关闭{"power": 0}{"power1": 0}线路断开,输出端断电

:不同批次的35A硬件命令可能存在细微差异。如果在使用 power 无效时,可查阅产品手册确认是否需使用 power1 指令

2. 高级功能:定时与点动

除了简单的开关,开发者还可以利用接口实现定时任务,无需在服务器端维护复杂的定时队列

  • 定时断开:开启空开后,保持通电一段时间后自动关闭。

    • 命令示例{"power": 1, "reset": 5000}

    • 含义:立即开启,并在 5000毫秒(5秒) 后自动关闭。

  • 点动模式:模拟按键按下效果,接通一段时间后自动断开。

    • 命令示例{"point": 3000}

    • 含义:临时接通 3000毫秒 后自动断开(部分型号支持)。

四、 代码实战演示

签名生成是接入的核心难点,以Python和Java为例展示如何实现二次封装。

1. Python 实现

使用 requests 库,通过几行代码即可实现控制。

2. Java 实现

使用 OkHttp3 库,适合集成到Spring Boot等后端服务中。

五、 局域网与私有化部署

芯步的设备支持纯局域网环境运行,这对于工业厂房、内网环境是重要特性

  • 局域网IP控制:如果二次开发的应用服务器与35A空开处于同一个局域网内,可以通过设备自动获取的内网IP地址直接发送HTTP请求,不经过公网云平台。这要求开发者在设备配网时通过DNS或mDNS记录其IP,或者在数据库中将设备ID与IP进行绑定。

  • 私有云:芯步支持将服务端私有化部署。在这种情况下,API地址需要从 api.thingboot.com 替换为 私有服务器IP:端口

六、 总结与

对于开发者而言,35A智能空开的接口设计降低了接入门槛。在二次开发过程中,可以参考以下三个:

  1. 签名缓存md5(AppSecret) 的值是固定的,在一次会话中无需重复计算,可以将其缓存起来,只需在每次请求时拼接新的时间戳即可,可提升一定效率。

  2. 状态同步:HTTP接口只管下发命令,如果需要实时获取设备当前最新状态(如本地手动按压开关导致的状态变更),通常需要在控制台配置消息推送回调(Webhook)或通过TCP长连接订阅,不能单纯依赖查询接口。

  3. 错误处理:在实际集成中,请一定要对HTTP返回码(如200成功,401签名错误,404设备不在线)进行处理。特别是签名错误时,输出详细的日志来核对拼接字符串。

通过上述方案,可以快速将该硬件集成到智慧楼宇、能源管理或自动化控制系统中。