news 2026/10/14 21:34:06

树莓派串口通信硬件连接步骤:零基础入门指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
树莓派串口通信硬件连接步骤:零基础入门指南

树莓派串口通信实战指南:从接线到收发,零基础也能一次成功

你有没有遇到过这种情况——兴冲冲地把树莓派和Arduino连上,写好代码、通上电,结果串口死活没数据?或者更糟,树莓派直接重启了?

别急,这几乎是每个嵌入式新手都会踩的坑。而问题的根源,往往就出在最基础的硬件连接上。

今天我们就来彻底讲清楚:如何正确完成树莓派与外部设备的串口通信连接。不绕弯子,不堆术语,从一根线怎么接到每一伏电压都不能错,手把手带你打通第一道关卡。


一、先搞明白:串口到底是什么?

很多人一上来就想接线,但其实连“串口”是啥都没搞清。

简单说,串口就是两个设备之间“说话”的通道。它不像USB那样复杂,也不像网络需要IP地址,它是赤裸裸的电气信号对话。

树莓派用的是UART(通用异步收发器),关键词是“异步”——没有时钟线同步节奏,双方只能靠事先约定好的速度(波特率)来对拍子。就像两个人打电话,必须都说普通话、语速一致,才能听懂。

最常见的配置是115200, 8N1:
- 115200:每秒传11.5万比特
- 8位数据位
- N(No Parity):无校验
- 1个停止位

只要两边都设成这个,基本不会出错。

✅ 小贴士:如果你不确定该用什么波特率,优先选115200—— 快且稳定,调试神器。


二、树莓派上的串口引脚在哪?别插错了!

所有40针的树莓派(3B/4B/Zero等),串口硬件引脚位置都一样。我们重点关注三个:

物理引脚功能GPIO编号作用说明
Pin 6GND—接地!必须接!
Pin 8TXDGPIO14我发,你收 → 连对方RX
Pin 10RXDGPIO15我收,你发 ← 连对方TX

记住一句话:你的TX接它的RX,它的TX接你的RX,GND共用。

千万别犯低级错误——把TX接TX,RX接RX,那等于两个人面对面喊“我听你说”,谁也听不见。

📌重点提醒:
树莓派的GPIO是3.3V逻辑电平,最大耐压约3.6V。如果直接接5V设备(比如经典Arduino Uno),轻则读数不准,重则烧毁IO口甚至整个主板!

所以接下来这一节,关乎“生死”。


三、电平匹配:3.3V vs 5V,怎么安全对接?

这是最容易翻车的地方。

情况1:对方也是3.3V设备(如ESP32、STM32)

✅ 直接连!
TX → RX
RX ← TX
GND ↔ GND

干净利落,无需转换。

情况2:对方是5V设备(如Arduino Uno)

⚠️ 危险!不能直连!

尤其是Arduino的TX脚输出5V,接到树莓派RX(GPIO15)会超压!

解决方案①:分压电阻法(低成本推荐)

只改从5V到3.3V的方向(即Arduino TX → Pi RX),另一方向可以直连(因为Pi TX输出3.3V,Arduino能识别)。

电路如下:

Arduino TX (5V) │ ┌┴┐ │ │ R1 = 4.7kΩ └┬┘ ├────→ Raspberry Pi RX (GPIO15) ┌┴┐ │ │ R2 = 10kΩ └┬┘ │ GND

计算一下:
$$ V_{out} = 5V × \frac{10k}{4.7k + 10k} ≈ 3.39V $$

接近3.3V,安全!

📝 实测建议:R1可用4.7k或5.1k,R2用10k,误差范围内都能稳定工作。

解决方案②:专用电平转换模块(推荐用于双向高速通信)

比如TXS0108E、HX711模块(带电平转换功能)、MAX3232(RS232转TTL)等。

优点:
- 支持多路信号
- 双向自动转换
- 更可靠,适合长期运行项目

缺点:贵一点,多占点空间。

💡 建议:初学者先用电阻分压练手;正式项目上,直接焊个电平转换芯片省心又安全。


四、软件准备:让硬件真正“活”起来

硬件接好了,还得告诉系统:“别把串口拿去当登录终端用了。”

否则你会发现/dev/ttyAMA0根本不存在,或者被占用。

步骤1:关闭串口控制台登录

运行:

sudo raspi-config

进入菜单:

Interface Options → Serial Port

弹出两个问题:
1.Would you like a login shell to be accessible over serial?
→ 选No(禁用shell登录)

  1. Do you want the serial port hardware to be enabled?
    → 选Yes(启用UART硬件)

保存退出,重启。

步骤2:验证设备是否就绪

重启后执行:

ls /dev/ttyAMA*

正常应看到:

/dev/ttyAMA0

如果没有,检查是否启用了蓝牙(在Pi 3/Zero W中,蓝牙默认占用了主UART)。解决办法是在/boot/config.txt中添加:

dtoverlay=disable-bt

然后禁用蓝牙服务:

sudo systemctl disable hciuart

再重启即可释放/dev/ttyAMA0。


五、动手测试:用Python接收第一行数据

现在轮到最关键的一步:收数据。

确保安装了pyserial:

pip install pyserial

创建一个监听脚本:

import serial import time # 配置串口 ser = serial.Serial( port='/dev/ttyAMA0', baudrate=115200, parity=serial.PARITY_NONE, stopbits=serial.STOPBITS_ONE, bytesize=serial.EIGHTBITS, timeout=1 ) print("等待串口数据...") try: while True: if ser.in_waiting: line = ser.readline().decode('utf-8', errors='ignore').strip() if line: print(f"收到: {line}") except KeyboardInterrupt: print("\n退出") finally: ser.close()

保存为serial_read.py,运行:

python serial_read.py

然后在Arduino端发送点东西,比如:

void setup() { Serial.begin(115200); } void loop() { Serial.println("Hello from Arduino!"); delay(1000); }

如果一切顺利,你会在树莓派终端看到:

收到: Hello from Arduino! 收到: Hello from Arduino! ...

🎉 成功了!你已经完成了第一次完整的串口通信。


六、常见问题 & 调试秘籍

问题现象可能原因解决方法
完全没数据接线反了检查TX/RX是否交叉连接
数据乱码波特率不一致双方统一为115200
树莓派重启接入5V信号加分压电路或换电平转换模块
有时断连没共地补接GND线!非常重要!
/dev/ttyAMA0不存在UART被禁用或蓝牙抢占用raspi-config启用 + 关闭蓝牙

🔧 调试技巧:
- 用万用表测GND是否导通
- 用示波器或逻辑分析仪看TX波形(进阶)
- 先用echo "test" > /dev/ttyAMA0测试发送能力
- 权限问题?把你加入dialout组:
bash sudo usermod -aG dialout $USER


七、最佳实践:老司机的经验总结

  1. 永远先接GND
    再接信号线。避免热插拔导致电压冲击。

  2. 标记清楚每根线
    用不同颜色杜邦线:绿色=TX,蓝色=RX,黑色=GND,养成习惯。

  3. 不要用树莓派给大电流设备供电
    如电机、继电器。外设尽量独立供电,只共享地线。

  4. 高频干扰环境加保护
    在信号线上串联100Ω电阻,并加TVS二极管防静电。

  5. PCB设计预留调试接口
    引出UART到排针或CH340模块插座,方便后期升级维护。


结尾:这只是开始

当你第一次看到那句“Hello from Arduino!”出现在屏幕上时,你就已经跨过了嵌入式开发的第一道门槛。

串口不只是通信手段,它是你与硬件“对话”的起点。后续的I²C、SPI、Modbus,甚至是自定义协议解析,都建立在这份最基本的连接之上。

所以别小看这几根线、几个电阻、一段Python脚本。它们是你通往机器人、物联网、工业自动化世界的钥匙。

下次,我们可以聊聊:如何通过串口远程控制树莓派、传输传感器数据并绘图显示,甚至做一个属于自己的监控面板。

如果你正在尝试连接某个具体模块(GPS、LoRa、RFID……),欢迎留言,我可以为你定制接线方案。

一起玩转硬件,不见不散。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/13 14:39:30

Ultimate Vocal Remover 5.6:AI音频分离技术从入门到精通

Ultimate Vocal Remover 5.6:AI音频分离技术从入门到精通 【免费下载链接】ultimatevocalremovergui 使用深度神经网络的声音消除器的图形用户界面。 项目地址: https://gitcode.com/GitHub_Trending/ul/ultimatevocalremovergui 还在为提取纯净人声而烦恼&a…

作者头像 李华
网站建设 2026/10/14 20:37:54

模拟电路小信号模型构建实战案例

从零构建共射放大器的小信号模型:一次深入模拟电路本质的实战之旅你有没有遇到过这样的情况?一个看似简单的三极管放大电路,焊接完毕后却发现增益远低于预期,输入阻抗偏低,甚至输出波形严重失真。反复检查元件参数、电…

作者头像 李华
网站建设 2026/10/15 3:31:08

虚拟手柄驱动终极指南:快速实现专业游戏控制体验

虚拟手柄驱动终极指南:快速实现专业游戏控制体验 【免费下载链接】ViGEmBus 项目地址: https://gitcode.com/gh_mirrors/vig/ViGEmBus 还在为Windows系统控制器兼容性烦恼吗?ViGEmBus虚拟手柄驱动让您轻松解决所有输入设备难题。这款免费开源工具…

作者头像 李华
网站建设 2026/10/15 14:23:10

Hunyuan MT模型对比:同尺寸开源模型性能全面领先

Hunyuan MT模型对比:同尺寸开源模型性能全面领先 1. 引言 随着多语言交流需求的不断增长,轻量级、高效率的神经机器翻译(NMT)模型成为移动端和边缘设备落地的关键。近年来,尽管大模型在翻译质量上持续突破&#xff0…

作者头像 李华
网站建设 2026/10/13 14:31:50

PDF补丁丁:3分钟彻底解决PDF字体显示异常问题

PDF补丁丁:3分钟彻底解决PDF字体显示异常问题 【免费下载链接】PDFPatcher PDF补丁丁——PDF工具箱,可以编辑书签、剪裁旋转页面、解除限制、提取或合并文档,探查文档结构,提取图片、转成图片等等 项目地址: https://gitcode.co…

作者头像 李华
网站建设 2026/10/15 18:23:58

BGE-Reranker-v2-m3省钱技巧:低成本GPU部署实战优化教程

BGE-Reranker-v2-m3省钱技巧:低成本GPU部署实战优化教程 1. 引言 1.1 业务场景描述 在当前检索增强生成(RAG)系统广泛落地的背景下,向量数据库的“搜不准”问题成为影响大模型输出质量的关键瓶颈。尽管基于Embedding的近似最近…

作者头像 李华