CATALOG

一、概述

在机房运维管理中,远程电源控制是实现“无人值守”的关键环节。芯步8位远程控制总控PDU(型号:UNI-PDU-ZK-8)是一款机架式智能电源分配单元,支持通过WiFi 2.4G无线网络接入,并开放标准HTTP接口,允许第三方系统对8路输出插座进行独立的远程开关控制

本文档旨在为开发人员提供完整的技术对接指南,涵盖设备配网、接口调用、签名算法以及项目集成等核心环节,帮助将PDU快速集成到现有的机房动环监控系统或IT运维平台中。

二、设备选型与能力识别

2.1 核心功能

  • 8路独立控制:支持对每一位输出插座单独进行开关操作,颗粒度精细到单台设备

  • 总控管理:除单路控制外,支持一键开启/关闭所有端口。

  • 状态反馈:可查询设备的当前通断电状态(需结合具体的接口文档或通过状态同步机制实现)。

2.2 技术特性

  • 通信协议:HTTP/HTTPS,设备作为Client连接云端或局域网服务器

  • 网络模式:支持直连WiFi 2.4G,无需额外网关;支持纯局域网私有化部署,满足高安全场景需求

  • 接入方式:适用于任何支持HTTP请求的编程语言(如Java, Python, PHP, Go, C#等)及平台(Web, 小程序, SaaS)

三、对接设计

3.1 逻辑架构图

在集成方案中,通常采用“业务系统+物联网云平台+硬件”的三层架构:

  1. 应用层(你的项目):机房动环监控系统、运维工单系统或内部IT管理平台。通过调用芯步开放API下发指令。

  2. 平台层(IoT平台):芯步云平台或企业自建的私有化服务器。负责设备连接管理、指令转发、状态同步和签名验证。

  3. 感知层(硬件):部署在机柜中的智能PDU。执行具体的电路闭合/断开动作。

3.2 数据流转路径

  • 控制流:运维人员点击(Web端) -> 业务后台生成签名 -> 调用云平台接口 -> 云平台下发给WiFi模组 -> PDU执行动作 -> 返回结果。

  • 状态流:PDU实时检测电流通断 -> 上报云平台 -> 业务系统轮询或通过WebSocket接收实时状态。

四、核心对接步骤

4.1 环境准备与网络配置

在编写代码前,需完成硬件的初始化及网络准入:

  1. 账号注册:登录芯步官网,注册企业账号并创建“工作台”。

  2. 设备配网

    • 方式A(控制台配网):登录物联控制台,录入现场2.4G WiFi的名称和密码,利用手机热点辅助模式将PDU加入局域网

    • 方式B(小程序配网):使用“芯步”小程序,扫码添加设备并配置WiFi。

  3. 获取凭证

    • AppID:在控制台“开发设置”中查看,用于标识你的应用身份。

    • AppSecret:用于生成接口签名,请妥善保管,严禁硬编码在前端。

    • Device ID:设备外壳标签或控制台设备列表中的唯一标识,API调用时用于指定目标设备。

4.2 接口签名与鉴权机制

为了保障机房操作的安全性,API请求需要进行防篡改验证。芯步采用AppID + Sign + Ts的鉴权方式

签名生成算法步骤:

  1. 获取当前Unix时间戳(秒),例如 Ts = 1715300000

  2. AppSecret进行一次MD5加密得到 Secret_MD5

    • Secret_MD5 = MD5(AppSecret)

  3. Secret_MD5Ts 拼接后进行MD5加密得到最终签名。

    • Sign = MD5(Secret_MD5 + Ts)

  4. 发起请求时,在URL Query参数中携带 AppIDSignTs

安全提示:服务器端会校验时间戳的有效性(通常为5-10分钟窗口),防止请求被重放攻击。

4.3 API 指令调用实践

对接的核心是向下发设备指令。请求地址示例如下(需替换实际域名):https://api.thingboot.com/{AppID}/device/control/?sign={Sign}&ts={Ts}

请求方式:POSTContent-Typeapplication/x-www-form-urlencodedapplication/json

Body参数示例(单路控制)若需重启连接在“第3口”的服务器,指令构建如下

Body参数示例(多路批量操作)如果需要批量重启核心交换机(连接在第1、3、5口),可利用批量指令:

该指令支持同时对指定端口进行通断电操作,减少网络往返次数,提升控制效率

4.4 高级控制逻辑(针对关键设备)

机房设备(如核心交换机、存储阵列)对电源操作敏感。PDU接口支持针对关键设备的保护性控制:

  • 先通后断:适用于主备电源切换场景。先开启备用线路供电,再切断主线路,确保业务不中断。

    • 指令示例:{"point":{"relay":[2],"interval":500}}(在第2路开启500ms后,再操作目标线路)

  • 先断后通:适用于设备冷重启(彻底断电再开)。先切断电源,等待指定时间(如10秒)让电容放完电,再恢复供电。

    • 指令示例:{"reset":{"interval":10000}}

五、项目集成落地实践

5.1 对接动环监控系统

在动环监控系统中,PDU不仅仅作为执行单元,也是数据采集单元。

  • 故障自愈逻辑:编写自动化脚本,利用ICMP Watchdog功能。例如:Ping核心交换机IP失败 -> 判定为死机 -> 调用API切断PDU第1口 -> 等待10秒 -> 调用API开启第1口

  • 联动策略:当机柜温湿度传感器检测到温度过高时,除了报警,系统可自动调用API切断非关键业务(如开发测试机)的电源,降低整体功耗和发热

5.2 私有化部署方案

对于金融、军工或高安全性要求的机房,设备可能无法连接外网。

  • 本地服务器:芯步PDU支持配置私有化服务器地址。

  • 通信方式:设备与本地服务器之间通过HTTP直连,完全脱离云端。你需要自行维护一套兼容上述API协议的服务端程序,或使用官方提供的本地网关软件

5.3 代码片段示例(Python)

以下是一个简单的远程重启函数示例,展示了在集成Python后端时的核心逻辑:

六、常见问题与排查

  1. 设备离线问题

    • 机房通常部署了5GHz WiFi或存在信号屏蔽。请确认PDU连接的是2.4GHz频段WiFi,且信号强度足够(RSSI值不低于-70dBm)

  2. 签名错误(401 Unauthorized)

    • 检查服务器时间是否准确(NTP同步),Ts偏差过大会导致校验失败。

    • 确认进行了两次MD5运算,且第二次拼接时直接使用第一次的32位MD5结果字符串。

  3. 并发控制

    • 运维平台若需批量控制大量设备(如全机柜断电),使用异步任务队列,避免HTTP连接池耗尽或触发API限流。

通过以上方案,可以实现芯步8位总控PDU与企业现有运维体系的深度整合,将电源管理从“人工按开关”升级为“系统API调度”,有效提升机房运维的自动化水平和响应速度。