共享设备柜的痛点是“远程可控”——用户付款后需要自动供电,归还后自动断电。芯步的5位PDU插排支持HTTP接口独立控制每个插座,正好可以解决这个问题。以下是完整的对接方案。
解决方案:基于芯步智能PDU的共享设备柜控制系统对接方案
1. 概述与场景解读
在共享设备柜(如共享工具箱、充电宝柜、快递柜或共享办公设备柜)场景中,核心需求是实现“远程授权使用”。当用户在线支付成功后,系统需自动为对应柜门的设备(如充电器、工具)供电。
本方案基于芯步 智能PDU(5位分控) 产品进行设计。该设备核心优势在于:
独立分控:5个插座位均可通过HTTP请求独立控制通断,对应5个不同的柜格。
响应迅速:命令下发到设备响应时间约为80-120ms。
接口友好:开放标准HTTP接口,无需理解复杂的物联网底层协议。
2. 对接准备与环境搭建
在编写代码前,需要进行硬件配置与开发密钥获取。
2.1 硬件配网设备依赖2.4G WiFi网络。
给PDU插排通电。
使用“芯步”小程序或官网控制台,输入现场的Wi-Fi名称和密码。
通过手机的2.4G热点或蓝牙进行近场配网,直到设备指示灯停止闪烁(表示在线)。
2.2 获取开发凭证登录芯步后台,进入“工作台” -> “物联网控制台” -> “开发设置”。
AppID:应用的唯一标识。
AppSecret:密钥,用于生成签名。提示:初期对接可开启“调试模式”暂时忽略签名校验,方便快速测试。
2.3 获取设备ID在控制台的“设备列表”中,查看已配网的PDU设备。
device:通常是一串数字,这是后续控制指令的目标对象。
3. 核心接口调用逻辑
芯步采用统一的API入口,通过参数order中的不同字段来区分控制哪一路插座。
3.1 请求地址(HTTP POST)
https://api.thingboot.com/{AppID}/device/control/?sign={sign}&ts={timestamp}支持HTTP和HTTPS,同时也支持MQTT协议。
3.2 请求头与鉴权
Content-Type:
application/json鉴权机制:在URL参数中携带
sign(签名)和ts(时间戳)。签名算法通常为MD5或SHA256(拼接AppSecret)。
3.3 核心控制指令表(针对5位PDU)根据“共享设备柜”场景,你需要关注以下order参数来控制对应插座
| 业务场景 | 指令动作 (order字段) | 说明 |
|---|---|---|
| 用户开启柜门 (供电) | {"power1":"1"} | 1号插座通电,设备识别号对应柜格1 |
| 用户关闭柜门 (断电) | {"power1":"0"} | 1号插座断电 |
| 管理员强制重启 | {"reset":{"relay":[1],"interval":3000}} | 针对2号位设备进行断电3秒后重启 |
| 批量全开/全关 | {"power":"1"} 或 {"power":"0"} | 整个PDU所有插座同时通断 |
注:命令中的power1、power2对应PDU上的物理插孔编号。
3.4 请求示例假设柜格3被用户租用,需要授权供电(开启第3个孔位):
返回{"code":200}代表指令下发成功。
4. 业务系统集成步骤
为了将PDU无缝接入你的共享设备柜项目中,按照以下架构进行开发:
步骤一:订单支付回调触发用户在小程序/APP完成支付 -> 你的后端收到支付成功通知 -> 触发“控制逻辑”。
步骤二:封装控制服务在你的后端代码中,封装一个通用函数 controlPdu(deviceId, port, status)。
输入:设备ID,插座位(1-5),状态(0/1)。
逻辑:组装上述JSON -> 生成时间戳和签名 -> 发起HTTPS请求。
注意:针对高频操作,使用连接池以减少延迟。
步骤三:状态同步与异常处理利用芯步的消息推送机制(Webhook),将设备状态变更加密推送到你的服务器。
场景:如果物理按键被人强行按下,你的后台通过推送能实时获知并更新数据库状态。
超时重试:若接口返回非200或网络超时,应设置重试机制(如间隔1秒重试3次)。
5. 关键注意事项与优化
为了确保商用稳定性,在对接中需关注以下细节:
5.1 签名与安全
如果在公网环境,请一定要关闭调试模式,严格校验sign,防止设备被恶意伪造指令控制。
支持私有化部署,若项目要求数据不出内网,可将API部署在局域网环境中。
5.2 硬件选型确认
确认采购的是 “分控” 型号(UNI-PDU-FK-5),只有分控才能独立控制每个柜子的电。如果是总控,5个孔位只能同时通断,不适用于共享柜。
5.3 体验优化
异步处理:控制设备的HTTP请求虽然快(~100ms),但不应阻塞支付成功的返回。采用消息队列(MQ)处理设备指令,先返回“操作中”状态给前端,通过WebSocket推送最终的开柜成功结果。
通过上述方案,你可以像调用普通云厂商API一样,在2小时内完成5路共享设备柜的电路控制集成。核心逻辑在于:用户的订单状态 -> 映射到PDU的具体插座位 -> 执行HTTP指令。