芯步8路控制器提供完整的HTTP API接口,支持独立控制每路灯光或电器。以下方案涵盖接口协议、签名算法、分路控制实现及典型场景应用。
1. 产品概述与选型
芯步提供的8路智能控制器专为共享设备场景设计,支持8路独立输出,可接入各类灯光和电器设备。该系列包含两个主要版本:
智能控制器8路|交流电压版:工作电压AC 85-265V,单路最大10A输出,额定功率阻性负载最大2200W/路,总负载不超过4400W。适用于共享自习室、台球室、设备改造等场景。
智能控制器8路|直流电压版:适用于直流设备场景,单路最大1000W,总负载不超过2500W。
两种版本均提供8路开关量信号输入(可外接物理开关),支持WiFi 2.4GHz无线连接,待机功耗仅0.4-1W。
2. API接口体系
2.1 接口架构
芯步开放平台提供两种调用方式:
| 方式 | 地址格式 | 适用场景 |
|---|---|---|
| 云端API | https://api.thingboot.com/{AppID}/device/control/ | 远程控制、跨网络访问 |
| 局域网API | http://{设备IP}/control | 本地局域网控制、低延迟场景 |
云端API适用于需要远程管理和跨地域访问的场景;局域网API则适合对响应速度要求高、内网环境运行的业务系统。
2.2 核心接口说明
接口地址POST https://api.thingboot.com/{AppID}/device/control/?sign={sign}&ts={ts}
请求参数
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
| device | string | 是 | 设备唯一ID,可在控制台查看,支持多设备逗号分隔 |
| order | json字符串 | 是 | 控制命令,具体格式见命令协议 |
返回结果
code=200:命令下发成功(不代表设备已执行)
code=501:未指定设备ID
code=502:设备不存在
3. 签名算法与鉴权
3.1 签名计算流程
所有API请求必须携带签名(sign)和时间戳(ts)参数。签名计算方式为双重MD5加密:
3.2 完整请求示例
4. 分路控制命令协议
4.1 单路独立控制
8路控制器支持对每路输出进行独立控制,命令格式为powerX,其中X为1-8的路数编号:
| 操作 | 命令格式 | 示例JSON |
|---|---|---|
| 开启第N路 | {"powerN":1} | {"power1":1} 开启第1路 |
| 关闭第N路 | {"powerN":0} | {"power5":0} 关闭第5路 |
4.2 批量控制
批量控制适用于需要同时操作多个线路的场景,有效减少API调用次数:
| 控制场景 | 命令格式 |
|---|---|
| 全开 | {"batch":{"power":1}} 或 {"power":1} |
| 全关 | {"batch":{"power":0}} 或 {"power":0} |
| 指定线路开启 | {"batch":{"relay":[1,3,5,7],"power":1}} |
| 指定线路关闭 | {"batch":{"relay":[2,4,6,8],"power":0}} |
4.3 时序控制(先通后断/先断后通)
时序控制适用于需要切换设备状态的场景(如灯光切换、电机正反转),可避免设备同时通电造成短路风险:
| 时序类型 | 命令格式 | 说明 |
|---|---|---|
| 先通后断 | {"point":{"relay":[1,2,3],"interval":1000}} | 先全部接通,间隔1秒后断开 |
| 先断后通 | {"reset":{"relay":[1,2,3],"interval":1000}} | 先全部断开,间隔1秒后接通 |
5. 典型应用场景实现
5.1 共享自习室灯光控制系统
业务需求:用户扫码付费后,控制对应座位的灯光和插座通电,时间结束后自动断电。
5.2 台球室灯控系统
业务需求:收银台统一控制各球台灯光,支持按时计费和远程开关。
5.3 状态查询与异常处理
云端API的200状态码仅表示平台成功接收到命令,不代表设备已执行成功。对于需要确认设备状态的场景,有以下方案:
方案一:订阅异步消息推送平台支持命令执行结果的异步推送,可在命令中携带extra字段用于追溯:
方案二:设备状态查询接口通过设备状态查询接口获取当前线路通断状态:
6. 局域网直连模式(低延迟场景)
对于对响应速度要求比较高的场景(如现场按钮联动),推荐使用局域网直连模式。
6.1 准备工作
确保设备与服务器在同一局域网
获取设备IP地址(可通过路由器DHCP列表或设备配网信息获取)
6.2 调用方式
局域网模式优势在于
低延迟:无需经过云端中转
高可靠性:不依赖外网连接
实时反馈:返回设备实际执行状态
7. 最佳实践
| 实践项 | 说明 |
|---|---|
| 签名缓存 | AppSecret的MD5值可缓存,避免每次请求都重复计算 |
| 批量控制优先 | 同时控制多路时使用batch语法,减少API调用 |
| 异步确认机制 | 业务关键操作需订阅消息推送或二次状态确认 |
| 心跳保活机制 | 长周期运行的设备定期发送空指令保持TCP连接 |
| 硬件负载估算 | 交流版单路2200W阻性负载,感性负载需降额使用 |
| 网络冗余 | 设备所在位置须确保2.4G WiFi信号稳定 |
8. 故障排查
| 错误码/现象 | 可能原因 | 解决方案 |
|---|---|---|
| code=502 | 设备ID错误或设备离线 | 核对设备ID(设备外壳/控制台查),检查设备网络 |
| 命令下发成功但设备无响应 | 设备离线或WiFi信号弱 | 检查设备在线状态,优化WiFi信号覆盖 |
| 签名验证失败 | AppSecret错误或ts过期 | 检查AppSecret,确保时间戳同步 |
| 单路无输出 | 超过额定负载触发保护 | 检查接入电器功率,复位设备 |
以上方案覆盖了芯步8路控制模块的完整二次开发流程。核心要点是理解签名鉴权机制、掌握分路命令协议(power1~power8),并根据场景选择合适的控制模式(云端/局域网)。开发者可根据实际业务需求,在此基础上扩展计费系统、预约管理等高级功能。