# BBB 如何通过 USB 与 Arduino Uno 串口通信

> 原文链接：https://robotics.hellobike.com/pitfalls/2014-12-13-robotics-se-5138
> 频道：pitfalls | 更新日期：2014-12-13 | 标签：auto, stackexchange, arduino, serial, usb, c++
> 核心摘要：将 Arduino Uno 作为 CDC 串口设备接入 BeagleBone Black，通过 /dev/ttyUSB0 或 /dev/ttyACM0 读写即可。

# BBB 如何通过 USB 与 Arduino Uno 串口通信

::: v-pre
> 本文由 AI 根据公开内容整理，可能有误，请以原文为准：[Connecting an Arduino uno with a beaglebone black over USB](https://robotics.stackexchange.com/questions/5138/connecting-an-arduino-uno-with-a-beaglebone-black-over-usb)（Robotics Stack Exchange #5138）

**状态**：已解决

## 问题

提问者希望 Arduino Uno 与 BeagleBone Black 通过 USB 直接串口通信，并让 Arduino 端继续使用 `Serial.read()` 获取字节，但不清楚 BBB 端如何写入串口。

## 环境

Arduino Uno、BeagleBone Black；双方各有 5V 电源；主要使用 C++；原文还给出 Python `pyserial` 示例。

## 解决办法

1. 用 USB 线连接 Arduino Uno 的 USB B 口和 BeagleBone Black 的 USB A 口。
2. 在 BBB 上将 Arduino 作为 CDC 类 USB 串口设备访问，设备名可能是 `/dev/ttyUSB0`、`/dev/ttyACM0` 或类似名称。
3. BBB 端用串口库读写该设备，例如以 `baudrate=9600` 打开串口并调用写入、读取接口。
4. Arduino 端继续使用 `Serial.read()` 和 `Serial.write()`；原本能与 Arduino Serial Monitor 通信的示例应可使用。
5. 可选绕过方案：直接把 BBB 的某个 UART 与 Arduino UART 相连，并在 BBB 上启用串口/UART。

原问题作者：Thijser；采纳答案作者：David Cary。原内容依 CC BY-SA 4.0 授权，本页摘要同样依 CC BY-SA 4.0 授权。
:::

## 原始参考来源 (Sources)

- [Robotics Stack Exchange #5138：Connecting an Arduino uno with a beaglebone black over USB](https://robotics.stackexchange.com/questions/5138/connecting-an-arduino-uno-with-a-beaglebone-black-over-usb)