CATALOG

针对芯步 5位总控智能PDU (UNI-PDU-ZK-5) 这款设备,由于其是“总控”型号(即5个插座位共用一个继电器,只能一起通断,不能单独控制),对接的核心逻辑相对简单。该设备完全支持通过 HTTP 接口进行控制,非常适合集成到共享茶室的管理系统中

以下是具体的对接解决方案,涵盖设备上云、接口鉴权、业务逻辑落地及异常处理。

1. 概述与目标

在共享茶室场景中,用户通过小程序/APP下单后,系统需要自动开启对应茶室机柜的电源(包括路由器、门磁控制器、茶具消毒柜等)。本方案的目标是将芯步的“5位总控智能PDU”无缝接入现有的软件后台,实现“订单开始即通电,订单结束即断电”的自动化管理。

2. 设备核心信息

  • 设备型号:UNI-PDU-ZK-5

  • 控制逻辑总控。意味着无法单独控制第1位有电、第2位无电;5个插座位同生共死。

  • 通信方式:Wi-Fi 2.4GHz(直连路由器,无需网关)

  • 接口协议:HTTP API(支持Json格式)。

3. API对接技术方案

芯步的开放平台采用标准的 HTTP 请求方式,签名算法为 MD5(MD5(AppSecret) + Timestamp)

3.1 环境准备

  1. 注册开发者账号:在芯步官网注册账号并创建“工作台”。

  2. 获取密钥:在开发设置中获取 AppIDAppSecret

  3. 设备配网:使用“物联网控制台”或小程序,将 PDU 配置到茶室的 2.4G WiFi 网络下

3.2 接口鉴权机制

由于所有控制指令都需要携带签名,后端需要封装一个通用的签名生成函数。

  • 签名算法步骤

    1. AppSecret 进行 MD5 加密得到 Secret_MD5

    2. 拼接字符串:Str = Secret_MD5 + Timestamp(Timestamp为Unix时间戳秒)。

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

  • 请求地址http(s)://api.thingboot.com/{AppId}/device/control/?sign={Sign}&ts={Timestamp}

3.3 核心控制指令

第一种场景:用户下单,开启机柜电源

  • 目的:给该包厢的 PDU 通电,激活内部所有设备。

  • HTTP Request 示例

    • MethodPOST

    • URLhttps://api.thingboot.com/YourAppID/device/control/?sign=xxxx&ts=1702880000

    • HeaderContent-Type: application/json

    • Body

    • 说明"power":1 代表闭合继电器,输出通电;"power":0 代表断开继电器

第二种场景:用户超时/离开现场时,关闭机柜电源

  • 逻辑:调用上述接口,将 Body 中的 power 值改为 0

第三种场景:查询设备状态

  • 目的:管理员在后台查看该 PDU 当前是否有电。

  • 常见方式:芯步平台通常支持状态主动推送(Webhook)或通过设备信息查询接口获取设备当前上下行数据,具体可查阅“消息推送”文档以获取设备回传的实时状态

4. 共享茶室业务逻辑落地

4.1 自动绑定流程

  1. 在后台管理系统添加一个新的“茶室/包厢”。

  2. 输入该房间部署的 PDU 设备 ID(扫码录入)。

  3. 后台将“房间号”与“Device ID”进行绑定。

4.2 订单状态机联动

在服务端(后端)编写一个中间件或触发器,规则如下:

触发事件动作指令备注
用户支付成功/订单开始调用接口 power=1通电,机柜插座供电。
用户点击“暂离”不操作 / 读取配置保持通电,避免空调/路由器频繁重启。
用户点击“结束订单”调用接口 power=0立即断电,锁死设备。
订单超时自动结束调用接口 power=0系统定时任务扫描并断电。

4.3 安全与死锁防护

由于 PDU 是“总控”,一旦断电,连接的路由器通信网关也会断电。

  • 问题:如果 PDU 自身断电,它就断网了,无法接收下一次的开机指令(因为设备离线)。

  • 解决方案独立供电策略

    • 将路由器/网关的电源插在该 PDU 上。

    • :PDU 只控制非基础设施设备(如:饮水机、茶炉、氛围灯、副路由器(桥接模式))。主路由器与物联网网关应保持 24 小时通电,确保 PDU 随时在线。

5. 代码开发示例(伪代码/后端逻辑)

以下为 Python / Golang 风格逻辑,供后端开发参考:

6. 疑难排查与优化

6.1 局域网直连与低延迟

芯步产品支持私有化部署和局域网控制

  • 优化:如果茶室的本地网络稳定,且要求外网断开时仍能控制,可以在本地服务器或树莓派上跑自动化脚本,通过局域网直接向 PDU 的局域网 IP 发送指令(需查阅设备局域网 API 文档),响应时间可缩短至 10ms 以内。

6.2 状态同步机制

  • 轮询:定时(如每30秒)调用设备状态查询接口,同步前端UI显示。

  • 推送:在芯步控制台配置 “消息推送URL” (Webhook)。当设备状态异常(如离线、电压过载)时,平台会主动通知你的服务器,以便及时短信通知运维人员。

6.3 设备离线处理

  • 场景:用户点击“通电”却返回“设备离线”。

  • 策略:后台捕获离线状态码,提示前台管理员“请检查机柜主电源或WiFi信号”,并自动生成运维工单。

7. 总结

将芯步的5位总控智能PDU对接共享茶室系统,核心在于利用平台封装好的 HTTP API 进行签名调用。重点是解决“总控断电导致设备离线”的死锁问题,通过保持主路由器常电来确保设备持续可控。通过上述方案,可以低成本、高效率地实现共享茶室的能源自动化管理。