CATALOG

一、写给谁看?为什么要搞这个?

如果你正在做自助贩卖机、共享货柜或者智能零售项目,你一定遇到过这个问题:

机柜里的设备(屏幕、制冷模块、主控板)死机了,或者某个点位没反应。这时候你要么亲自跑一趟去断电重启,要么让场地运营帮忙拔插头——既不专业又耽误生意。

其实这事儿没那么复杂。用一个5位智能PDU(就是那种能远程控制每个插孔通断电的排插),再对接上芯步的开放接口,你就能在软件后台远程控制每个插座的开关。哪怕人在家里躺着,手机一点就能重启设备。

今天我们就聊聊这个5位PDU怎么接到你的软件项目里。

什么是5位PDU?简单说就是5个可以独立控制的插座孔位。你可以把贩卖机的5个关键设备分别插上去,每个孔位都能单独远程开关。芯步的这款叫“智能PDU5位[总控]”,支持WiFi直连,不需要额外买网关

二、对接前你得准备这几样东西

别急着写代码,先把这些基础信息拿到手:

  1. 获取AppID和AppSecret:登录芯步控制台,在“开发设置”里找到这两个东西。记住,AppSecret千万别泄露,它相当于你账号的“钥匙”

  2. 获取设备ID:把你买的那台PDU加到控制台之后,设备详情页能看到一串数字,这就是你的PDU的唯一标识。每台设备的ID都不一样

  3. 确认网络环境:这款PDU用的是2.4G WiFi,连上就行,不需要网关中转

准备就绪,我们开始动手。

三、核心接口:怎么给PDU下发命令?

芯步的接口设计得还算友好,就是标准的HTTP请求。核心接口地址是这样的:

http(s)://api.thingboot.com/{你的AppID}/device/control/?sign={你的签名}&ts={时间戳}

看着有点晕?拆开看就明白了。

必传的三个东西

  • device:就是上面说的设备ID(比如"1878")

  • order:命令内容,告诉PDU要做什么

  • sign:签名,用来验证你的身份,防止别人乱调用

签名怎么算?(其实就两步)

官方给的计算方式是

sign = md5( md5(AppSecret) + ts )

我用人话翻译一下:

  1. 先把你的AppSecret做一次MD5加密

  2. 把上一步的结果加上当前的时间戳(ts),拼在一起,再整体做一次MD5

最后得到的就是sign。每次请求的ts不一样,sign也就不一样,这样就算有人截获了你的请求,也没法拿来重放攻击。

最常用的命令示例

让第1个孔位通电(打开设备)

让第2个孔位断电(关闭设备)

一次控制多个孔位

完整请求示例(用curl演示)

一个小坑提醒

接口返回code:200只代表平台成功收到了你的指令,不代表设备真的执行了

什么意思?比如你的PDU刚好掉线了(WiFi断了),平台依然会返回200,因为它已经“尽力”把命令发出去了,但设备没收到。如果你需要确认设备确实执行了(比如做自动巡检、生成操作日志),订阅云端的消息推送——设备执行成功后会主动上报一条消息。

四、三个典型的实战场景

场景1:远程重启死机的制冷模块

假设贩卖机的制冷设备卡住了(设备在第2个孔位)。你不需要亲自去现场,后台一键操作:

这个过程可以做成自动的:如果监控系统检测到设备失联超过3分钟,自动触发重启逻辑。

场景2:定时开关省电模式

有些点位晚上没生意,你没必要让屏幕和灯光一直亮着。设个定时任务:

场景3:异常断电保护

最要命的情况:某个点位电流异常、或者温度过高。这时候应该立即切断该孔位的电源,防止烧坏设备或者引发火灾。

芯步的PDU支持设置电流阈值,超过阈值自动跳闸。你也可以在自己的软件里做一层:定时拉取PDU的状态数据,一旦发现异常就主动下发断电指令。

五、进阶玩法:批量控制多台设备

如果你有100台贩卖机分布在各个小区,总不能一台一台去控制吧?

芯步的接口支持一次命令控制多台设备,设备ID用逗号隔开就行

这一条命令就能同时关掉3台机器的第1个孔位。

但注意限制:一次最多100台设备。如果你有几百台,可以分批发,或者用MQTT的方式批量订阅推送。

六、网络波动怎么办?(加分项)

这是实际操作中最头疼的问题。WiFi设备偶尔会掉线,你命令发过去了它没收到,怎么办?

方案一:加个重试机制发命令后如果没收到设备确认,隔几秒再发一次。一般重试3次就够了。

方案二:用MQTT代替HTTP如果你对实时性要求高,芯步也支持MQTT协议。MQTT是长连接,命令下发更快,而且能清楚知道设备是否在线。

方案三:本地局域网控制这款PDU支持私有化部署,如果机柜所在场地有局域网,你可以把PDU和你的控制系统部署在同一个局域网内,不走云端,这样就没有公网依赖了

七、整体架构长什么样?

画个简单的图帮助理解:

[你的后台管理系统] --HTTP/MQTT--> [芯步云平台] --WiFi--> [PDU设备] --物理开关--> [贩卖机的各个设备]
                                    |
                                    +--异步消息推送--> [你的后台(确认执行结果)]

你只需要关心“你的后台”到“芯步云平台”这一段的对接,剩下的交给云平台和设备去处理。

八、总结:一句话记住

核心就三点:拿到设备ID → 算好签名 → 发HTTP命令。命令格式就是{"power孔位号": 1或0},1是开,0是关。

把PDU对接好,你的自助贩卖机运维效率至少提升一倍——不用跑现场重启设备,不用深夜打车去处理故障,省下来的人工成本,就是纯利润。

如果对接过程中遇到具体问题,去芯步的开放平台看接口文档,或者在他们控制台里直接用“API调试工具”试一下,比对着文档写代码效率高多了。