CATALOG

一、我们聊点实际的

你有没有遇到这种情况:需要远程控制某个地方的设备开关,比如厂房的排风扇、养殖场的加温灯、或者仓库的照明?拉专线成本太高,人工跑过去又太麻烦。

芯步的“智能交流控制器2路”(型号UNI-KZQ-AC-2)就是专门解决这个问题的。这东西说白了就是一个可以装在电箱里的WiFi开关,能独立控制两路交流设备(灯、电机、水泵啥都行),关键是通过HTTP接口就能调用,你写几行代码就能让它听话

下面我就把整个对接过程掰开揉碎了讲一遍,从准备工作到代码实现,再到一些坑怎么避,争取让你看完就能上手。

二、这个东西能干什么?

先看一下这个控制器的基本情况,心里有个底:

项目说明
产品型号UNI-KZQ-AC-2
控制路数2路(独立控制)
工作电压100-240V AC(直接接市电)
每路最大电流10A
通信方式WiFi 2.4GHz
接口类型HTTP API
特殊能力支持私有化部署、局域网控制

简单说:把它接上你家/厂里的WiFi,然后你的服务器(或者云端)通过HTTP发个请求过去,它就能开关对应线路上的设备

三、对接之前要准备什么?

别急着写代码,先把这几样东西备齐:

3.1 硬件准备

  • 智能交流控制器2路本体一台(废话)

  • 220V交流电源(给它供电)

  • 待控制的设备:比如两盏灯、两个排风扇,你随意

  • 标准网线:配网时可能需要有线连接(具体看产品说明书)

3.2 软件/账号准备

  1. 注册芯步账号:去官网注册一个,免费

  2. 创建工作台:登录后进入控制台,创建一个工作台(相当于你的设备管理空间)

  3. 获取AppID和AppSecret:在“开发设置”里面能找到,这两个值是你的身份凭证,别泄露给别人

  4. 给设备配网:让控制器连上你家WiFi(这个步骤一般在控制台里操作,按提示来就行)

搞定这些,你的设备应该已经在控制台里显示“在线”了。

四、核心:怎么发指令控制它?

芯步的接口设计得比较直白,就是一个HTTP POST请求,带上签名和设备ID,然后告诉它你要干什么。

4.1 接口地址

4.2 签名是怎么算的?

这是最容易晕的地方,但其实没那么复杂。签名的计算规则是:

拆解一下:

  1. 先把你的AppSecret做一次MD5加密,得到一串字符串

  2. 把上一步得到的字符串,和当前时间戳(秒)拼接在一起

  3. 把拼接后的字符串再做一次MD5

打个比方:假设AppSecret是“abc123”,时间戳是“1700000000”第一步:md5(“abc123”) = “e99a18c428cb38d5f22e03”第二步:拼接得到 “e99a18c428cb38d5f22e031700000000”第三步:md5(上面这串) = 最终签名

注意:时间戳ts必须和签名里用的是同一个,而且服务器会校验时间差,一般5分钟内有效。

4.3 请求体要传什么?

请求体是JSON格式,需要两个字段:

  • device:你设备的唯一标识,在控制台里能看到

  • order:控制命令,是个JSON对象

    • {"power1": 1} 表示打开第1路

    • {"power1": 0} 表示关闭第1路

    • {"power2": 1} 打开第2路

    • {"power2": 0} 关闭第2路

如果你想同时控制两路,也可以这样:

4.4 完整的请求示例(用curl示意)

假设:

  • AppID = “12345”

  • 设备ID = “device_001”

  • 当前时间戳 = 1700000000

  • 计算出的签名 = “xxxxxx”

响应成功的话,会返回类似这样的结果:

五、实战场景:用Python写个定时开关脚本

假设你要控制厂房的排风扇,每天早上8点开,下午6点关。写一个简单的Python脚本丢服务器上就行。