CATALOG

芯步24路智能远程电源控制器基于其开放平台API,可通过发送特定JSON指令实现点动(脉冲式)与自锁(开关式)模式的灵活切换。以下方案涵盖接口对接、指令构造及业务逻辑封装的全流程。

解决方案:基于芯步开放平台实现24路控制器点动/自锁模式切换

1. 总体技术架构

本方案基于芯步开放的API体系,通过 HTTP 请求向指定设备下发控制指令。由于该硬件支持单路独立控制,要在一个物理按键/按钮上实现“点动”与“自锁”的模式切换,本质上是在您的业务软件层(或上位机)维护一个状态机,通过调用不同的API指令来实现物理反馈逻辑的变化

  • 硬件层:芯步24路智能电源控制器(支持继电器输出)。

  • 接口协议:HTTPS / HTTP (基于AppID加密鉴权)。

  • 核心逻辑

    • 自锁模式:发送指令 {"powerX":"1"}(开启)或 {"powerX":"0"}(关闭)。

    • 点动模式:发送“先通后断”或“脉冲”指令,如 {"point":{"relay":[X],"interval":500}}

2. 准备工作:接口对接配置

在进行二次开发前,需在芯步网关控制台完成以下配置,以便调用 /device/control 接口

  1. 获取凭证

    • AppID:应用唯一标识。

    • AppSecret:开发者密码(用于签名计算)。

  2. 计算签名(Sign)

    • 所有请求需携带 signts(时间戳)。

    • 签名算法:sign = md5(md5(开发者密码) + ts)

  3. 设备ID:在控制台获取目标24路控制器的设备ID(Device ID)。

3. 核心实现:两种模式的指令下发逻辑

要实现在同一个UI界面(或同一个物理按键映射)下的“点动/自锁”切换,需要在您的服务器或客户端后台根据不同模式,构造不同的 order 参数。

芯步的API接口地址为:POST http(s)://api.thingboot.com/{AppID}/device/control/?sign={sign}&ts={ts}

请求参数示例:

以下是针对 第1路 输出的两种模式具体实现:

3.1 自锁模式(Toggle Mode)实现

场景描述:用户点击一下“开启”,继电器闭合保持;再次点击同一按钮“关闭”,继电器断开。实现原理:服务器记录该路当前状态(On/Off),发送相反状态指令。

  • 开启指令

  • 关闭指令

注:该模式下,设备断电重启后状态通常保持或恢复为默认断开,可根据具体固件版本查看。

3.2 点动模式(Jog / Momentary Mode)实现

场景描述:用户按住按钮时通电,松开按钮立即断电(类似门铃或气缸控制)。实现原理:利用接口支持的 point 参数(先通后断),设置极短的触发间隔。如果松手动作由前端捕捉,也可以前端调用两次API,但为了网络延迟稳定,推荐使用硬件API内部的脉冲指令

  • 脉冲触发指令(按下时执行一次)此指令会使继电器闭合500毫秒后自动断开,形成一次点动效果,无需用户发送两次指令

    • relay:[1] 指定第1路。

    • interval:500 表示先通电,500毫秒后自动断电。

4. 状态管理与业务逻辑设计

由于硬件本身并不直接识别“我是点动模式还是自锁模式”,这个逻辑需要您的二次开发程序来维护。

推荐设计模式:

  1. 数据库标记在您的设备管理系统中,为每个输出端口增加一个字段 control_mode

    • 例如:Channel_1_Mode = “Latching”“Momentary”

  2. 前端交互逻辑

    • 当用户在界面上点击“模式配置”,选择“点动”时,前端向后台发送配置指令(仅修改数据库标记,不操作硬件)。

    • 当用户点击该路的“物理开关”按钮时:

      • 程序判断:查询数据库该路当前是什么模式?

      • 分支A(自锁): 查询当前继电器实际状态(可通过接口 device/status 获取),如果是1则发 {"power1":"0"},如果是0则发 {"power1":"1"}

      • 分支B(点动): 无需查询状态,直接发送 {"point":{"relay":[1],"interval":参数}}

5. 注意事项与优化

  1. 24路批量操作如果您需要同时对多个通道进行模式切换或控制,可以使用 batch 参数避免循环调用接口占用资源

    • 示例:同时关闭第1路和第3路。

  2. 点动时的“粘滞”处理在高延迟网络下,如果用户点击“点动”按钮,由于网络原因指令发送慢,可能会有延迟感。在点动模式下,前端配合做“防抖”处理,避免用户快速点击导致脉冲时序错乱。

  3. 私有化部署芯步开放平台支持设备私有化部署。如果您的24路控制器应用在工业现场(对数据安全较高),可以部署私有化环境,API调用方式不变,只需修改Host地址即可

6. 总结

通过上述方案,您无需修改24路控制器的固件代码,仅需利用芯步开放平台提供的 /device/control 接口,结合 powerXpoint 两个核心指令,配合您的上层业务逻辑状态机,即可完美实现24路每路独立配置的“点动/自锁”切换功能。