芯步的24路控制器开放了标准HTTP接口,无论你是用Python、Node.js还是其他语言,都可以通过简单的API调用实现单路独立控制、批量操作和延时联动。以下方案涵盖从设备配网到接口调用的完整对接流程,也适用于4路、8路等同系列控制器。
解决方案:基于芯步开放接口的24路独立线路远程控制系统
1. 解决概述
本方案基于芯步 智能通用控制器24路 (UNI-KZQ-TY-24) 及其开放的API接口。通过调用标准的HTTP请求,开发者可以在任何支持HTTP协议的编程环境(如Python, Java, PHP, Node.js, 或纯前端Ajax)中,实现对单台设备多达24个端口的独立通断电控制。
核心优势:
独立控制:24个通道物理隔离,互不干扰。
接口标准:全系产品采用统一的API规范,学习成本低,代码复用性高。
部署灵活:支持公有云调用,也支持私有化部署,适应局域网环境。
实时反馈:支持异步消息推送,可获取继电器动作后的真实状态。
2. 硬件与接口准备
在开始编码之前,需要进行以下物理与软件层面的准备工作:
2.1 设备安装与配网
接线:根据外壳标识接入工作电压(通常为AC 85-265V宽电压或DC),将被控设备的火线/正极接入控制器的“公共端”,负载线接入对应的“常开端”(1-24路)。
网络配置:设备支持Wi-Fi 2.4GHz。使用微信或芯步App扫描设备二维码,为其配置网络。设备成功联网后,蓝灯常亮。
2.2 获取API密钥
登录[芯步开放平台]控制台。
进入“开发设置”页面,获取 AppID 和 AppSecret。
AppID:用于标识你的身份。
AppSecret:用于签名计算(Sign),保障接口安全。
记录设备的唯一标识 Device ID(在控制台“设备列表”或设备外壳标签上可找到)。
3. 接口鉴权与请求模型
芯步的接口采用动态签名验证,防止接口被恶意篡改。
3.1 请求地址
https://api.thingboot.com/{AppID}/device/control/?sign={sign}&ts={ts}注:私有化部署环境下,地址为 http://设备IP/control。
3.2 签名算法在请求头或参数中必须携带 sign(签名)和 ts(时间戳)。
ts:Unix时间戳(秒),用于防止重放攻击。
sign:通常为
md5(AppSecret + ts)或平台规则,具体以官方文档最新说明为准。
3.3 Python请求示例(伪代码逻辑)
4. 核心功能实现:24路独立控制逻辑
针对24路控制器,API命令遵循统一的命名规范。虽然24路的具体参数需以最新产品手册为准,但根据4路、8路等同系列产品的逻辑,命令格式具有高度一致性。
4.1 单路独立控制你可以单独控制1到24路中的任意一路,互不干扰。
开启第1路
{"power1": "1"}(1代表通/开)关闭第1路
{"power1": "0"}(0代表断/关)开启第N路
{"powerN": "1"}
应用场景:在共享棋牌室中,顾客扫码付款后,系统仅开启该房间对应的“照明”或“麻将机”线路。
4.2 多路批量控制如果需要同时操作多个线路(例如统一开灯),可以使用批量指令,减少HTTP请求次数,提高效率。
批量指令格式
{"batch": {"relay": [1,3,5,7], "power": "1"}}功能:同时打开第1、3、5、7路。
全开/全关
{"power": "1"}或{"power": "0"}(部分型号支持全局控制)。
4.3 场景联动与定时任务除了即时控制,接口还支持复杂逻辑:
先断后通 (Reset):适用于门禁控制(先断电复位,再通电开锁)。
示例:
{"reset": {"relay": [8], "interval": 500}}(第8路先断开,500毫秒后接通)。
定时任务:开发者可在后台设置Cron定时任务,调用API接口实现每晚11点自动切断所有电源。
5. 高级集成与私有化部署
5.1 局域网纯内网控制对于数据安全要求比较高的工业场景,设备支持私有化部署。
模式切换:将设备配置为STA模式或AP模式,并使其与服务器处于同一局域网。
调用方式:直接通过HTTP POST请求访问设备的局域网IP地址,例如
http://192.168.1.100/control,无需经过外网。优势:0延迟抖动,断外网依然可用。
5.2 设备状态实时同步由于HTTP请求返回的200状态码仅代表“指令下达成功”,不代表“设备真的执行了”(例如设备可能离线)。
为了实现真正的闭环控制,在服务器端配置消息接收接口(回调)。
当设备状态变化(如本地物理按键按下、继电器吸合/断开)时,设备会主动向服务器推送当前状态消息,开发者解析后即可更新数据库中的设备状态。
6. 总结
通过接入芯步智能通用控制器24路的开放接口,开发者可以通过以下简单步骤快速实现复杂的电路管理系统:
物理层:部署一台24路控制器,连接强电线路。
接入层:利用AppID和Secret封装一个
send_command(device_id, command)函数。业务层:根据业务需求(如工位管理、灯具测试、售货机补货),灵活调用
power1至power24参数。
该方案极大地降低了硬件开发门槛,让软件开发者能够专注于上层业务逻辑,而无需处理底层Wi-Fi通信和继电器驱动问题。