便利店夜间空调关不掉、煮蛋机空转一整天——这种“用电浪费”其实一台几百块的智能PDU就能解决。芯步的PDU开放HTTP接口,对接比你想象中简单得多,核心就是一个POST请求的事。
背景:便利店为什么要管机柜电源?
在便利店的日常运营中,除了收银系统和监控,还有鲜食机、蒸包机、饮料柜、灯箱等一堆设备。传统做法是员工下班手动关,经常忘关或者关错。然后电费账单感人,店长还要背锅。
这时候,如果有一个 “能远程掐电”的排插(也就是PDU,电源分配单元) ,一切就简单了:总部或者店长掏出手机点一下,某个插座就断电;还可以设定时任务,比如“每晚23:00关掉关东煮机,早上6:00开”。
芯步的智能PDU(8位总控或分控)就是干这个活的。而且它最大的良心之处在于:免费开放HTTP接口,意味着你不用买昂贵的网关硬件,也不用签年费好几千的SaaS账号,写几行代码就能集成到你自己的后台。
第一步:硬件选型和配网
我们要用的是 “智能PDU[分控]” 系列,8位版本。为什么强调分控?因为总控只能所有口一起开关,分控可以单独控制“果汁机开着,灯箱关掉”,灵活性高得多。
对接前的基础准备:
注册账号: 去芯步官网注册一个开发者账号(免费)。
创建工作台: 相当于创建一个项目空间,你的设备都会挂在这个空间下。
配网: 这是唯一需要动动手的物理步骤。用手机小程序或电脑控制台,把PDU连上便利店现场的2.4G WiFi(注意不支持5G WiFi)。连上网后,设备会获得一个ID。
第二步:看懂它的“开放接口”
芯步的接口非常“友好”,不像某些工业设备还要解析十六进制报文那么痛苦。它的本质就是 HTTP请求,不管你后端是Java、Python,还是前端Vue/React,甚至是Excel的VBA,只要支持发HTTP Post请求就行。
关键“三要素”你要拿到手:
AppID:你的应用ID,在控制台看。
设备ID:就是刚才配网那个PDU的唯一编号。
Sign/Token:用于验证你的身份,防止别人乱动你的排插。
核心API示例(向设备下发命令):
请求地址:https://api.thingboot.com/{你的AppID}/device/control/
请求体 (Body):
解读一下上面的代码:
device:就是你要控制的那台PDU。order:这里稍微嵌套了一下JSON字符串。power1代表第一个插孔,"0"代表“关”,"1"代表“开”。
就这么简单?就这么简单。你把这个请求发出去,PDU的1号口就“咔嚓”一声断电了。
第三步:设计对接架构(傻瓜式)
你可以把对接想象成“老板(软件系统)-> 传话员(API网关)-> 员工(PDU)”。
1. 如果你只是想本地局域网控制(最稳的方案):便利店有时断网,如果断网就没法关设备就太尴尬了。芯步支持私有化部署和局域网通信。
做法: 在便利店本地放一台工控机或树莓派,跑一个简单的脚本。脚本通过局域网IP直接呼叫PDU,不经过外网。
好处: 0延迟,断网也能用,省了公网带宽。
2. 如果你想做云平台集中管理(连锁店方案):假设你有100家店,总部要看着所有店的设备状态。
做法: 你的总部服务器直接调用芯步的云端API。
逻辑: 总部服务器 -> 芯步云 -> 便利店路由器 -> PDU。
优点: 不用维护任何硬件网关,代码写一次,全国通用。
第四步:实战代码逻辑(Node.js 示例)
假设你现在要写一个“自动巡检”功能:凌晨2点,自动把8个口全关了,只留监控和网络设备的电。
下面是核心逻辑,稍微口语化解释一下代码:
(注:实际生产中,sign签名验证按官方文档补齐即可,上述逻辑为控制核心)
第五步:进阶玩法——别只当排插用
既然PDU已经接到了你的软件项目里,你可以玩出花来:
数据可视化: PDU不仅能控,还能读电压电流。你可以做个大屏,显示“当前XX店冰箱功率异常,可能门没关好”。
故障自愈: 写个脚本Ping摄像头,如果Ping不通(死机了),自动触发PDU给摄像头的那一路断电3秒再重启(硬重启)。省了人工跑店里拔插头。
收银联动: 收银系统结账后,自动切断加热展示柜的电源,减少能耗。
总结
把芯步8位PDU对接到软件项目,技术上其实就是 “调用一个带着设备ID和开关指令的网址” 。难点不在代码,而在业务逻辑的设计:什么时候该断?断哪一路?断了之后如何确认设备确实停止了?
如果你在对接过程中,遇到连不上网或者签名校验失败,直接去骚扰芯步的技术支持,他们手册里写了:“免费提供全程技术指导”,别不好意思问,这是他们承诺的服务。