CATALOG

该方案基于芯步智能分体控制器的开放HTTP API接口,适用于自助售货机、共享自习室、智能储物柜等需要精细化管控多路设备电源的场景。通过对接API,可以实现对24路输出的独立权限分配和远程控制。

1. 项目概述与环境准备

芯步的智能分体控制器(24路)核心优势在于支持通过HTTP API对每一路电源进行独立控制。本方案的目标是将其无缝接入您的现有业务系统(如SaaS平台、小程序、App),实现对24个终端(如格子柜、充电桩或自习室座位)的独立计费与管理。

准备工作:

  • 硬件设备: UNI-KZQ-TY-24 智能通用控制器,DC 12V电源及Wi-Fi 2.4G网络环境

  • 平台凭证: 在芯步控制台获取 AppIDAppSecret

2. 系统架构与权限模型设计

为了达到“分路权限管理”的目标,采用 业务系统(你的Server) + 物联平台(YoYo) + 硬件 的三层架构:

  • 表现层: 你的前端应用(App/小程序),用于展示二维码或设备状态。

  • 业务逻辑层(核心): 你的业务服务器。这一层负责映射权限:例如,将用户A的订单映射到 24路控制器第3路

  • 设备接入层: 芯步开放API网关。你的服务器通过API下发指令,不直接连接设备。

权限映射逻辑示例:在你的业务数据库中,需建立以下关联表:

  • Device_ID: 设备唯一ID(如 12345678)。

  • Channel_No: 物理线路号(1-24)。

  • User_Order: 当前占用的业务订单号。

  • Status: 授权状态(启用/禁用)。

3. 核心对接流程与API实现

对接基于无状态的HTTP请求,请求地址为:https://api.thingboot.com/{AppID}/device/control/?sign={sign}&ts={ts}

3.1 动态签名生成算法

为了防止接口被恶意篡改,所有请求必须携带动态签名,生成逻辑如下(以Java伪代码为例):

  1. 获取当前Unix时间戳 ts

  2. 计算 String step1 = md5(AppSecret)

  3. 计算 String sign = md5(step1 + ts)

  4. signts 作为Query参数拼接在URL后。

3.2 分路授权控制代码

当用户在客户端点击“开始使用”(如扫码开柜、开灯),你的后台服务器应执行以下指令:

场景:授权第8路通电(开启)

  • 单路控制命令{"power8": 1}1为开启,0为关闭)

  • Batch批量代替循环: 若需同时重置或开启多路,可使用 batch 命令。例如全开:{"batch": "FF FF FF"}(24位16进制掩码)。

  • 请求示例

场景:强制断网/结束订单当用户点击“结束”或余额不足时,系统需即时切断该路电源。

  • 命令{"power8": 0}

路数状态读取的替代方案API是基于命令的(下发即执行),若需严格校验是否真的断电,结合设备状态回调(Webhook)或查询接口获取实时状态

4. 针对“分路”场景的进阶权限控制

由于24路设备通常对应24个不同的物理空间(如24个自习室座位、24个快递柜格口),直接暴露 power1 这样的接口存在安全隐患。你需要通过业务层封装来实现精准控制:

  • Token化授权: 不要直接将 power1 映射给前端按钮。前端应请求 /api/user/start/{channel_id},由你的后台验证用户合法性后,再向芯步API发起 powerX 指令。绝对不要在前端代码中暴露 AppSecret

  • 定时任务(预约/限时) : 利用业务系统的定时任务功能。例如,用户预约了明早8点的工位,定时任务在 08:00 触发 powerX=1,在 17:00 触发 powerX=0

  • 先断后通/先通后断: 针对感性负载(电机、日光灯),使用 resetpoint 命令模式以避免冲击电流

    • {"reset": 8}:先断开第8路,再接通(适合重启设备)。

    • {"point": 8}:先接通第8路,再断开(适合短暂测试)。

5. 网络配置与私有化部署(局域网)

针对安全性要求比较高的场景(如企业内部涉密区域),芯步支持私有化部署

  • 局域网纯内网运行

    1. 配置DNS/路由:将 api.thingboot.com 解析指向你的私有化消息服务器地址。

    2. 设备配网:通过控制台或小程序,让设备连接到现场的2.4G Wi-Fi,该Wi-Fi需能访问你的私有服务器。

    3. 优势:指令无需经过外网,响应时间可缩短至毫秒级,且完全断开与公网的连接,杜绝外部攻击。

6. 故障排查与运维

  1. 离线处理机制设备依赖Wi-Fi连接。若网络中断,你的API调用会返回错误。方案需包含优雅降级逻辑:当收到API报错时,应在业务系统内标记该“分路”为不可用,避免用户付款后无法使用。

  2. 负载与速率限制设备单路功率有限制(阻性负载单路不超2200W,总和不超4400W)。虽然API下发极快,但频繁的通断指令(如每秒10次以上)可能增加设备MCU负载,在循环下发指令时增加 100ms 延时。

  3. 状态同步机制虽然API的请求响应很快,但为了高可用,你的系统实现定期巡检机制:每隔5分钟查询一次设备状态,将数据库中的“预期状态”与设备“实际状态”进行比对,若发现状态漂移(如用户未操作但断电了),执行自愈指令重设。

7. 总结

通过对接芯步24路控制器的 分路独立控制API ,结合业务层的 权限映射中间件,你可以快速构建一套高可靠性的分时租赁或区域管控系统。该方案的核心在于:

  • 前端 仅触发业务逻辑。

  • 后端 负责鉴权、订单计费,并调用 https://api.thingboot.com 封装 power{1-24} 命令。

  • 硬件 执行最终的通断动作,实现物理隔离式的安全管控。