一、先聊聊痛点:为什么机柜需要“聪明”的插排?
做无人值守门店的朋友应该都懂这个痛:设备死机了,你是不是得专门跑一趟去“按重启键”?或者某个分店的空调忘了关,电费哗哗地流。特别是机柜里的网络设备、收银服务器,一旦卡住,整个店就瘫了。
这时候,一个能远程控制的8位机柜智能插排就派上用场了——点一下按钮,断电再通电,设备硬重启,人不用跑腿。芯步的智能插座产品正好能解决这个问题,而且他们对开发者很友好,接口是开放的,集成起来不费劲。
二、准备工作:认识一下你的“新硬件”
芯步的智能插排(或者说智能PDU/墙壁插座)核心特点就三个:
WiFi直连:不需要额外买网关,插排自己连2.4G WiFi,即插即用。
HTTP接口开放:不管是Java写的后端、Python脚本,还是前端页面,只要支持HTTP请求,都能调用。
双向通信:不仅能远程控制通断,还能实时看到电流、电压、功率,设备有没有在偷懒一目了然。
我们这次要集成的目标是一个8位机柜插排(也就是带8个插孔的PDU),每个插孔都可以独立控制——这很关键,意味着你可以只重启“收银机”,而不影响“路由器”。
三、集成思路:怎么让插排“听懂”你的系统?
3.1 整体架构图(脑补一下)
你的后台系统 <---> 芯步云平台 <---> (WiFi) <---> 机柜智能插排 <---> 插在插排上的设备
说白了,你的系统不是直接跟插排说话,而是通过芯步的API发指令。云平台负责把命令推给插排。
3.2 核心步骤概览
Step 1:注册芯步账号,在控制台拿到AppId和Token(就像办了个会员卡)。
Step 2:给插排配网,让它连上WiFi,拿到设备ID(就像给插排办了身份证)。
Step 3:在你的代码里封装API调用,发HTTP请求控制插排。
Step 4:把按钮做到你的门店管理系统里——工程师点一下“重启”,后端就发指令关掉对应端口再打开。
四、动手干:接口调用实战(附代码思路)
4.1 准备工作:拿到钥匙
登录芯步的控制台,创建一个“应用”,你会得到:
AppId:标识你的应用
Secret Key:用来生成签名,防止别人乱调你的设备
同时,把插排配网后,在设备列表里找到它的Device ID(一串字符串,比如 ABC12345)。
4.2 接口怎么调?
芯步的接口地址长这样:
这里面有三个动态参数
AppId:直接填你控制台里的那个ts:当前的时间戳(Unix格式),用来防止重放攻击sign:签名,把AppId + SecretKey + ts拼起来做MD5(具体看官方文档)
请求体(Body) 也很简单,form格式:
这个 order 里的 power 就是控制开关的:
"power":"1"代表开启"power":"0"代表关闭
4.3 举个例子:Java实现(用OkHttp)
假设你要关闭插排上的第1个插孔(如果插排是单路的,power 控制整体;如果是8路的,会用 power1 到 power8 分别控制——文档里会写明batch命令,别急,下面会讲)。
返回结果里会有成功或失败的标志。
4.4 进阶操作:控制8个孔,加上定时重启
控制单个孔:如果是8位插排,通常用 power1、power2...power8 来表示每个孔。比如关第3个孔:
批量控制:一次性关掉所有孔:
带延时的重启:这招在无人值守里最实用——先断开,等5秒再自动接通,设备就完成了一次硬重启。这时候用