# OAK4 M8 接口指南

OAK4 M8 提供多种接口用于连接外部设备。下表以表格形式清晰总结每个接口。

| 引脚 | M12 引脚 | M8 引脚 | M8 功能 |
| --- | --- | --- | --- |
| 1 | Eth MX0+ | GPIO_20/5V_RX | 可以是5V GPIO或UART RX |
| 2 | Eth MX0- | FSYNC/STROBE_5V | 默认FSYNC，STROBE可启用 |
| 3 | Eth MX1+ | USB D+ | USB 2.0 主机接口（不能与USB-C接口同时使用） |
| 4 | Eth MX1- | USB D- | USB 2.0 主机接口（不能与USB-C接口同时使用） |
| 5 | Eth MX3+ | 5V | 此引脚用于为连接到M8连接器的配件设备提供5V电源（最大5W）。 |
| 6 | Eth MX3- | GPIO_21/5V_TX | 可以是5V GPIO或UART TX |
| 7 | Eth MX2+ | DET_PIN | 用于检测连接的设备类型，不能用于其他目的 |
| 8 | Eth MX2- | GND | 接地 |

> **电压电平**
> OAK4 M8 上的所有接口（USB 除外）均设计为在 5V 逻辑电平下工作。这些信号在内部被电平转换为 1.8V。

| **特性** | **详情** |
| --- | --- |
| 引脚（M8 连接器） | SDA → GPIO20SCL → GPIO21 |
| 选择 GPIO | OAK4-D：GPIO 162 (I2C_SEL_0)OAK4-D：GPIO 163 (I2C_SEL_1)OAK4-S：GPIO 124 (I2C_SEL_0)OAK4-S：GPIO 79 (I2C_SEL_1) |
| 默认状态 | OAK4-D：GPIO 162 = HIGHOAK4-D：GPIO 163 = HIGHOAK4-S：GPIO 124 = HIGHOAK4-S：GPIO 79 = HIGHUART 激活（I²C 禁用） |
| 激活 I²C | OAK4-D：设置 GPIO 162 = LOWOAK4-D：设置 GPIO 163 = LOWOAK4-S：设置 GPIO 124 = LOWOAK4-S：设置 GPIO 79 = LOWMUX 将引脚 20/21 路由至 I²C
SDA/SCL |

激活 I²C 后，您可以使用标准 Linux I²C 子系统与连接的设备通信。总线号为 0，您可以使用 i2cdetect 等工具扫描设备：

```bash
i2cdetect -y 0
```

更多详细信息请参阅 [OAK4 SOM 开发指南](https://docs.luxonis.com/hardware/platform/deploy/oak4-som-development-guide.md)。

| **特性** | **详情** |
| --- | --- |
| 引脚（M8 连接器） | TX → 引脚 6（GPIO 26）RX → 引脚 1（GPIO 27） |
| 默认状态 | OAK4-D：GPIO 162 = HIGHOAK4-D：GPIO 163 = HIGHOAK4-S：GPIO 124 = HIGHOAK4-S：GPIO 79 = HIGHUART 在引脚 1/6 上激活 |

由于 UART 默认处于激活状态，您可以在 OAK4 上电后立即将其用于调试。

要与 UART 通信，您可以使用 picocom 或 screen 等终端程序：

```bash
picocom -b 115200 /dev/tty.usbserial-A50285BI
```

启动完成后，您可以登录并将其用作常规串行控制台。

GPIO 引脚与 I2C 接口位于同一地址，因此您可以将相同的引脚用于 GPIO 功能。您需要先启用 I2C MUX（按照上面 I2C 部分设置选择 GPIO）。

| **特性** | **详情** |
| --- | --- |
| 可用引脚 | M8 连接器上暴露了两个通用 GPIO 引脚（GPIO 20 和 GPIO 21） |
| 配置 | 在 Script Node 内部，您可以像这样设置 GPIO：`import time import gpiod from gpiod.line import Direction, Value MX_CHIP = 0 LINES = [20,
21] chip_path = f"/dev/gpiochip{MX_CHIP}" # LineSettings 位于 v2.x 的顶层 gpiod 模块中 settings = gpiod.LineSettings(
direction=Direction.OUTPUT, output_value=Value.INACTIVE ) req = gpiod.request_lines( chip_path, consumer="depthai-script",
config={line: settings for line in LINES} ) toggle = False while True: toggle = not toggle v = Value.ACTIVE if toggle else
Value.INACTIVE node.warn(f"GPIO toggle (gpiod v2): {toggle}") req.set_values({line: v for line in LINES}) time.sleep(5) ` |

| **特性** | **详情** |
| --- | --- |
| 功能 | 输出来自连接摄像头的 fsync 或 strobe 脉冲。 |
| 引脚（M8 连接器） | 2 |
| 启用方法 | 请查看 [FSYNC Y 型适配器页面](https://docs.luxonis.com/hardware/products/FSYNC%2520Y-Adapter.md) 了解如何启用。 |

| **特性** | **详情** |
| --- | --- |
| 引脚（M8 连接器） | USB P → 引脚 3USB N → 引脚 4 |
| Mux 选择 GPIO | GPIO 12 (USB_MUX_SEL)1 → 将 USB 线路路由至 M8 连接器0 → 将 USB 线路路由至板载 USB 端口 |
