芯步的8路直流控制模块可以通过HTTP接口轻松对接,实现定时启停控制——不需要网关,直接用WiFi连接,你的代码发个请求就能控制任意一路开关。
一、准备工作:先认识硬件和拿钥匙
首先,你要有这款 “智能直流控制器8路” (型号:UNI-KZQ-DC-8)。别被名字吓到,它本质上就是一个可以联网的、有8个输出口的开关。你可以用这8个口分别控制8个不同的直流设备,比如灯带、小电机、电磁锁等。
要把这个硬件和你自己的系统(比如你自己的服务器或脚本)对接起来,需要拿到以下“三把钥匙”,全部在芯步的官方控制台里能找到
AppID:你的应用ID,相当于你在平台里的账号标识。
AppSecret:你的应用密钥,这个要像密码一样保管好,千万别泄露。
Device ID:设备的唯一ID,也就是你要控制的那台8路模块的身份证。如果你有100台设备,就有100个ID。
另外,给设备通上12V直流电,然后用官方的小程序或网页控制台,把它连到你场所里的2.4G WiFi网络上。联网成功后,设备就可以接收指令了。
二、核心步骤:搞懂怎么发指令
芯步的接口非常直接,就是标准的HTTP POST请求。你只需要把你的指令以JSON格式塞进请求体里,发送给指定的API地址就行。
1. 计算签名
在发送命令时,为了安全,需要在URL里带上签名。别看到“签名”就头大,其实就是一个固定的算法,照搬代码就行:
Sign = md5( md5(AppSecret) + ts ),其中ts是当前的时间戳。
2. 命令格式详解
这是最关键的地方。它的核心就是 “order” 这个字段。根据你想做的操作,order 内容会不一样。
控制单一路:比如只想打开第1路,关闭第3路。
{“power1”: “1”}(打开第1路){“power3”: “0”}(关闭第3路)
批量控制:想一次性把第1、3、5路关掉。
{“batch”:{“relay”:[1,3,5],“power”:“0”}}
临时定时(一次性倒计时):这是实现“定时自动启停”的核心操作,不需要在服务器设闹钟,告诉设备直接执行。
想让第2路马上通电,1小时后自动断电?可以这样做:
先发打开命令:
{“power2”: “1”}再发一个倒计时关闭命令:
{“reset2”: 3600000}(注意,单位是毫秒,这里指1小时后复位/断开)
三、实战演示:用PHP写一个“定时喷淋”功能
假设一个场景:你的大棚里有8块田,你用这个控制器控制8个电磁阀。现在,你想要在每天早上8点整,自动打开第1个阀门喷水30分钟,然后自动关闭。
这时,你需要有一个PHP脚本,它每天早上8点被服务器的定时任务(Cron Job)触发。
PHP代码示例
代码解释:上面的代码做了两件事:第一,让第1路立刻通电;第二,让设备内部计时,在30分钟后自动切断第1路。这样,即使你的服务器在8:01宕机了,设备依然会在8:30准时关闭,因为它已经把任务“下载”到自己脑子里了。
四、进阶技巧与避坑指南
关于定时任务的两种实现方式
方式A(设备端定时):像上面演示的,用
reset或point命令。优点是依赖网络少,执行准时;缺点是不适合反复循环(比如每天都要做)。适合“打开后维持一段时间就关”的场景。方式B(服务器端定时):在你的服务器上写一个定时任务(Cron Job),每天早上8点调用接口打开,晚上10点调用接口关闭。优点是逻辑清晰,适合固定时间的循环任务;缺点是需要你的服务器稳定运行。
利用“先通后断”功能如果你想模拟一个“按一下”的动作,比如控制门禁开锁2秒后自动关上,可以使用
point命令。{“point1”: 2000}代表:第1路接通,然后自动断开,中间间隔2000毫秒(2秒)。这样你只需要发一次请求,非常方便。
如果是局域网使用如果你不想走云端,芯步支持私有化部署。只要你的电脑和这个8路控制器在同一个局域网里(不需要互联网),你可以直接把API请求发到设备的本地IP地址上,速度更快,也更安全。
总结
对接这个8路模块,其实就是 “拼JSON字符串” 的过程。
想马上开:发
{“power1”:“1”}。想定时关:发
{“reset1”: 毫秒数}。想模拟点按:发
{“point1”: 毫秒数}。
只要熟悉了这几个基础命令,不管是PHP、Java、Python,甚至是在微信小程序里,你都可以通过HTTP轻松调用来实现你的自动化控制需求。如果在对接中遇到问题,还可以联系他们的技术工程师协助支持。