CATALOG

芯步16路分体远程场景控制箱的二次开发主要基于其开放的HTTP API接口,核心是通过签名鉴权后向设备下发配置指令。以下方案涵盖接口调用流程、关键命令示例以及典型配置场景的实现思路。

解决方案:基于芯步开放接口的16路控制箱远程参数配置与管理

1. 概述

芯步的智能硬件产品(包括16路分体远程场景控制箱)提供了开放的 HTTP API 接口。通过二次开发,开发者可以绕过官方App,将设备集成到自有系统中,实现对设备参数的远程配置、批量管理和实时监控。

本方案的目标是解决远程参数配置(如设置定时任务、断电记忆、线路命名)和运维管理(如批量控制、状态同步)两大核心问题。

2. 核心技术路径

二次开发主要基于HTTP协议MQTT异步推送相结合的方式,实现双向通信:

  • 下行控制:通过调用芯步的云端 API 下发配置指令。

  • 上行状态:设备主动上报状态或配置结果,开发者需配置回调服务接收

3. 前期准备:接口鉴权与地址

在进行任何配置操作前,必须先处理接口鉴权,所有API请求均依赖以下机制:

  • 请求地址http(s)://api.thingboot.com/{AppID}/device/control/

  • 鉴权参数

    • AppID:应用唯一标识。

    • AppSecret:开发者密码。

    • ts:当前Unix时间戳(秒)。

    • sign:签名,计算方法为 md5( md5(AppSecret) + ts )

  • 请求方式:POST,Content-Type: application/json。

代码示例:签名生成逻辑(伪代码)

4. 远程参数配置的关键命令实现

针对“16路分体远程场景控制箱”的参数配置,主要通过对指定设备ID下发JSON格式的order指令完成。

4.1 配置单路参数(如延时通断)场景:需要远程设定第1路电路在接通5秒后自动断开(常用于电磁阀或门锁控制)。

  • 指令逻辑:使用 pointreset 命令,或针对特定路数的状态保持指令。

  • 请求体示例

4.2 配置批量场景模式场景:一键切换“会议室模式”、“下班模式”等场景,需要同时控制多路状态且设定执行间隔。

  • 指令逻辑:使用 batch(批量)结合 interval(间隔)参数。

  • 请求体示例

    注:若要全开或全关,可使用 {"batch":{"power":1}}

4.3 高级控制:先断后通(互锁逻辑)场景:在电机正反转或双路供电切换中,需要先断开A路,延时后再接通B路。

  • 指令逻辑:使用 reset 命令

  • 请求体示例

5. 自定义参数(如订单号绑定与回调)

在实际的二次开发中,往往需要将设备操作与业务订单关联。

  • 解决方案:在 order 指令中携带 extra 字段。平台在执行命令后的异步推送中会原样返回此字段

  • 配置流程

    1. 下发指令

    2. 接收回调:配置芯步的消息推送URL,接收设备执行结果。如果回调中收到对应的extra值,即可更新本地数据库订单状态为“已执行”。

6. 私有化部署下的参数配置(局域网直连)

对于安全性要求比较高、不允许经过外网云平台的内网环境,设备支持局域网私有化控制

  • 连接方式:获取设备的局域网IP地址(例如 192.168.1.100)。

  • 配置指令:直接向 http://192.168.1.100/control 发送POST请求。

  • 无网配置:此模式下无需 AppID 和 Sign,直接发送 JSON 命令即可控制,响应速度在毫秒级,适合工厂车间等内网隔离环境

7. 二次开发的系统架构

为了实现稳定的“远程参数配置管理”,采用以下架构模式:

  1. 前端:开发Web管理后台或小程序,提供可视化的16路开关界面、定时配置表单。

  2. 后端服务:搭建业务服务器。

    • 配置下发:后端封装芯步API,接收前端请求,计算Sign签名,调用 device/control 接口。

    • 状态同步:启动一个公网HTTP服务作为接收端,配置到芯步控制台的“消息推送”设置中,实时接收设备变动的异步通知,并存入数据库

  3. 数据库:存储设备ID、当前配置参数(如各路名称、延时时间)、操作日志。

8. 总结

基于芯步16路分体远程场景控制箱的二次开发相对标准化。通过 http(s)://api.thingboot.com/{AppID}/device/control/ 接口配合动态签名,开发者可以实现任何复杂的业务逻辑(如定时、连锁、场景模式)。对于涉及参数持久化存储或定时任务配置的需求,利用 extra 字段关联业务ID,并依靠消息推送机制保障数据的最终一致性。