仓储场景下,设备电源管理往往是最基础也最容易被忽视的一环。芯步这款AC4-30A物联网开关支持HTTP API直接调用,10分钟左右就能完成对接,很适合已有管理系统的团队快速集成。下面从接线到接口调用走一遍完整流程。
一、这东西能干啥?先聊聊痛点
做仓储管理的朋友都知道,库房里总有些设备让人头疼:比如下班后忘关的传送带、需要定时通风的风机、或者某个机柜里的服务器需要远程重启。传统做法要么安排人巡检,要么加装定时插座,灵活性差不说,还经常掉链子。
芯步的AC4-30A 智能通断器,说白了就是一个可以用 HTTP 命令控制的“高级插座”。但它不是插座形态,是一个导轨安装的继电器模块,直接串在设备的电源线上,额定电流 30A,最大能带 6600W 的阻性负载。我们仓库里的传送带、风机、照明回路,基本都能hold住。
这篇文章不讲虚的,直接说怎么把它对接到你自己的系统里。
二、准备工作:先让设备“上网”
在写代码之前,有几件事得先做完,不然接口调通了设备也不理你。
第一步:注册账号、创建工作台去芯步官网注册一个账号,然后创建一个“工作台”——你就理解成创建一个项目空间就行。这步在官网上点点就行,不费劲。
第二步:拿到钥匙(AppID 和 AppSecret)进入工作台后,找到“物联网控制台”模块,在开发设置里能看到 AppID 和 AppSecret。这两串东西就是你的 API 密钥,千万别写在代码里提交到 GitHub,也别告诉不该告诉的人。
第三步:设备配网AC4-30A 用的是 WiFi 2.4G 连接,不支持 5G。用手机 App 或者电脑端的控制台,把设备连上你仓库的 WiFi。配网成功后,在控制台能看到这个设备的唯一 ID(一串数字),这就是你以后控制它的“门牌号”。
三、核心环节:HTTP 接口怎么调?
芯步的接口设计得还算良心,就是标准的 HTTP POST 请求,不需要复杂的 SDK,任何能发 HTTP 请求的语言都能用。
3.1 接口地址长这样
注意看,URL 路径里直接带 AppID,参数里带签名和时间戳。签名(sign)是用来防接口被乱调的,设计得稍微有点绕,但照着公式写就行。
3.2 签名怎么算?一步一步来
官方给的签名算法是:md5( md5(AppSecret) + ts )
拆解一下就是:
先把你的 AppSecret 做一次 MD5 加密,得到一串 32 位的字符串
把当前的时间戳(秒级,比如 1704326400)拼接到这串字符串后面
把拼接后的新字符串再做一次 MD5
用 Python 写出来就是这样,清晰明了:
注意:时间戳 ts 既要参与签名计算,也要作为参数传到 URL 里。前后端会用同样的算法验证签名是否一致。
3.3 发个命令试试:打开开关
签名字符串算好了,接下来拼请求体。POST 的数据是 JSON 格式,两个字段:
device:设备 ID,可以是一个数字,也可以是多个用逗号隔开order:命令本身,也是个 JSON 对象
打开开关的命令是 {"power":1},关掉是 {"power":0}。
完整请求示例(Python + requests 库):
如果一切顺利,你会收到类似 {"code":0,"msg":"success"} 的响应,然后“咔哒”一声,继电器吸合,设备就通电了。实测从命令发出到设备动作,大概 80-120 毫秒,基本感觉不到延迟。
3.4 几个实用的命令
除了基本的开关,AC4-30A 还支持一些高级玩法
| 命令 | 作用 | 示例 |
|---|---|---|
{"power":1} | 立即接通 | 打开设备 |
{"power":0} | 立即断开 | 关闭设备 |
{"point":3000} | 先通后断 | 接通 3 秒后自动断开,单位毫秒 |
{"reset":3600000} | 先断后通 | 断开 |