# 多设备设置

你可以在 [这里找到演示脚本](https://github.com/luxonis/oak-examples/tree/master/gen2-multiple-devices)。了解如何发现连接到系统的多个 OAK 相机，并单独使用它们。

## 发现 OAK 相机

你可以使用 DepthAI 发现所有已连接的 OAK 相机，无论是通过 USB 还是局域网（OAK POE 相机）。以下代码片段查找所有 OAK 相机并打印它们的 MxID（唯一标识符）和 XLink state。

```python
import depthai
for device in depthai.Device.getAllAvailableDevices():
    print(f"{device.getMxId()} {device.state}")
```

系统上两个 DepthAI 的示例结果：

```bash
14442C10D13EABCE00 XLinkDeviceState.X_LINK_UNBOOTED
14442C1071659ACD00 XLinkDeviceState.X_LINK_UNBOOTED
```

## 选择要使用的特定 DepthAI 设备

从上述检测到的设备中，使用以下代码选择要与管道一起使用的设备。例如，如果需要第一个设备，请使用以下代码：

```python
# 指定 MXID、IP 地址或 USB 路径
device_info = depthai.DeviceInfo("14442C108144F1D000") # MXID
#device_info = depthai.DeviceInfo("192.168.1.44") # IP 地址
#device_info = depthai.DeviceInfo("3.3.3") # USB 端口名称
with depthai.Device(pipeline, device_info) as device:
    # ...
```

你可以将此代码作为自己用例的基础，从而在不同的 OAK 模型上运行不同的神经网络模型。

## 指定要使用的 POE 设备

你也可以通过 IP 地址指定要使用的 POE 设备，如上面的代码片段所示。

现在，使用你需要的任意数量的 OAK 相机吧！由于 DepthAI 负责所有繁重的工作，通常可以在主机负载非常低的情况下使用多个相机。

## 时间戳同步

时间戳同步，也称为消息同步，涉及对齐来自不同传感器（包括帧、IMU 数据包、ToF 数据等）的消息。

> DepthAI 2.24 引入了 Sync 节点，可用于同步来自不同流或不同传感器（例如 IMU 和彩色帧）的消息。有关详细信息，请参见 Sync 节点。Synchronization
节点目前不支持多设备同步，因此如果要同步来自多个设备的消息，应使用手动方法。

有关时间戳同步的更多信息，请参见 [帧同步页面](https://docs.luxonis.com/hardware/platform/deploy/frame-sync.md)。

## 点云融合

点云融合是将多个点云集成到一个统一表示中的过程。广泛应用于机器人、自动驾驶车辆、虚拟现实和 3D 地图，其目的是通过合并来自不同视角或传感器的数据，生成更全面、更准确的场景描绘。

此演示展示了如何将来自不同相机的点云合并在一起。请访问下面链接的 GitHub 页面。请注意，在运行此演示（或任何其他多相机应用程序）之前，需要校准相机并为每个相机生成校准文件。请参阅下一段。

### GitHub 上的点云融合

[GitHub 上的点云融合](https://github.com/luxonis/oak-examples/tree/master/gen2-multiple-devices/rgbd-pointcloud-fusion)

## 多相机校准

此示例演示了如何计算多个相机的外部参数（相机姿态）。它提供了如何确定多相机设置中不同相机相对位置和方向的实用说明。通过准确估计外部参数，我们可以确保每个相机捕获的图像正确对齐，并可以有效地组合以进行进一步处理和分析。

### GitHub 上的多相机校准

[GitHub 上的多相机校准](https://github.com/luxonis/oak-examples/tree/master/gen2-multiple-devices/multi-cam-calibration)
