芯步的8路远程控制继电器模块通过HTTP API接口开放控制能力,对接流程主要分为三步:准备工作(获取凭证)、签名计算(安全校验)、接口调用(下发指令)。以下方案涵盖了独立控制、批量控制、状态查询等常见场景。
解决方案:基于芯步开放平台的8路远程控制继电器模块对接方案
1. 概述
芯步的 8路远程控制继电器模块(型号:UNI-KZQ-TY-8)是一款支持WiFi联网的智能控制器,提供8路继电器输出。通过其开放的HTTP API接口,开发者可以将其集成到现有的Web应用、移动应用或后台系统中,实现对8条线路(设备)的独立或批量通断电控制。
适用场景: 智能售货柜、远程机柜重启、沙盘模型灯光控制、工厂设备远程启停、智能家居集中控制等。
2. 硬件与接口准备
在开始对接前,需要完成硬件上电与平台注册。
| 准备项 | 具体内容与操作步骤 |
|---|---|
| 硬件 | 8路继电器模块、DC 12V1.5A电源(产品附带) |
| 网络 | 2.4GHz WiFi环境(注意:不支持5G WiFi) |
| 平台凭证 | 1. 登录注册账号2. 创建“工作台”并进入“物联网控制台”3. 在“开发设置”中获取 AppID 和 AppSecret(开发者密码) |
设备激活: 使用手机App或控制台界面,将设备配网绑定至你的账号下,记录下设备唯一的 Device ID(通常为一串数字)。
3. 接口对接核心逻辑
芯步的接口采用标准的 HTTP POST 请求进行通信,请求地址格式如下:https://api.thingboot.com/{AppId}/device/control/?sign={sign}&ts={ts}
核心难点在于签名(sign) 的计算,这是为了保障API调用的安全性。
签名生成规则(按顺序执行):
获取当前的Unix时间戳(秒),例如:
1715678900,作为ts。对
AppSecret进行第一次MD5加密,得到字符串S1。将
S1与ts拼接(直接拼接,无符号),得到字符串S2。对
S2进行第二次MD5加密,得到最终的sign。
*公式:sign = MD5( MD5(AppSecret) + ts )*
4. 接口调用实战:控制8条线路
获得凭证和签名后,即可通过发送JSON报文来控制继电器的闭合与断开。
4.1 控制单一路(例如:打开第1路,关闭第2路)
通过修改 order 参数中的 power1, power2 来指定线路状态(1为接通,0为断开)。
请求示例(JSON):
应用场景: 控制某一个电机的启动或停止。
4.2 批量控制(一键全开/全关)
使用 batch 命令可以同时写入所有8个端口的状态,减少网络请求次数。
请求示例:
应用场景: 设备复位、生产线紧急停止或场景模式切换。
4.3 脉冲模式(先通后断)
控制线路接通一段时间后自动断开,用于控制门锁、闸机或触发信号。
请求示例(第1路接通2秒后自动断开):
应用场景: 自动售货机出货弹射、点动控制。
5. 代码实现示例(多语言)
以下代码演示如何生成签名并下发命令。
通用 Bash (cURL) 示例:
Java 示例 (使用 Unirest):根据官方文档,Java调用依赖Unirest库,核心在于构造签名和JSON Body。
6. 注意事项与常见问题
负载限制: 该模块直接负载能力有限(单路阻性负载最高2200W)。控制大功率电机或空调时,必须在模块输出端外加交流接触器进行扩流,否则会烧毁板载继电器触点。
感性负载: LED灯、电机等感性负载易产生浪涌电流,降额使用(如700W以下)。
网络延迟: API下发指令到设备执行,公网传输通常有 80ms-200ms 的物理延迟,若需实时性比较高(<50ms)的控制,在局域网内使用(如果设备支持局域网IP直连或组播)。
状态同步: 硬件存在被人按动实体按键的可能性(若接了外接开关)。你的系统应定期调用设备状态查询接口(控制台有文档)来同步真实的最新状态,防止系统界面显示与实际不符。
7. 总结
通过芯步的标准HTTP接口,对接8路继电器模块非常简单。开发者只需关注签名生成算法和JSON命令结构,即可在2小时内完成从注册到控制第1个灯泡点亮的完整流程。利用 batch 和 point 命令,可以很方便地实现复杂的工业或商业逻辑控制。