RaspiCar
基于树莓派的智能网络遥控车系统。WebRTC P2P 低延迟视频传输,语音对讲,GPS定位,倾角保持,定速巡航,纯树莓派架构无需额外 MCU。
功能特性
完整的遥控车解决方案
🎮 虚拟摇杆
触摸/鼠标操作的虚拟摇杆,支持油门(垂直)、转向(水平)、云台三轴独立控制,可拖拽定位、调整大小
📹 实时视频
WebRTC P2P 直连低延迟传输,支持 USB/CSI 摄像头自动识别,可调分辨率/帧率/码率,可切换 FRP 中转模式
🧭 GPS 定位
实时位置追踪与地图显示,支持 WGS-84/GCJ-02/BD-09 坐标系统,定位更新频率可调(5/10/30秒)
🎯 角度保持(不好用)
HWT101 倾角传感器 + PID 控制,死区范围 ±1°~±10° 可调,修正强度 1-10 档可选
🔊 音频功能
对讲功能(按住通话 PTT),TTS 语音合成(百度 API),音效播放,远程环境监听,音频文件上传管理
📊 数据监控
电压、速度、温度实时数据图表,ADS1115 电压监测,编码器测速,历史数据曲线查看
🚗 智能驾驶
定速巡航(PID 控制),电子刹车(延迟超时自动刹车),TOF 测距模块防碰撞(距离/灵敏度可调)
📡 多网络模式
P2P直连,FRP 内网穿透(端口/域名转发),可自定义 STUN/TURN 服务器。点击左上角延迟指示器可快速切换 P2P 和 FRP 连接模式
⚡ 多路输出
树莓派硬件 PWM(电调/舵机),软件 PWM(云台舵机 GPIO22/23),自定义通道(GPIO 软件 PWM / 电平输出)
🔒 安全保护
断线自动停车,双路电压监测(低压警告/保护/高压保护),电子刹车延迟阈值可调
🎚️ 精细调节
舵机微调(±100),左右最大角度限制,前进/后退速度独立限制,油门/方向反向开关
🗺️ 地图显示
高德地图集成,实时位置显示,行驶轨迹记录,坐标系统自动切换
🤖 AI(规划中)
自动避障、自动规划线路等功能正在规划开发中
更新日志
版本迭代记录
安装部署
一键部署到树莓派
1准备系统
准备 SD 卡和系统镜像
- 准备一张 16GB 或更大容量的 Micro SD 卡
- 推荐使用 Class 10 或更高速度的 SD 卡
请使用 Trixie(64-bit) 系统镜像
2烧录系统
使用 Raspberry Pi Imager 工具烧录 Raspberry Pi OS (64-bit) Trixie 系统
烧录教程请自行在网络上查找。注意:用户名推荐设置为 pi
推荐使用上方官方 Raspberry Pi Imager 工具直接下载和烧录系统镜像,这是最简单、最可靠的方式。
如果您所在的网络环境无法正常访问官方服务器下载镜像,或者下载速度过慢,可以使用上方"系统镜像(百度网盘备用)"按钮下载备用镜像。百度网盘镜像与官方镜像完全一致,只是提供了国内用户更便捷的下载渠道。
3一键部署 (已有 - 位用户完成部署)
在树莓派终端执行以下命令,自动完成所有安装配置
curl -sL https://240318.xyz/download/deploy.sh | sudo bash
⚠️ 注意:脚本执行完成后会自动重启系统,请提前保存工作
执行命令后会提示输入密码,请输入您在烧录系统步骤中设置的密码
部署脚本运行结束会自动重启系统
4访问控制台
浏览器访问树莓派 IP:9152,例如:
http://树莓派ip地址:9152
⚠️ 注意:局域网 HTTP 访问时摄像头画面会黑屏(浏览器安全限制),需要使用 HTTPS 访问才能看到视频画面。
推荐配置 FRP 内网穿透,使用 HTTPS 域名访问:
# 在前端右上角设置中配置 FRP 参数
# - FRP 服务器地址
# - FRP 服务器端口
# - 自定义域名(需已解析到 FRP 服务器)
# 系统会自动生成 frpc.toml 配置文件并启动
✓ 配置完成后通过 https://你的域名 访问,即可正常显示摄像头画面
5服务管理
sudo systemctl status raspicar
sudo systemctl restart raspicar
sudo journalctl -u raspicar -f
接线说明
正确的接线方式
树莓派 GPIO 接线
GPS 模块 (L76X)
UART 接口
RX → GPIO15 (Pin 10)
TX → GPIO14 (Pin 8)
VCC → 5V
GND → GND
HWT101 倾角传感器
UART2 接口
TX → GPIO4 (Pin 7)
RX → GPIO5 (Pin 29)
VCC → 5V
GND → GND
测距模块 (TOF200)
UART3 接口
TX → GPIO16 (Pin 36)
RX → GPIO17 (Pin 11)
VCC → 5V
GND → GND
ADS1115 电压检测
I2C 接口
SDA → GPIO2 (Pin 3)
SCL → GPIO3 (Pin 5)
VCC → 3.3V
GND → GND
⚠️ 必须接分压电阻!电池电压需分压至 3.3V 以下才能接入 ADS1115,否则会损坏模块和树莓派!
舵机与电调
舵机信号线 → GPIO12 (Pin 32) - 硬件 PWM
电调信号线 → GPIO13 (Pin 33) - 硬件 PWM
云台舵机 → GPIO22/23 (软件 PWM)
GND → GND(必须共地)
⚠️ 电调的电源线(BEC 输出)禁止接树莓派,否则会导致树莓派损坏!
编码器测速
左轮 A/B 相 → GPIO24/25
右轮 A/B 相 → GPIO26/27
⚠️ 编码器输出电压必须低于 3.3V,高于 3.3V 会导致树莓派损坏!
💡 建议:编码器不要直连电机,电机转速太快会丢脉冲,建议安装在车轮轴上(转速较低)
接线示意图
舵机与电调接线
电调、舵机、云台接线
USB 设备
摄像头
USB 摄像头:直接插入 USB 端口
CSI 摄像头:连接 CSI 接口
音频设备
USB 麦克风 + USB 扬声器
直接插入 USB 端口,自动识别
注意事项
⚠️ GPIO 电压
所有传感器输出必须为 3.3V!
树莓派 GPIO 仅支持 3.3V
高于 3.3V 会烧毁树莓派!
可使用电平转换模块
共地要求
所有设备的 GND 必须共地
确保电平参考一致
避免信号干扰
电源供电
树莓派供电需大于 3A
使用降压模块将电池电压降至 5V
舵机电源独立供电,不要接树莓派
串口配置
部署脚本自动配置 UART
/boot/firmware/config.txt
已添加 uart2/3/4 和 disable-bt
硬件清单
所需组件
核心组件
传感器模块
可选配件
常见问题
问题与解决
电机不转
检查电调电源和信号线,确保负极共用,测试 GPIO PWM 输出
无画面
确认摄像头连接,检查摄像头所支持分辨率,在设置 → 摄像头设置中修改摄像头类型后保存。
注意:必须使用 HTTPS 访问才能看到视频画面(WebRTC直连浏览器限制),或者点击左上角延迟处切换frp模式。
定位偏移
GPS 默认 WGS-84,国内地图用 GCJ-02,在设置中切换坐标系统
对讲无声
需要 HTTPS 访问,局域网访问请用自签名证书,公网则配置 SSL
连接失败
确认后端运行,检查防火墙设置,查看浏览器控制台网络请求
FRP 访问
在设置中配置 FRP 服务器地址和端口,系统自动生成 frpc.toml 配置文件,支持自动重连和随机代理名
网络模式切换
点击左上角的延迟指示器,可快速在 P2P 直连和 FRP 中转模式之间切换,无需进入设置页面
与我联系
问题与建议、新传感器适配
邮箱
mevenly@outlook.com