CATALOG

芯步的8路控制器支持通过HTTP接口直接控制每路开关,要实现“点动”(按一下触发一次)和“自锁”(按一下保持状态)的切换,其实就是在你的业务代码里维护一个状态变量,然后给设备发不同的指令。

下面给你详细说说怎么搞定这事儿。

1. 先摸清硬件情况

首先要确认你手头的是哪款8路控制器,这两款虽然命令一样,但接的负载不同:

  • 智能通用控制器:交直流都能用,接小负载可以直接接,大负载需要加接触器

  • 智能控制器8路(直流版):专门用来接电磁锁、电插锁这类直流设备,常见于售货柜、快递柜

两款都支持 HTTP API,只要设备连上网,你就能随时随地调接口控制它

2. 核心接口:控制设备

要实现点动和自锁,全靠这个接口

请求地址:

(签名生成方式请参考官方文档,一般是为了安全做的MD5加密)

请求参数:你需要传两个关键参数:

参数说明示例
device设备的唯一ID,可以在芯步控制台找到"10086"
order控制指令(这是个JSON对象,具体见下表){"power1":"1"}

3. 模式切换实战

现在我们来看看在代码层面,怎么把这两种逻辑玩转。

第一种场景:自锁模式

就像家里的电灯开关。按一下开,灯一直亮;再按一下关,灯熄灭。

  • 点一下“开”:告诉设备把这路继电器吸合(通电),然后不管它。

  • 点一下“关”:告诉设备把这路继电器断开(断电)。

接口调用示例(假设控制第1路):

  • 开启(自锁状态ON):{"power1":"1"}

  • 关闭(自锁状态OFF):{"power1":"0"}

通俗理解: 你的程序需要记住这路现在是开还是关。用户点一下按钮,程序判断“当前是关”,就发“1”指令;再点一下,程序判断“当前是开”,就发“0”指令。

第二种场景:点动模式

就像门铃。按着的时候响(通电),松手就不响(断电)。在工业控制里,通常是指给一个短暂的脉冲信号

  • 操作一次:设备通电一瞬间马上断电,形成一个脉冲。常用于控制气缸、电机启动或者短按复位。

接口调用示例(控制第1路):由于HTTP接口本身是发一次指令执行一次动作,要实现点动,需要你的后端服务器在极短时间内连续发送两条相反的指令。

逻辑流程:

  1. 用户按一下“点动”按钮。

  2. 你的服务器发送:{"power1":"1"} (通电)

  3. 等待 200~500毫秒(这个时长根据你的设备需求调整,比如控制继电器线圈一般200ms就够了)。

  4. 你的服务器发送:{"power1":"0"} (断电)

很多开发者会问,能不能让硬件自己完成?目前这款8路控制器主要执行单次指令,这种“通断时序”逻辑最好还是由你的业务代码来控制最灵活。

4. 附赠小技巧:更多玩法

技巧一:批量控制(省事儿)

如果你想一键全开或者只开某几路,不用写8行代码,用批量控制就行

  • 全开:{"batch":{"power":1}}

  • 关掉奇数路(1,3,5,7):{"batch":{"relay":[1,3,5,7],"power":0}}

  • 只打开第2和第4路:{"batch":{"relay":[2,4],"power":1}}

技巧二:先通后断(Point)

这个功能在切换频道或者切换电路时非常有用。比如你想从线路A切换到线路B,如果先断A再通B,中间会有几十毫秒的断电时间,某些敏感设备可能会重启。这时候用 先通后断 模式:{"point":{"relay":[1,2],"interval":100}}意思是:先把线路2接通,等100毫秒之后,再把线路1断开。实现无缝切换。

总结一下

简单来说,这套方案就是把控制逻辑放在你的云端或本地服务器里:

  1. 自锁:服务器当“记忆开关”,记着状态,用户按一下就发相反的指令。

  2. 点动:服务器当“快手”,收到指令后,立刻发“开”,隔一会儿发“关”。

搞定这几个接口调用,你就能把这台8路控制器玩出花来了。