Raspberry Pi 4B · 免费

车在原地, 人在几公里外。

纯树莓派架构的远程遥控车:4G / WiFi 远程控制、WebRTC 低延迟图传、语音对讲、GPS 定位、 定速巡航与电子刹车。一条命令完成部署。

v2.5.0 Trixie 64-bit WebRTC · FRP
控制台 RaspiCar 控制台界面:左侧油门摇杆,中间实时画面,右侧云台与转向摇杆
设置面板 RaspiCar 设置面板:云台控制与自定义通道配置

Features · 15 modules

开箱就能开走的十五项能力

覆盖操控、图传、音频、定位、安全与硬件输出。全部在车上运行,浏览器与 App 只是显示器。

01

虚拟摇杆

触摸与鼠标操作,油门(垂直)、转向(水平)、云台 X/Y 两轴独立控制,可拖拽定位与调整大小。

Touch · Multi-axis
02

实时视频

WebRTC P2P 直连低延迟传输,USB / CSI 摄像头自动识别,分辨率、帧率、码率可调,可切换 FRP 中转。

WebRTC · H264
03

GPS 定位

实时位置追踪与高德地图显示,GPS 坐标自动纠偏至 GCJ-02,定位更新频率可调(5 / 10 / 30 秒)。

GCJ-02 · Track log
04

角度保持

HWT101 倾角传感器 + PID 控制,死区 ±1°~±10° 可调,修正强度 1–10 档可选。实验中,效果一般。

PID · Experimental
05

音频功能

按住通话 PTT、TTS 语音合成(百度 API)、音效播放、远程环境监听、音频文件上传管理。

PTT · TTS
06

数据监控

电压、速度、树莓派温度实时图表,ADS1115 双路电压监测,编码器测速,历史曲线回看。

Telemetry · Charts
07

智能驾驶

定速巡航(PID);电子刹车心跳超时 2 秒自动刹停,断线或切换模式立即刹车,约 1.5 秒自动解锁;TOF 防碰撞。

Cruise · E-Brake
08

多网络模式

P2P 直连与 FRP 内网穿透并存,可自定义 STUN 服务器;点击左上角延迟指示器即可切换模式。

P2P · FRP · STUN
09

多路输出

树莓派硬件 PWM(电调 / 舵机)、软件 PWM(云台 GPIO22/23)、自定义通道(软件 PWM 或电平输出)。

PWM · GPIO
10

安全保护

断线自动停车,双路电压监测(低压警告 / 保护 / 高压保护),电子刹车阈值可调(最小 2 秒),切换模式立即刹车。

Fail-safe
11

登录保护

访问密码登录(scrypt 加密存储),5 分钟内连续 5 次错误自动锁定 15 分钟。

scrypt · Rate limit
12

设置持久化

全部配置保存在车上,断电重启不丢失;换手机或浏览器打开自动同步,无需重新设置。

config.json · 三层
13

精细调节

舵机微调(±45)、左右最大角度限制、前进 / 后退速度独立限制、油门与方向反向开关。

Trim · Limits
14

地图显示

高德地图集成,实时位置与行驶轨迹记录,GPS 坐标自动纠偏(WGS-84 → GCJ-02)。

AMap · Trace
15

自动驾驶(规划中)

2D 激光雷达预建图 + 定位巡航方案(RPLIDAR A2M12,等待硬件),ROS 生态,建图时暂停视频,纯树莓派 4 可承载。

LiDAR · Planned

Build log

每次改动都留了记录

当前版本 v2.5.0 · 2026-10-21。历史条目按时间倒序排列。

v2.5.0 Latest 2026-10-21

控制台多语言:简体中文 / 繁體中文 / English / Deutsch / Français,语言入口位于「设置 → Language」;界面文案、设置面板与接线说明随语言切换,登录页按系统语言自动匹配。

v2.4.4 2026-10-20

修复麦克风监听声音断断续续:消除重复 P2P 连接导致的同路音频重复推送;播放端改为水位驱动缓冲(不再反复“播空后重攒”,声音连续不卡顿);音频通道改为可靠传输,丢包自动补发。

v2.4.3 2026-10-19

修复切换到 FRP 再切回 P2P 后无画面(手机残留失效服务器条目导致连接异常,现自动拦截无效条目并给出错误提示);STUN 服务器实测优化——移除被墙与超时节点、新增国内备用节点;电子刹车防抖提速:断网 2 秒内自动刹停、恢复 1.5 秒自动解锁,切换连接模式立即刹车;部署脚本新增开机自动校准时间(交互可选,默认开启)。

v2.4.2 2026-05-18

安卓 App 适配;原生 GPS 定位注入,不依赖谷歌服务,国行安卓机地图定位精准可用;PTT 对讲权限与回声消除适配;一键横竖屏切换;服务器地址首次输入后自动保存。

v2.4.1 2026-03-08

P2P 监听音频重构:丢帧不重传 + 抗抖动缓冲,弱网与移动网络下声音连续不卡顿;修复 PTT 对讲偶发“麦克风被占用”(对讲时自动暂停监听、松开自动恢复,杜绝回环啸叫);地图定位按钮连点不再叠加多条提示。

v2.4.0 2025-11-30

自定义电平(开关)通道全链路开通:灯光与继电器即开即用,状态断电保持、重启自动恢复;新增通道 GPIO 系统占用校验,删除通道自动复位引脚;地图“手机位置”升级 GPS 高精度定位;电压检测开关默认状态修复;接线文档修正。

v2.3.0 2025-09-21

登录密码保护(错误锁定)、全部设置断电保存、开机自启;音频架构重构:麦克风自动识别、监听无声自愈;双摇杆多点触控(油门方向可同时操作)、云台防误触刷新;摄像头设置显示实际运行参数;新增免责声明与密码可见切换;多项稳定性修复。

v2.2.0 2025-06-08

架构优化:移除 STM32 依赖,编码器直连树莓派 GPIO,简化硬件结构。

v2.1.0 2024-12-29

新增坐标系统切换,修复地图定位偏移,APP / 网页密钥验证。

v2.0.0 2024-10-13

重构架构,新增 WebRTC P2P、定速巡航、角度保持。

v1.5.0 2024-05-26

新增编码器读取,双路电压监测。

v1.0.0 2024-03-17

首个稳定版本:基础控制、视频传输、GPS 定位。

Deploy · 5 steps

从一张空卡到能开走

全程约 30 分钟,其中一大半是烧录镜像在等。

STEP 01

准备系统

准备一张 16GB 或更大容量的 Micro SD 卡,推荐 Class 10 或更高速度。系统请使用 Trixie(64-bit)。

注意:烧录时用户名推荐设置为 pi。

STEP 02

烧录系统

使用 Raspberry Pi Imager 烧录 Raspberry Pi OS (64-bit) Trixie。推荐用官方工具直接下载烧录;若官方源速度慢或无法访问,可用本站镜像(约 2GB,与官方完全一致,只是国内下载更快)。

Raspberry Pi Imager 烧录界面示意图
Imager / 烧录界面

STEP 03

一键部署 —

在树莓派终端执行下面的命令,脚本会自动完成依赖安装、服务配置与开机自启。

pi@raspberrypi ~
sudo -v && curl -sL https://240318.xyz/download/deploy.sh | sudo bash
执行前请注意:过程中会询问是否启用【开机自动同步时间】(默认启用,直接回车即可);脚本结束会自动重启系统,请提前保存工作。 执行时会提示输入密码,请输入烧录系统时设置的密码。
一键部署命令执行过程截图
Terminal / 部署过程
终端提示输入 sudo 密码的截图
Terminal / 输入密码

STEP 04

访问控制台

浏览器访问树莓派 IP 的 9152 端口:

browser
http://YOUR_PI_IP:9152
局域网 HTTP 即可显示摄像头画面(MJPEG / H264 流模式)。P2P 直连(更低延迟)与语音对讲需要 HTTPS 访问(浏览器安全限制)。

推荐配置 FRP 内网穿透,用 HTTPS 域名访问以解锁全部功能。在前端右上角设置中填写 FRP 服务器地址、端口与已解析到该服务器的域名,系统会自动生成 frpc.toml 并启动。

FRP 内网穿透参数配置界面
FRP / 穿透配置
配置完成后通过 https://你的域名 访问,即可正常显示摄像头画面。

STEP 05

服务管理

常用命令如下,点右下角即可复制。

systemd
sudo systemctl status raspicar
systemd
sudo systemctl restart raspicar
journal
sudo journalctl -u raspicar -f

Pinout · 3.3V logic

接错一根线,烧一块板

树莓派 GPIO 只认 3.3V。下面每个「危险」提示都不是吓唬人的。

树莓派 GPIO

GPS 模块 L76X

UART
  • RXGPIO15 · Pin 10
  • TXGPIO14 · Pin 8
  • VCC5V
  • GNDGND

HWT101 倾角传感器

UART4
  • TXGPIO9 · Pin 21
  • RXGPIO8 · Pin 24
  • VCC5V
  • GNDGND

测距模块 TOF200

UART3
  • TXGPIO5 · Pin 29
  • RXGPIO4 · Pin 7
  • VCC5V
  • GNDGND

ADS1115 电压检测

I2C
  • SDAGPIO2 · Pin 3
  • SCLGPIO3 · Pin 5
  • VCC3.3V
  • GNDGND

必须接分压电阻!电池电压需分压至 3.3V 以下才能接入 ADS1115,否则会损坏模块与树莓派。

舵机与电调

Hardware PWM
  • 舵机信号GPIO12 · Pin 32
  • 电调信号GPIO13 · Pin 33
  • 云台舵机GPIO22 / 23
  • GND共地

电调的电源线(BEC 输出)禁止接树莓派,否则会导致树莓派损坏。舵机电源请独立供电。

编码器测速

GPIO Input
  • 左轮 A / B 相GPIO24 / 25
  • 右轮 A / B 相GPIO26 / 27
  • 电平≤ 3.3V

编码器输出电压必须低于 3.3V,高于 3.3V 会损坏树莓派。不要直连电机(转速太快会丢脉冲),建议安装在车轮轴上。

接线示意图

舵机与电调接线实物图
舵机 / 电调
电调、舵机、云台接线实物图
电调 / 舵机 / 云台

USB 设备

摄像头

USB / CSI

USB 摄像头直接插入 USB 端口;CSI 摄像头连接 CSI 排线接口。设置页可切换实际接入的类型。

音频设备

USB Audio

USB 麦克风 + USB 扬声器,插入即用,系统自动识别并支持热插拔。

注意事项

GPIO 电压

3.3V only

所有传感器输出必须为 3.3V。树莓派 GPIO 仅支持 3.3V,高于 3.3V 会烧毁主板,必要时使用电平转换模块。

共地要求

Common GND

所有设备的 GND 必须共地,确保电平参考一致,避免信号干扰。

电源供电

≥ 3A

树莓派供电需大于 3A,使用降压模块把电池电压降至 5V;舵机独立供电,不要接树莓派。

串口配置

Auto

部署脚本会自动配置 UART:在 /boot/firmware/config.txt 添加 uart2/3/4 并禁用蓝牙。

BOM

要买的东西就这些

核心四件能跑起来,传感器按需要加。

核心组件

4 项
01树莓派树莓派 4B
02摄像头USB 或 CSI 接口
03RC 车底盘电机 + 电调(ESC)+ 转向舵机
04降压模块5V 3A+,给树莓派供电

传感器模块

5 项
01ADS1115I2C ADC,双路电压监测
02TOF200FUART 激光测距,防碰撞
03编码器AB 相霍尔,3.3V 电平输出
04HWT101UART 倾角传感器,角度保持
05GPS 模块L76X / ATGM336H,UART

可选配件

4 项
01双轴云台MG90s 舵机 ×2,GPIO22/23
02USB 麦克风语音对讲、环境监听
03USB 扬声器TTS 播报、音效播放
044G / 5G 路由器支持 IPv6,实现 P2P 直连

Troubleshooting

八成的坑都在这八条里

先看这里,再看日志。

01摄像头无画面

进入「设置 → 摄像头设置」,把摄像头类型在 CSI / USB 之间切换为实际接入的类型后保存;仍无画面请检查摄像头排线或 USB 接口是否插紧。

02电机不转

检查电调电源与信号线,确保负极共用(共地),并测试 GPIO PWM 输出是否正常。

03定位偏移

GPS 原始数据为 WGS-84,国内地图使用 GCJ-02,页面会做自动纠偏;若仍有偏移,检查地图组件加载是否完整。

04对讲无声

对讲需要 HTTPS 访问(浏览器安全限制)。局域网可用自签名证书,公网请配置有效 SSL 证书。

05连接失败

确认后端服务正在运行(sudo systemctl status raspicar),检查防火墙设置,并查看浏览器控制台的网络请求与控制台日志。

06FRP 访问

在设置中配置 FRP 服务器地址与端口,系统会自动生成 frpc.toml,支持自动重连与随机代理名。

07网络模式切换

点击左上角的延迟指示器,即可在 P2P 直连与 FRP 中转之间快速切换,无需进入设置页面。切换瞬间会触发刹车保护,新模式连上后自动解锁。

08忘记访问密码

SSH 登录树莓派,删除 ~/RaspiCar/backend/password.json,然后执行 sudo systemctl restart raspicar,重新打开页面即可设置新密码。

Contact

问题与建议、新传感器适配需求

mevenly@outlook.com

来信请注明车板型号与传感器型号,方便直接判断能不能适配。

已复制