# 树莓派如何通过 UART 控制 CC3D 飞控

> 原文链接：https://robotics.hellobike.com/pitfalls/2018-03-15-robotics-se-13883
> 频道：pitfalls | 更新日期：2018-03-15 | 标签：auto, stackexchange, quadcopter, raspberry-pi
> 核心摘要：用 UART 连接树莓派与 CC3D，并通过 MSP/PyMultiWii 发送姿态和油门控制帧。

# 树莓派如何通过 UART 控制 CC3D 飞控

::: v-pre
> 本文由 AI 根据公开内容整理，可能有误，请以原文为准：[Quadcopter controlled by Raspberry Pi](https://robotics.stackexchange.com/questions/13883/quadcopter-controlled-by-raspberry-pi)（Robotics Stack Exchange #13883）

**状态**：已解决

## 问题

提问者已有树莓派 3、Pi Camera、CC3D 飞控和 Python 决策脚本，想知道能否把树莓派连接到飞控并发送左转、右转、直行、停止等命令。

## 环境

Raspberry Pi 3、Pi Camera、CC3D flight controller、Python 脚本、四旋翼无人机。

## 解决办法

1. 使用 `UART` 串口通信，将 CC3D 的 `TX`、`RX`、`GND` 接到 Raspberry Pi。
2. 在飞控侧使用支持 `MSP` 的固件，例如 `CleanFlight`。
3. 在树莓派 Python 侧使用 `PyMultiWii` 处理 `MSP` 帧。
4. 将脚本输出映射为 `MSP RC` 帧：`pitch`、`roll`、`yaw`、`throttle` 范围为 `1000-2000`，`pitch/roll/yaw` 中位为 `1500`，`throttle=1000` 停止电机，`2000` 为最大油门。
5. 可使用 `MSP attitude` 和 `heading` 帧读取飞控 IMU 计算出的姿态并整合到控制脚本。

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

## 原始参考来源 (Sources)

- [Robotics Stack Exchange #13883：Quadcopter controlled by Raspberry Pi](https://robotics.stackexchange.com/questions/13883/quadcopter-controlled-by-raspberry-pi)