通信机房的设备下电、服务器重启、远程运维,这些场景下如果能远程控制每一路电源,运维效率会提升不少。芯步的8位分控PDU走的HTTP接口,接入门槛不高,下面从集成方案到代码示例都有。
用芯步智能PDU,给你的软件加上“遥控器”
一、 为啥要在项目里加这玩意儿?
先聊聊背景。现在不管是搞运维平台、数据中心管理系统,还是那种做基站能耗管理的SaaS,或者你只是在给自己公司的机房做自动化改造,都会遇到一个头疼的问题:设备死机或者需要重启的时候,得派人跑现场去拔电源。
这也太掉价了。
尤其是现在的通信机柜,里面塞满了路由器、交换机、服务器,还有各种工业设备。要是你的软件系统能直接控制电源,那就相当于给运维团队装上了“千里眼”和“遥控手”。客户那边说“服务器卡死了”,你在后台点一下“重启第3口”,电一断一开,好了。这就是硬实力。
芯步的这款“智能8位分控PDU”,说白了就是一个能上网的智能插排,但它是机柜专用的,铁壳子,不怕烧,而且8个孔位是独立控制的。最重要的是,他们把所有接口都开放了,不用交保护费,直接调HTTP接口就能控制。
下面,我们就聊聊怎么能“手把手”把它怼进你自己的系统里。
二、 咱们能控制啥?
上手之前,得先知道这玩意儿能给你的软件提供什么“服务”。它主要暴露了这么几类能力:
远程开关:控制指定某一个插孔通电还是断电。这是最常用的,重启设备全靠它。
循环重启:比如你先断第5口,等5秒再自动通电,省得你发两次指令。
批量操作:一键把所有端口全关掉,或者只开特定的几个口。
数据读取:读取当前每路开关的状态(是开着呢还是关着呢)。
三、 怎么接?分三步走
这一步比较干,但是核心。开发人员看这里就对了。
他们这个设备用的是WiFi联网(支持2.4G),不需要买额外的网关,插上电配个网就行。通信协议是HTTP,也就是不管你的后端是Java、Python、Go,甚至是前端JS直接调,都没问题,很灵活。
第一步:先让设备上网
把PDU插上电。你需要在芯步的后台或者小程序里,把现场的WiFi账号密码告诉设备。这一步叫“配网”。
注意:WiFi必须是2.4G频段的,5G的穿墙好但连不上这玩意儿。
配完网之后,在你的芯步后台里能看到这台设备,并且你会得到一个设备ID,这个就是身份证,记下来。
第二步:搞到“钥匙”
要控制设备,你得证明“你是你”。在你的软件请求头里,必须带着签名。
你需要去芯步的控制台,注册一个账号,创建一个“工作台”(这相当于你的项目空间)。系统会给你发一个 AppID 和 AppKey(或者叫AccessKey)。
签名的算法大概逻辑是:你把请求的参数、设备ID、当前时间戳,加上你的AppKey,混在一起做个MD5或者SHA256。这么做是为了防止别人乱发指令控制你的机柜。
伪代码逻辑看起来是这样的:
第三步:发指令,控制第3口断电
这是最爽的一步。假设你要重启插在第3口的路由器,你需要做的只是给你的服务器发一条命令,让你的服务器去请求芯步的接口。
接口地址大概长这样(示例):https://api.yoyoiot.com/ordercontrol
请求参数:
如果返回成功,你会听到机柜里“滴答”一声(继电器响),那个端口就断电了。过几秒你再发一条 power_on,设备就重启了。
这里有一个小窍门:很多设备断电重启就完事了,但有些精密设备需要断电时间长一点。你可以用他们的“先断后通”接口,设定断15秒再开,解放