CATALOG

芯步24路控制器的HTTP接口采用简单的签名认证机制,单次请求即可控制任意线路组合。以下方案涵盖批量控制的三种实现策略——顺序下发、单请求原子控制和场景化调度,你可以根据实际场景选择最合适的方案。

1. 产品与技术背景

芯步推出的智能通用控制器24路(型号:UNI-KZQ-TY-24) 是一款支持24路独立控制的远程控制器。该设备具备以下对开发者友好的特性:

  • 开放式API:设备开放标准的HTTP接口,只要设备联网,任何支持HTTP请求的编程语言(如Python, Java, Go, PHP, Node.js及C/C++等)均可对其进行二次开发

  • 灵活部署:支持2.4G WiFi直连,无需网关,且支持私有化部署和局域网控制,保障数据安全与响应速度

  • 核心控制指令:通过特定的JSON命令格式操作线路,如 {"power1": 1} 开启第1路,{"power23": 0} 关闭第23路,并支持批量指令场景联动

针对“远程批量控制”这一需求,本文将详细阐述如何通过二次开发实现对24路负载的集中、高效控制。

2. 准备工作:接口对接基础

在进行批量控制开发前,需完成以下基础配置,以便获取API调用凭证:

  1. 获取凭证:登录芯步物联网控制台,在“开发设置”中获取 AppIDAppSecret

  2. 理解签名机制:为防止接口被恶意篡改,所有HTTP请求需携带签名(sign)。签名生成规则为:

    • 第一步:计算 md5_1 = MD5(AppSecret)

    • 第二步:拼接字符串 str = md5_1 + ts(ts为Unix时间戳,单位秒)

    • 第三步:计算签名 sign = MD5(str)注意:在开发测试阶段可在控制台开启“调试模式”暂时忽略签名校验以加快开发速度,生产环境请一定要开启

  3. 设备ID:在控制台获取目标设备的唯一标识符(Device ID)

3. 批量控制的三种实现策略

针对24路控制器的特点,二次开发时可以采用三种不同的策略来实现批量开关控制,以适应不同的业务场景。

3.1 策略一:顺序单控法(适用于异步/低并发场景)

这是最基础的实现方式。循环调用单路控制接口。

  • 实现的方式是:构造多个HTTP请求,分别下发 {"power1": 1}, {"power2": 1} 等指令。

  • 适用场景:仅需控制少量线路(如3-5路),对时间延迟不敏感的系统。

  • 缺点:如果需要同时控制全部24路,需发送24次HTTP请求,耗时较长且占用较多网络资源。

3.2 策略二:批量原子控制法(推荐)

芯步的24路控制器支持在单次HTTP请求中携带多条指令,这是实现高效率批量控制的关键。

  • 核心命令:利用 batch 或直接在 order 字段中封装多个控制键值对。

  • 实现原理:根据产品手册,设备接口支持在一个JSON字符串中定义多个状态

  • 优势:极速响应,由于仅一次网络交互,24路开关状态切换几乎是瞬时的。

3.3 策略三:场景联动与定时任务

除了实时控制,二次开发还可集成平台API进行自动化管理:

  • 云端定时任务:通过调用芯步的API接口,为设备设置“定时任务”。

  • 应用实例:例如设置“每天08:00:开启第1-10路(办公区照明);23:00:关闭所有24路”。这种模式下,代码只需要调用一次设置接口,后续执行由云平台负责,不占用应用服务器资源。

4. 详细的二次开发实施步骤

4.1 封装请求核心函数

无论控制多少路,都需要一个底层函数来处理签名和HTTP请求。以下以通用伪代码逻辑说明:

4.2 实现“一键全开/全关”功能

利用上述函数,批量控制变得非常简单。

全开全部24路调用函数时,command_dict 参数构造为:

代码优化提示:在代码中可用循环生成该字典。

分批或选择性控制假设需要关闭第5路、开启第10路、关闭第18路:

仅需发送1个HTTP请求即可完成上述所有操作。

4.3 实现矩阵式/排队管理(高级应用)

结合业务逻辑可以实现更智能的批量控制,例如“自习室/台球厅电源管理系统”:

  • 业务需求:用户下单成功后,自动开启对应的“第N号桌”的电源(如插座和灯光);用户结账离开现场时后,自动关闭。

  • 代码实现思路

    1. 建立业务数据库表,映射“座位ID”与“控制器线路号”(如座位ID A01 对应 线路5)。

    2. 订单支付回调触发 -> 调用 control_device -> 构造 {"power5": 1}

    3. 为了确保安全(防止忘关),可额外调用API设置一个“倒计时定时任务”:2小时后自动执行 {"power5": 0}

5. 关键命令参数参考表

在编写代码时,请参考以下针对24路分体控制器的关键命令格式

功能类型命令格式示例备注说明
单路开启{"power1": 1}开启第1路继电器
单路关闭{"power1": 0}关闭第1路继电器
批量控制{"power1":1, "power5":0, "power10":1}一次请求同时控制多路状态
全切换/复位{"reset": 1}将所有线路重置为默认状态
互锁/先断后通{"point": 1, "pointNum":4}专业点控模式,适用于电机正反转等场景

*注意:参数中的数字1-24需根据实际接线线路替换。*

6. 解决方案价值总结

通过芯步的开放接口进行二次开发,实现远程批量控制主要带来以下技术优势:

  1. 低代码/高效率:开发者无需关心底层无线通信协议(Zigbee/Z-wave等繁琐配对),只需掌握基础的HTTP POST请求,甚至可以在10分钟内完成功能对接

  2. 极强的扩展性:由于该设备支持私有化部署和局域网API调用,该系统可以完美集成到现有的工业组态软件、酒店PMS系统、办公OA系统智慧农业大棚管理系统中,实现设备层与业务层的深度融合。

  3. 精准的状态反馈:结合上行消息推送机制,系统能实时捕捉到每一路线路的通断状态,便于在管理后台生成数据报表或进行故障预警。

该方案适用于智慧园区灯控、集中式充电桩管理、工厂产线信号指示、出租房水电控制等需要多路远程开关的物联网项目。