此页面由 AI 自动翻译。查看英文原版

本页目录

  • 先决条件
  • 列出设备
  • 检查单个设备
  • 从检查转向操作
  • 验证结果
  • 后续步骤

列出设备并检查设备状态

当您需要枚举 Luxonis Hub 团队中的设备、详细检查单个设备并决定是继续进行应用程序生命周期还是支持的更新操作时,请使用本指南。

先决条件

开始之前,您应该熟悉 GraphQL 的基础知识。如果您是 GraphQL 新手,请参阅 关于 GraphQL您还需要一个 API 密钥来验证您的请求。使用 API 密钥 在 Luxonis Hub Web UI 中创建一个,然后将其包含在 Authorization 标头中:
Command Line
1Authorization: Bearer <your_api_key>

列出设备

首先查询您的团队可见的设备。这将为您提供用于后续读取或突变操作的设备 ID。
Graphql
1query {
2  team {
3    devices(first: 10) {
4      nodes {
5        id
6        name
7        status
8        model
9        architecture
10        version
11        lastContactAt
12      }
13      pageInfo {
14        hasNextPage
15        endCursor
16      }
17    }
18  }
19}
使用此响应可以快速回答第一个实际问题:
  • 团队中存在哪些设备
  • 它们当前是 ONLINE 还是 OFFLINE
  • 将哪个设备 ID 用于下一个查询
  • 是否存在更多页面

检查单个设备

使用列表查询中的一个设备 ID 来检索在采取行动之前所需的运行详细信息。
Graphql
1query($deviceId: ID!) {
2  team {
3    device(deviceId: $deviceId) {
4      id
5      name
6      status
7      model
8      serialNumber
9      architecture
10      kind
11      capabilities
12      version
13      lastContactAt
14      lastStatusChangeAt
15      networkInterfaces {
16        interfaceName
17        ipv4Address
18        macAddress
19      }
20      availableUpgrade {
21        id
22        version
23        semver
24      }
25    }
26  }
27}
变量:
JSON
1{
2  "deviceId": "device-id-from-list"
3}
使用此响应确认:
  • 设备标识和当前连接状态
  • 目标是 OAK 还是 SELF_HOSTED
  • 设备路径可用的功能
  • 网络详细信息是否解释了当前的连接状态
  • availableUpgrade 是否公开了支持的更新候选者

从检查转向操作

在您能够列出设备并检查目标设备后,下一步通常是基于该状态采取行动,而不是直接进入交互式浏览器会话。常见的后续任务是:
  • 在设备上安装应用程序或检查已安装的应用程序状态
  • 启动或停止已安装的应用程序
  • availableUpgrade 存在时,触发支持的 OTA 或固件更新
  • 仅当目标是远程交互、日志或可视化而不是控制平面操作时,才使用浏览器端会话。
对于外部集成,请将写入操作保留在后端,并遵循 集成架构 中描述的客户所有架构。

验证结果

当以下所有条件都满足时,您就准备好进行下一个工作流:
  • 您可以调用 team.devices 并收到预期的设备群切片
  • 您可以获取一个返回的设备 ID 并调用 team.device
  • 您可以判断设备是否在线、正在运行的版本以及是否提供了支持的更新数据
  • 您知道下一步是应用程序生命周期突变、更新流程还是交互式会话

后续步骤