CATALOG

共享设备柜项目的核心是实现“远程控制”与“状态反馈”的闭环。芯步的8路控制器通过标准HTTP接口开放控制能力,你可以像调用普通API一样操作每一路电磁锁,单次请求延迟通常在100ms以内。以下是完整的接入方案:

解决方案:基于芯步开放接口的共享设备柜控制系统

一、 选型与场景定义

在共享经济场景中(如共享茶室、共享储物柜、共享陪护床、快递柜等),核心需求是远程控制柜门的开启权限。

  • 目标设备:智能8路分体远程信号控制箱(以芯步 UNI-KZQ-FT 系列或 8路直流版为例)。

  • 控制对象: 直流电磁锁(12V/24V)或电插锁。

  • 业务逻辑:

    1. 用户端(小程序/APP)支付押金或下单。

    2. 后端服务器接收到支付成功回调。

    3. 后端向指定设备的指定“路数”发送“通电(开启)”指令。

    4. 电磁锁断电,柜门弹开。

    5. (可选)配合门磁传感器,反馈门状态。

二、 接口对接架构

由于芯步开放了完整的HTTP接口,你的业务服务器可以直接与其API网关通信,不需要中间件。

架构原理:用户手机 <---> 你的业务后端 (Spring/Tomcat/PHP/Node等) <---> 芯步API网关 <---> 8路控制器 (WiFi/4G) <---> 电磁锁

优势: 接口基于HTTP协议,签名机制简单,兼容所有主流编程语言,且支持私有化部署,数据安全性高

三、 详细接入步骤

第一步:准备工作与环境配置

  1. 注册与登录: 访问芯步控制台,注册企业/个人账号。

  2. 获取密钥: 在“开发设置”页面,获取 AppIDAppSecret注意:AppSecret 是用于签名加密的凭证,严禁直接暴露在前端(APP/小程序)代码中,必须存放在后端服务器

  3. 设备配网: 将8路控制器接通电源,按照产品手册将其通过WiFi(2.4GHz)接入互联网,或者插入SIM卡(4G版)。在控制台的设备列表中找到该设备,记录下唯一的 Device ID(设备ID)

第二步:理解签名机制(核心安全逻辑)为了防止接口被恶意篡改,每次请求都需要携带签名 Sign。芯步采用的逻辑是 “双重MD5加密 + 时间戳防重放攻击”

签名计算公式:Sign = MD5( MD5(AppSecret) + ts )其中,ts 是当前Unix时间戳(秒级)。

逻辑解析:

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

  2. S1 与当前时间戳 ts 拼接成新字符串 S1ts

  3. S1ts 再次进行MD5加密,得到最终的 Sign

第三步:核心接口调用(下发开门指令)这是接入最核心的部分——向指定设备的指定线路发送“断电”指令。

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

  • 请求方式: POST

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

  • 请求体 (Body):

    参数说明:"power1" 代表第1路继电器;0 代表断电(即开锁),1 代表通电(即关锁/保持)。如果是8路设备,同样支持批量控制,例如 {"batch":{"relay":[1,3,5,7],"power":0}} 可以同时开启4个柜门

第四步:你的后端代码示例(伪代码逻辑)

假设你使用的是Java Spring Boot 或 Python Flask,你需要封装一个函数:

  1. 拼接参数: 获取当前时间戳 ts,按照上述规则计算 Sign

  2. 发起请求: 发起一个HTTP Client,向芯步API发送POST请求。

  3. 处理回调/结果: 接口会返回JSON数据。如果返回 {"code":0} 或类似成功标识,代表指令已下发至设备;如果失败,需进行重试机制。

四、 硬件接线实战(对于共享设备柜)

“智能8路分体远程信号控制箱”通常指大功率分体式控制箱导轨式继电器模块,用于220V交流电或12V直流电的控制。

场景A:控制12V直流电磁锁(最常见)

  1. 电源准备: 需要一个 220V 转 12V 的直流电源适配器。

  2. 接线:

    • 将适配器的 220V 输入端接好。

    • 将适配器的 12V 输出“正极”接入控制箱的“公共端(COM)”或输入端正极。

    • 将控制箱某一回路(例如第1路)的“常开端(NO)”引出线,接在电磁锁的电源正极上。

    • 电磁锁的负极接回电源适配器的负极。

  3. 效果: 当服务器下发 {"power1":0} 时,继电器断开,电磁锁断电失去吸力,弹簧将锁舌弹出(开门)。

场景B:控制220V设备(如插座、照明)直接通过继电器控制火线的通断即可,零线并联

五、 项目落地中的关键优化点

  1. 控制权互斥与超时自动关门:在共享储物柜场景中,用户取完物品后需要能再次关门。硬件支持“先断后通 (reset)”或“先通后断 (point)”命令

    • 业务实现: 用户支付成功后,执行 reset 命令断电开锁。用户关门时,通常借助柜体上的物理按钮或“关门感应器”通知后端,后端再发送 power1:1 命令通电吸合锁舌。更简单的策略: 利用设备的“定时任务”功能,或者你在后端设置一个延时任务,开锁后30秒自动通电关锁,这样即使门没关,也会自动吸回,防止忘记关门。

  2. 设备状态同步:芯步支持消息推送机制。在项目中配置回调URL,当设备状态发生变化(如用户按下了柜外的物理按钮)或设备离线/上线时,平台会主动推送消息给你的服务器,这样能保持本地数据库状态与物理设备实时一致,避免出现“实际已关门,系统显示开门中”的现象

  3. 局域网私有化部署:如果你的共享设备柜部署在固定场所(如企业内部、学校),且对公网依赖性要求低,可以咨询芯步关于私有化部署方案。该控制器支持将API请求直接指向你本地的服务器,完全脱离外网,延迟更低且绝对安全

六、 总结

通过芯步的开放接口,将“智能8路分体远程信号控制箱”接入你的项目,本质上是一个“设备注册+签名鉴权+指令下发”的标准开发流程。

对于项目经理/开发者的实施:

  1. 协议选择: 优先使用HTTP接口进行快速原型开发,10分钟即可跑通第一个“开关门”流程

  2. 硬件测试: 在写代码的同时,一定要先在控制台手动控制一下设备,确认线路编号与物理电磁锁的对应关系。

  3. 代码封装: 在你的业务系统中,封装一个独立的 DeviceService 类,专门负责签名计算和API调用。这样未来无论增加多少路控制器,只需要传入不同的 DeviceID 和线路号即可。