使用 Bruno 完整验证
使用 Bruno 集合验证认证、设备查询、继电器控制、RS485 透传和命令结果查询。相比两条 curl 请求,这条路径覆盖面更完整,且内置断言会自动校验响应结构,不需要人工比对 JSON。
开始前
- 准备
clientId和clientSecret。 - 开启
device:read;需要运行继电器或 RS485 相关请求时,再开启device:control或device:config。 - 确认目标设备和继电器可以安全控制。
- 还没有真实设备或凭据?可以联系 support@svnwi.com 申请测试凭据和可用的演示设备型号,不需要先购买硬件。
1. 安装 Bruno
下载 Bruno 桌面应用。CI 或无界面环境可以安装命令行工具:
npm install -g @usebruno/cli
bru --version2. 获取集合
只需要 SDK 仓库里的 examples/bruno 目录,不需要克隆整个仓库。使用 sparse checkout 只拉取这一部分:
git clone --filter=blob:none --sparse https://github.com/svnwi/wlte-openapi-sdk.git
cd wlte-openapi-sdk
git sparse-checkout set examples/bruno在 Bruno 桌面应用中打开:
examples/bruno/WLTE-OpenAPI/3. 配置凭据
提交到仓库的 environments/quickstart.bru 只包含占位符,可以安全地出现在 Git 历史里。真实凭据写入一份不会被提交的本地副本:
cd examples/bruno/WLTE-OpenAPI
cp environments/quickstart.bru environments/quickstart.local.bru打开 environments/quickstart.local.bru,仅替换:
clientId -> your_client_id
clientSecret -> your_client_secret在 Bruno 中选择 quickstart.local 环境。accessToken、deviceId、commandId 由集合脚本自动写入;relayIndex 默认是 1。
quickstart.local.bru 已在 .gitignore 中排除,不要手动改动这条规则。
4. 完成只读验证
按顺序运行:
| 顺序 | 请求 | 目的 |
|---|---|---|
| 1 | 00-auth / Auth | 获取 access token |
| 2 | 01-device-queries / 01-list-devices | 确认可访问设备,并自动写入 deviceId |
| 3 | 01-device-queries / 02-get-device-real-time-status | 刷新并读取单台设备状态 |
| 4 | 01-device-queries / 03-list-profiles | 查询设备类型定义,确认能力范围 |
| 5 | 01-device-queries / 04-get-device-config | 读取当前配置(波特率、点动时长等) |
内置断言会校验 HTTP 状态和响应结构。
5. 可选:验证设备控制
设备命令会改变真实硬件状态。仅在 API Client 具有对应权限且操作安全时继续,按需选择:
| 顺序 | 请求 | 目的 | 所需权限 |
|---|---|---|---|
| 6 | 02-relay-control / 01-turn-relay-on | 打开一路继电器 | device:control |
| 7 | 02-relay-control / 02-turn-relay-off | 关闭一路继电器 | device:control |
| 8 | 02-relay-control / 03-jog-relay | 触发一次点动 | device:control |
| 9 | 02-relay-control / 04-set-relay-jog-time | 设置点动时长(不改变继电器当前状态) | device:config |
| 10 | 02-relay-control / 05-control-multiple-relays | 一次请求控制多路继电器 | device:control |
| 11 | 04-rs485 / 01-rs485-transceive | 发送 RS485 透传数据(需要 RS485 能力设备) | device:control |
| 12 | 04-rs485 / 02-set-rs485-baud-rate | 设置 RS485 波特率 | device:config |
| 13 | 03-command-result / 01-get-command-result | 用上一步返回的 commandId 查询最终结果 | device:read |
只读接入可以跳过整节。测试 RS485 请求前,先把 rs485DeviceId 改成一台支持 RS485 的设备(默认回退到第一台已发现的设备,仅用于导航,不代表该设备支持 RS485)。
命令行运行
CLI 支持按路径选择要运行的文件夹,这样可以让"只读验证"和"设备控制"分开执行,不会在一次命令里意外触发继电器动作:
cd examples/bruno/WLTE-OpenAPI
# 只读验证:只会读取数据,不会改变任何设备状态
bru run --env-file environments/quickstart.local.bru \
00-auth 01-device-queries
# 设备控制验证:会真实操作继电器和 RS485 设备,确认安全后再运行
bru run --env-file environments/quickstart.local.bru \
02-relay-control 04-rs485 03-command-result不要直接运行 bru run --env quickstart
不带路径参数的 bru run 会递归执行集合里的全部请求,包括继电器开关、点动和 RS485 命令——即使你只想做只读验证。务必按上面的方式显式指定文件夹。
首次接入建议使用桌面应用,便于查看环境变量、断言和响应内容;CLI 更适合重复验证或接入 CI。
验证结果
完成本页后,已经验证:
- API Client 认证
- 设备访问、实时状态、设备配置和类型定义
- 可选的继电器控制、RS485 透传和命令结果查询
不要通过反复查询单台设备来监控整个账号。设备列表用于批量展示,持续变化应使用 WebSocket 事件。
