CATALOG

共享充电桩场景中,8位机柜总控PDU的核心价值在于远程控制每个端口的通断电(重启/计费通断)并监测用电状态。以下方案基于芯步开放接口,实现PDU与业务系统的完整对接。

解决方案:基于芯步开放接口的共享充电桩机柜PDU电源控制集成方案

1. 概述与行业痛点

在共享充电桩/换电柜的运营中,机柜通常由一台总控PDU(电源分配单元)为多个充电仓或充电端口供电。常见的痛点是:设备死锁需要现场硬重启、无法精细计量单端口功耗、故障排查困难。

解决思路:利用芯步开放平台的 HTTP API / MQTT 接口,将传统的“哑设备”PDU转化为可远程感知、控制、诊断的智能终端。通过软件项目(APP、小程序、SaaS后台)直接控制PDU的8个输出位,实现“一端口一控制”。

2. 核心准备工作:设备接入与物模型解析

在开发之前,需在芯步控制台完成基础配置:

  1. 设备添加:将8位机柜总控PDU作为“设备”添加到工作台。注意:如果PDU是通过网关连接的,需记录下 gateway 和设备 device 两个ID

  2. 获取凭证:获取 AppIDAppSecret,这是后续API签名的密钥。

  3. 协议理解

    • 控制指令:针对PDU,命令通常涉及对特定插位的开关。例如 {"power1": 1} 代表开启第1路输出,{"power2": 0} 代表关闭第2路

    • 状态反馈:PDU上报的数据通常包括电压、电流、功率以及各端口的开关状态。

3. 详细实施步骤:从接口调用到业务闭环

3.1 签名机制与鉴权(后端必做)

芯步接口采用动态签名验证,所有控制请求必须携带 signts(时间戳)。算法逻辑Sign = md5( md5(AppSecret) + ts )实施:在业务后端封装一个独立的“PDU控制服务”,集中处理签名生成和请求发送,避免前端暴露 AppSecret

3.2 核心功能开发:端口精细化控制

针对8位PDU,开发三个核心动作,映射到业务场景:

  • 场景A:用户结束充电/退还设备

    • 动作:断掉对应端口的电源。

    • 代码逻辑:调用 device/control 接口,传入 device ID 和命令 {"power[port_num]": 0}

    • 关键点:为了防止电弧或数据丢失,不应直接暴力断电(如果PDU支持)。应优先调用“软关”指令或先通知BMS停止充电,延时2秒后再断PDU。

  • 场景B:设备死锁自动重启

    • 动作:先关,等待数秒,再开。

    • 代码逻辑:系统检测到设备离线或故障 -> 下发 {"power[port_num]": 0} -> 记录日志 -> sleep(3) -> 下发 {"power[port_num]": 1}

    • 进阶用法:利用 extra 字段携带工单号。芯步支持在命令中附带 extra 字段,平台回调时会原样返回,方便你关联是“哪个订单”触发的重启

  • 场景C:批量初始化与巡检

    • 每天早上运维人员可通过后台一键下发指令:device=PDU001,PDU002...&order={"power_all": 1}(具体命令需查阅PDU产品手册),开启所有机柜端口。

3.3 状态同步机制:异步消息与轮询

PDU的状态不会仅通过API请求的返回值来确定,因为设备可能离线。

  • 异步回调(推荐):在你的服务器设置一个接收芯步推送的接口(Webhook)。

    • 当PDU执行命令成功或检测到过载时,平台会主动推送消息。

    • 数据解析:收到的JSON中包含 deviceorder(包含电流、电压等)。你可以在数据库中更新对应端口的实时功率,用于计费校验。

  • 主动查询:如果无法设置公网回调,可采用定时轮询,调用 /device/status 接口获取8个端口的最新状态。

3.4 异常处理与安全

在实际运营中,软件项目必须包含以下保护逻辑:

  1. 过载保护:设定阈值(如单端口 > 2200W)。当轮询到PDU上报的电流超过阈值时,软件自动调用指令 {"power[port_num]": 0} 切断该端口,并向运维人员发出告警。

  2. 超时确认:下发“断电”指令后,如果5秒内通过异步消息发现设备仍未断电(继电器粘连),系统应立即标记该端口为“故障”状态,并停止对该端口的新订单分配。

4. 数据对接与计费联动

共享充电的核心是计费,PDU的接入价值体现在“用电量”与“订单时长”的双重校验。

  • 电量计费:芯步平台上报的PDU数据中通常包含 kwh(累计电能)。软件项目可以读取该数值的增量作为计费依据,解决“时间到了但没充上电”的纠纷。

  • 占位检测:即使车辆充满电(电流降低),PDU端口仍在通电。业务系统应监测PDU功率变化:当功率低于阈值(如10W)且订单状态为“充电中”,系统应自动下发断电指令并结束订单,避免用户占位不拔枪影响周转率。

5. 实施注意事项

  1. 网关依赖:如果8位机柜总控PDU不具备4G/WiFi能力,而是通过RS485连接到一个4G网关,那么在调用接口时,必须填写 gateway 参数,指明数据由哪个网关转发,否则指令无法到达PDU

  2. 本地局域网控制(低延迟):如果你的机房与机柜在同一内网,PDU可能支持本地IP直连。但如果是通过芯步SaaS平台,走的是云端链路。对于断电重启这种毫秒级要求的场景,云端链路已足够(通常<1秒)。

  3. 固件兼容:不同品牌的PDU(如奥盛、ATEN)命令字不同。本文假设PDU遵循 power1 - power8 的命名规范。实际操作时,请先查阅该款PDU在芯步平台上的“产品手册”或“物模型定义”

总结

通过将8位机柜总控PDU接入芯步平台,你的软件项目获得的不仅仅是“开关”能力,而是一套可观测、可干预、可预警的电源管理基础设施。实现上述方案后,运维人员无需深夜奔赴现场重启设备,用户也能获得更流畅的自助服务体验。