- 嵌入式
- 通信
- 逆向工程
【免费下载链接】flipper-tesla-fsd
Tesla Mod — Flipper Zero & ESP32. Nag killer, FSD region unlock, track mode, BMS dashboard, blind spot alert, high beam strobe, CAN capture, steering mode + more. Works via OBD-II or X179 connector.
flipper-tesla-fsd是一款面向 Tesla 的开源 CAN 总线工具箱,运行在 Flipper Zero 或 ESP32 上。它的BMS 电池仪表盘功能可以实时读取电池组的电压、电流、SoC(剩余电量)、温度范围,以及每公里能耗(Wh/km),而且整个过程只读、不发送任何帧,对车辆安全无侵入。本指南带你从"它读什么、怎么读、怎么接、怎么算"四个角度,快速看懂并上手这块仪表盘。
🔋 BMS 电池仪表盘能读取哪些数据?
BMS(Battery Management System,电池管理系统)会持续在车内的CAN 总线上广播电池状态。flipper-tesla-fsd只需"旁听"这些帧,就能把原始字节换算成人类可读的指标。
仪表盘一共解析4 帧,分别对应电压/电流、SoC、温度、能耗:
| CAN ID | 信号名 | 含义 | 单位 | 换算公式 |
|---|---|---|---|---|
0x132 | BMS_hvBusStatus | 电池组电压 / 电流 | V / A | 电压=(data[1]<<8|data[0])×0.01,电流=(int16)(data[3]<<8|data[2])×0.1 |
0x292 | BMS_socStatus | 剩余电量 SoC | % | soc=((data[1]&0x03)<<8|data[0])×0.1 |
0x312 | BMS_thermalStatus | 电池温度范围 | °C | tmin=data[4]−40,tmax=data[5]−40 |
0x33A | UI_ratedConsumption | 每公里能耗 | Wh/km | raw=(data[1]<<8|data[0]),能耗=raw×0.1 |
💡 电流是有符号的:正值代表放电(行驶),负值代表充电(制动/充电)。用"电压 × 电流 ÷ 1000"就能得到瞬时功率(kW)。
完整的解析逻辑在fsd_logic/fsd_handler.c,字段定义在fsd_logic/fsd_state.h,逐字节解码公式则整理在enhauto-re/CAN_DICTIONARY.md里。
⚡ Wh/km 能耗是这样算出来的
很多人好奇"每公里耗多少电"是怎么来的。它来自 Party CAN 上的0x33A帧(信号UI_ratedConsumption),核心就三步:
- 取低位原始值:把
data[0]、data[1]拼成一个 16 位整数; - 乘缩放系数 0.1:
energy_wh_per_km = raw × 0.1; - 得到实时 Wh/km:数值越小,说明这段路越省电。
这段逻辑对应fsd_handle_energy_consumption()函数,位于fsd_logic/fsd_handler.c。它和 BMS 三帧一样,是纯读取、不写任何帧。
🔌 如何接线并启动 BMS 实时监测
第一步:接线(OBD-II 或 X179)
BMS 帧大多走Vehicle CAN。最省事的接入点是用一根 OBD-II 转接线接到车内 OBD 口(Model 3/Y 在后排中央扶手区),把CAN-H、CAN-L、GND、+12V四根对应连到 CAN Add-On 即可。
⚠️ 注意:并非所有 tap(接线点)都能收到全部 BMS 帧。例如 2022 Model 3 的 Chassis CAN 上就没有,需要接到正确的总线上才能看到温度与功率。完整引脚对照见
HARDWARE.md。
第二步:启动应用
打开Tesla Mod应用,选择Auto Detect & Start(自动检测 HW3/HW4/Legacy 并启动),等待最多约 8 秒完成硬件识别,仪表盘即可开始刷新。
📊 Flipper Zero 与 ESP32 两种查看方式
同一套 CAN 逻辑,在不同硬件上有两种呈现:
- Flipper Zero(自带小屏):在运行界面用一行紧凑文本直接显示,例如
SoC:78% 35kW 24-28C——即"电量 78%、瞬时功率 35 kW、电池温度 24–28°C"。刷新逻辑在scenes/fsd_running.c。 - ESP32(带 WiFi Web 面板):打开
http://192.168.4.1即可看到更直观的界面:- Battery SOC Ring:环形进度条,按颜色分级(>60% 绿、>30% 黄、≤30% 红);
- Performance Panel(性能面板,只读):显示电池包温度分级(冷/正常/偏热/过热,阈值 5/35/45°C)与瞬时功率(kW)。
面板详情与温度分级常量定义在esp32/README.md和fsd_logic/fsd_perf.h。
⚠️ 常见注意事项与避坑
- 仅 Model 3 / Model Y 帧有效:Model S/X 使用不同的 BMS CAN ID,在这两款车上数值会读错,需留意。
- 需要正确的总线 tap:温度与功率需要
0x312、0x132出现在你所接的 Vehicle CAN 上,否则对应字段为空。 - 默认是只读(Listen-Only)模式:首次开机默认不发送任何帧,BMS 仪表盘属于纯诊断功能,无需 FSD 订阅也能用。
- 数值是实时瞬时值:电压/电流/功率会随加速、制动、充电不断变化,属于"此刻"的快照,而非均值。
小结
flipper-tesla-fsd的 BMS 电池仪表盘通过旁听 4 帧 CAN 数据(0x132/0x292/0x312/0x33A),把实时电压、电流、SoC、温度范围和 Wh/km 能耗换算成一目了然的读数,且全程只读、安全无侵入。无论是 Flipper Zero 的一行文本,还是 ESP32 的环形 SOC 面板,都能让你在行车中随时掌握电池的真实状态。
- 核心解析器:
fsd_logic/fsd_handler.c - 状态字段定义:
fsd_logic/fsd_state.h - CAN 解码字典:
enhauto-re/CAN_DICTIONARY.md - 接线与引脚:
HARDWARE.md - ESP32 面板说明:
esp32/README.md
- 嵌入式
- 通信
- 逆向工程
【免费下载链接】flipper-tesla-fsd
Tesla Mod — Flipper Zero & ESP32. Nag killer, FSD region unlock, track mode, BMS dashboard, blind spot alert, high beam strobe, CAN capture, steering mode + more. Works via OBD-II or X179 connector.
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考