本页目录

  • 安装
  • 使用
  • 在没有 OAK 设备的情况下构建 OAK 应用
  • 示例:在自托管 oak-agent 上构建 UVC C++ 示例并安装到 OAK4 设备

自托管 oak-agent

oak-agent 服务可以在 amd64arm64 架构的 Linux 机器上进行自托管。 自托管的 oak-agent 要求主机上安装有 Docker 和 systemd

安装

通过运行以下命令安装最新的稳定版本:
Command Line
1curl -fsSL https://oakagent-releases.luxonis.com/self-hosted/stable/install-oak-agent.sh | sudo bash -s -- -y --password linux123

使用

通过运行 oakctl device list 查找安装了 oak-agent 的主机:
Sh
1oakctl device list
2+---+------------------+--------------------------------+----------------------------------------+------------------------+---------------+-------------------+
3| # | Serial Number    | Device                         | Connection                             | OS                     | Agent Version | Setup             |
4+=============================================================================================================================================================+
5| 1 | 0e40028535f13370 | Raspberry Pi 5 Model B Rev 1.1 | 10.12.11.231, 10.12.102.35, 172.17.0.1 | Ubuntu 24.04.4 LTS     | 0.21.0        | Setup (unadopted) |
6+---+------------------+--------------------------------+----------------------------------------+------------------------+---------------+-------------------+
使用 systemd 管理服务:

启用 oak-agent

Sh
1sudo systemctl enable oak-agent

禁用 oak-agent

Sh
1sudo systemctl disable oak-agent

在没有 OAK 设备的情况下构建 OAK 应用

自托管的 oak-agent 可用于在没有 OAK4 设备的情况下构建 OAK 应用。这对于 CI 环境或在独立的 Linux 主机上准备 .oakapp 包非常有用。如果之后想要将构建的应用安装到 OAK4 设备上,则自托管代理必须运行在 arm64 架构的 Linux 机器上。

示例:在自托管 oak-agent 上构建 UVC C++ 示例并安装到 OAK4 设备

本示例使用 Raspberry Pi 5 作为自托管 oak-agent 主机,以 OAK4 设备作为部署目标。

在 Raspberry Pi 5 上安装自托管代理

使用上述的安装命令

列出可用设备并将 oakctl 连接到自托管代理

Sh
1oakctl device list
2+---+------------------+--------------------------------+----------------------------------------+------------------------+---------------+-------------------+
3| # | Serial Number    | Device                         | Connection                             | OS                     | Agent Version | Setup             |
4+=============================================================================================================================================================+
5| 1 | 0e40028535f13370 | Raspberry Pi 5 Model B Rev 1.1 | 10.12.11.231, 10.12.102.35, 172.17.0.1 | Ubuntu 24.04.4 LTS     | 0.21.0        | Setup (unadopted) |
6+---+------------------+--------------------------------+----------------------------------------+------------------------+---------------+-------------------+
7| 2 | 2795412959       | Luxonis, Inc. OAK4-D R9        | 10.12.102.126, 172.23.136.130          | Luxonis OS RVC4 1.32.1 | 0.20.0        | Setup (unadopted) |
8+---+------------------+--------------------------------+----------------------------------------+------------------------+---------------+-------------------+
9oakctl device connection set 1 # Connect to the first device

克隆 oak-examples 仓库

该仓库包含 UVC C++ 示例。
Sh
1git clone --depth 1 --branch main https://github.com/luxonis/oak-examples
2cd oak-examples
3git submodule update --init --recursive

构建 UVC 应用

Sh
1cd cpp/uvc
2oakctl app build .

将构建的 OAK 应用安装到 OAK4 设备

Sh
1oakctl app install *.oakapp -d 2
-d 2 参数从上述列表中选择 OAK4 设备。

检查 UVC 应用是否正在运行

Sh
1oakctl app list -d 2
2+---+--------+---------------------------------+---------+--------------+
3| E | App Id | Identifier                      | Status  | Frontend URL |
4+=======================================================================+
5| * | d4ed4  | com.example.streaming.uvc:3.0.0 | running |              |
6+---+--------+---------------------------------+---------+--------------+