针对芯步 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 环境准备
注册开发者账号:在芯步官网注册账号并创建“工作台”。
获取密钥:在开发设置中获取
AppID和AppSecret。设备配网:使用“物联网控制台”或小程序,将 PDU 配置到茶室的 2.4G WiFi 网络下。
3.2 接口鉴权机制
由于所有控制指令都需要携带签名,后端需要封装一个通用的签名生成函数。
签名算法步骤
将
AppSecret进行 MD5 加密得到Secret_MD5。拼接字符串:
Str = Secret_MD5 + Timestamp(Timestamp为Unix时间戳秒)。将
Str再次进行 MD5 加密得到最终的Sign。
请求地址:
http(s)://api.thingboot.com/{AppId}/device/control/?sign={Sign}&ts={Timestamp}。
3.3 核心控制指令
第一种场景:用户下单,开启机柜电源
目的:给该包厢的 PDU 通电,激活内部所有设备。
HTTP Request 示例
Method:
POSTURL:
https://api.thingboot.com/YourAppID/device/control/?sign=xxxx&ts=1702880000Header:
Content-Type: application/jsonBody
说明:
"power":1代表闭合继电器,输出通电;"power":0代表断开继电器。
第二种场景:用户超时/离开现场时,关闭机柜电源
逻辑:调用上述接口,将 Body 中的
power值改为0。
第三种场景:查询设备状态
目的:管理员在后台查看该 PDU 当前是否有电。
常见方式:芯步平台通常支持状态主动推送(Webhook)或通过设备信息查询接口获取设备当前上下行数据,具体可查阅“消息推送”文档以获取设备回传的实时状态。
4. 共享茶室业务逻辑落地
4.1 自动绑定流程
在后台管理系统添加一个新的“茶室/包厢”。
输入该房间部署的 PDU 设备 ID(扫码录入)。
后台将“房间号”与“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 进行签名调用。重点是解决“总控断电导致设备离线”的死锁问题,通过保持主路由器常电来确保设备持续可控。通过上述方案,可以低成本、高效率地实现共享茶室的能源自动化管理。