芯步的智能空开用的是标准的HTTP接口,对接起来其实就是发几条指令的事儿。我把整个流程拆成了准备工作、签名算法、控制命令、高级玩法四个部分,你可以让开发照着一步步来。
门店电路控制:如何把35A智能空开接入项目
大家好啊,咱们今天聊一个很实在的问题:怎么把店里的电表、空开这种硬件,跟咱们自己的软件系统对接起来?
现在很多连锁店做智能化改造,买了芯步的35A智能空开。这玩意儿挺好,能远程跳闸、合闸,还能监测用电。但问题来了——厂家给的控制后台太通用,我想集成到自己的APP或总部的运维系统里,怎么办?
别急,芯步这玩意儿留了个“后门”——开放的HTTP接口。说白了,就是允许你通过写代码的方式,直接给它发命令。
下面我就结合这款35A智能空开(也叫智能断路器),手把手教大家怎么把它“塞”进你的项目里。
第一步:准备工作
在写代码之前,咱们得先搞定三样东西,缺一不可:
给设备连上网这东西支持2.4G WiFi,不需要额外的网关。你先把空开关上电,用厂家提供的配网工具,把它连到店里的WiFi。这一步必须做,设备没网,后面全是白搭。
找到三个关键ID登录芯步的后台,在“开发设置”里找到:
AppID:相当于你家大门的钥匙。
AppSecret:相当于钥匙的密码(这个绝密,千万别写在前端代码里!)。同时,在“设备列表”里找到那台35A空开的 Device ID(设备ID),这就是你要控制的那个对象的门牌号 。
确定项目环境你的后端用什么语言都行,Go、Java、Python、PHP……只要它支持发送HTTP请求就可以。因为他们家的接口就是最标准的HTTP协议 。
第二步:搞定“签名算法”
这是很多新手最头疼的地方,其实说白了就是为了防止别人随便控制你的电闸。
芯步的接口要求在请求地址后面带上 sign(签名) 和 ts(时间戳)。
逻辑其实很简单:
第一步:把
AppSecret进行一次MD5加密,得到一串字符串。第二步:把上面得到的那串字符,拼接上当前的时间戳,再整体做一次MD5加密。
用大白话讲:最终签名 = MD5( MD5(你的密钥) + 当前时间戳 )。
给大家一个伪代码示例(后端用):
注意:为了安全,这个逻辑一定要放在后端服务里做。前端如果直接调用,你的密钥就暴露了,别人能随便拉闸。
第三步:控制空开“通”或“断”
签名算好了,咱们正式开始控制。假设现在已经是凌晨两点,店里打烊了,你想远程切断总闸省电。
接口地址(这就是子弹要打的靶子):https://api.thingboot.com/{你的AppID}/device/control/
需要发送的数据(JSON格式):
注:"power":1 代表合闸(通电),"power":0 代表跳闸(断电)。
实战例子:假设你的后端服务收到了店长在APP上按的“关店”按钮,后端立马发一个POST请求。只要设备在线,咔嚓一声,电就断了。响应速度很快,一般在80到120毫秒左右 。
第四步:玩点高级的——定时与“闪断”
这种智能空开不止能简单的开和关,配合接口还能玩出很多花样:
定时任务(不需要搞复杂的队列)如果你想让空调在半小时后自动断电,不需要自己在服务器上写个定时器。直接在下发命令里带上延时参数
这句命令的意思是:立刻通电,但 1800000 毫秒(也就是30分钟)后自动断开。这种机制非常可靠,即使你服务器挂了,设备内部也会自己倒计时跳闸 。
分组控制(一键关总闸)假设一个店里有5个空开,控制照明、空调、冰柜。如果一个个发命令太麻烦。你可以在后台先把这5个设备绑成一个分组(比如叫“Store_101”)。然后程序里只需要对着分组ID发命令,店里所有的电就全关了 。
第五步:监听设备状态
光能控制还不行,万一跳闸了或者被人手动推上去了,你得知道吧?
芯步支持消息推送。你需要在自己的服务器上设一个接收地址(URL)。当空开状态发生变化时(比如电线短路自动跳闸了),平台会把消息主动推送到你的服务器 。这样,你的运维系统就能实时收到报警:“XX门店电路异常,已自动断开!”
总结一下
要把35A智能空开接入项目,其实就是三步:
后端写一个签名生成函数,保证安全性。
封装一个HTTP请求函数,对着设备ID发
{"power":0/1}。写一个接收接口,等着收设备的状态回传。
接口非常直白,就像你平时调淘宝的API一样。唯一需要注意的是:签名运算放在后端,密钥不要写在网页或APP代码里。 搞定这些,你们门店的电路智能化就打通啦!