第一讲:课程导论与硬件准备

各位同学好,我是你们的讲师。做嵌入式这些年,从最早的8位单片机一路做到现在的多旋翼无人机飞控系统,踩过的坑确实不少。今天咱们开始《PX4与树莓派串口通信实战》的第一讲,先把地基打牢。

1.1 这门课到底要学什么?

说白了,这门课就是教你如何让树莓派和Pixhawk飞控“说话”。你想想看,Pixhawk负责飞行的稳定控制,树莓派负责复杂的计算任务——比如视觉识别、路径规划。两者配合好了,你的无人机才能真正“聪明”起来。

我个人习惯把这类项目分成三个层次:

  • 底层通信:串口怎么连、数据怎么收发
  • 协议解析:MAVLink协议怎么拆包、怎么组包
  • 应用开发:用Python写地面站、用C++写控制逻辑

这门课会带你走完这三个层次。30章的内容,从硬件接线一直讲到完整的无人机控制系统。嗯,这里要注意:每一章我都会留一个动手练习,光看是学不会的。

1.2 你需要准备哪些硬件?

我在项目中遇到过不少因为硬件选型不对导致通信失败的情况。所以这里我直接给出经过验证的清单:

硬件名称 推荐型号 数量 备注
飞控板 Pixhawk 4 或 Holybro Pix32 1块 PX4固件已刷好
主控板 树莓派4B (2GB以上) 1块 建议带散热片
USB转TTL模块 CP2102 或 CH340G 1个 3.3V电平版本
杜邦线 公对母、母对母各10根 若干 颜色区分开更好
MicroSD卡 16GB以上 Class10 1张 树莓派系统用
电源 5V/3A USB-C电源 1个 树莓派专用
⚠️ 避坑指南:我曾经因为用了5V电平的USB转TTL模块,直接把Pixhawk的串口烧了。记住,Pixhawk的串口是3.3V电平,必须用3.3V的转换模块!

1.3 串口通信的基本原理

串口通信,说白了就是两根线来回传数据。一根发(TX),一根收(RX)。你想想看,就像两个人打电话,一个人说,一个人听。

但这里有个关键点:通信双方必须约定好“语速”和“格式”。这就是我们常说的串口参数:

  • 波特率:每秒传多少位。常用的是9600、57600、115200。PX4默认用57600。
  • 数据位:一次传多少位数据。通常是8位。
  • 停止位:每个数据包结束的标志。一般是1位。
  • 校验位:可选,用于检错。我们通常不用。

为什么会这样设计?我刚开始学的时候也觉得麻烦。后来在调试一个无人机时,发现树莓派和飞控的波特率没对上,数据全是乱码。从那以后,我每次接线第一件事就是检查波特率是否一致。

核心参数配置(PX4默认)
波特率:57600
数据位:8
停止位:1
校验位:无
流控制:无

1.4 物理连接:树莓派 ↔ PX4飞控

好,现在咱们动手接线。这是整个课程的基础,接错了后面全白搭。

Pixhawk飞控上有多个串口,我们通常用TELEM2端口。这个端口默认就是57600波特率,专门给数传或者 companion computer(也就是树莓派)用的。

接线规则很简单:TX接RX,RX接TX,GND接GND。你想想看,一个人说话,另一个人要听,对吧?所以发(TX)要接到收(RX)上。

具体步骤如下:

  1. 树莓派的GPIO14(TXD)→ USB转TTL模块的RXD
  2. 树莓派的GPIO15(RXD)→ USB转TTL模块的TXD
  3. 树莓派的GND → USB转TTL模块的GND
  4. USB转TTL模块插入树莓派USB口
  5. USB转TTL模块的另一端(杜邦线)→ Pixhawk TELEM2端口的TX、RX、GND
💡 我的小技巧:用不同颜色的杜邦线区分信号。我习惯红色接电源、黑色接地、黄色接TX、绿色接RX。这样排查问题的时候一眼就能看出来。

1.5 知识体系总览

下面这张图是我自己画的,把本章的核心知识点串了起来。你保存好,后面每学一章都可以回来对照看看自己处在哪个位置。

PX4与树莓派串口通信知识体系 硬件层 • Pixhawk飞控 • 树莓派4B • USB转TTL模块 • 杜邦线连接 • 3.3V电平匹配 • TELEM2端口 协议层 • 串口参数配置 • 波特率 57600 • 数据位 8 • 停止位 1 • MAVLink协议 • 数据帧结构 应用层 • Python串口编程 • C++ MAVLink解析 • 数据收发测试 • 心跳包检测 • 指令下发 • 状态回传 本章重点:硬件层 + 协议层基础

1.6 动手前的最后检查

接线完成后,别急着上电。我建议你做三步检查:

  1. 目视检查:所有杜邦线是否插紧?有没有松动?
  2. 万用表测量:GND之间是否导通?TX/RX有没有短路?
  3. 上电测试:先给树莓派上电,确认系统启动正常。再给Pixhawk上电,看看LED灯是否正常闪烁。
⚠️ 重要提醒:千万不要在通电状态下插拔杜邦线!我曾经手贱带电插拔,结果飞控的一个串口直接报废了。断电操作,这是铁律。

好了,硬件准备就到这里。下一章咱们开始写代码,让树莓派和Pixhawk真正“聊起来”。记住,硬件连接是基础中的基础,这一步做扎实了,后面才能走得顺。


公众号:蓝海资料掘金营,微信deep3321