f611c2a6c6a498995dd924e7dcbe559bea9171a9
Carpibord
Автомобильная диагностическая система для Skoda Kodiaq 2021 на базе Raspberry Pi 5 и Flipper Zero.
Архитектура
┌─────────────────────────────────────────────────────────────────────────────┐
│ SKODA KODIAQ 2021 │
│ │
│ ┌─────────────┐ ┌─────────────┐ │
│ │ Comfort │ │ OBD-II │ │
│ │ CAN Bus │ │ CAN Bus │ │
│ │ (двери, │ │ (двигатель,│ │
│ │ свет...) │ │ скорость) │ │
│ └──────┬──────┘ └──────┬──────┘ │
│ │ │ │
└──────────┼───────────────────┼──────────────────────────────────────────────┘
│ │
│ ┌──────────────┴──────────────┐
│ │ OBD-II Разъём │
│ │ Pin 6 (CANH) Pin 14 (CANL)│
│ └──────────────┬──────────────┘
│ │
┌──────────┴───────────────────┴──────────────────────────────────────────────┐
│ RASPBERRY PI 5 │
│ ┌────────────────────────────────────────────────────────────────────────┐ │
│ │ WaveShare 2-CH CAN HAT │ │
│ │ (MCP2515, 500 kbps) │ │
│ └────────────────────────────────────────────────────────────────────────┘ │
│ │ │
│ ┌────────────────────────────────────────────────────────────────────────┐ │
│ │ OBD2 Client (Python) │ │
│ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌────────────────────────────┐ │ │
│ │ │ CAN │ │ OBD2 │ │ Vehicle │ │ Handler Pipeline │ │ │
│ │ │Interface │→│ Protocol │→│ Poller │→│ ┌────────┐ ┌────────────┐ │ │ │
│ │ └──────────┘ └──────────┘ └──────────┘ │ │ SQLite │→│ PostgreSQL │ │ │ │
│ │ │ └────────┘ └────────────┘ │ │ │
│ │ └────────────────────────────┘ │ │
│ └────────────────────────────────────────────────────────────────────────┘ │
│ │ │
│ ┌─────────────────────────────┴──────────────────────────────────────────┐ │
│ │ UART (/dev/serial0, 115200) │ │
│ └─────────────────────────────┬──────────────────────────────────────────┘ │
│ ┌───────────────────────┴───────────────────────┐ │
│ │ X120x UPS HAT (опционально) │ │
│ │ I2C мониторинг батареи │ │
│ └───────────────────────────────────────────────┘ │
└────────────────────────────────┬────────────────────────────────────────────┘
│
┌────────────────────────────────┴────────────────────────────────────────────┐
│ FLIPPER ZERO │
│ ┌────────────────────────────────────────────────────────────────────────┐ │
│ │ can_monitor.fap - Приложение для отображения данных │ │
│ │ │ │
│ │ Страницы: Live Data → Statistics → System → App Status → UPS → Actions│ │
│ └────────────────────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────────────────┘
Компоненты
| Директория | Описание |
|---|---|
obd2_client/ |
Python приложение для RPi5 — OBD2 мониторинг, storage, PostgreSQL sync |
flip_monitor/ |
C приложение для Flipper Zero — GUI отображение данных |
systemd/ |
Systemd сервисы для автозапуска |
Возможности
- OBD2 мониторинг — чтение данных двигателя через стандартный протокол
- Offline-first хранение — SQLite локально, синхронизация с PostgreSQL
- Flipper Zero UI — отображение данных на портативном устройстве
- UPS мониторинг — контроль батареи X120x HAT
- Автозапуск — systemd сервисы для работы в автомобиле
Быстрый старт
1. Настройка RPi5
# /boot/firmware/config.txt
dtparam=spi=on
dtoverlay=mcp2515-can0,oscillator=16000000,interrupt=25
enable_uart=1
dtoverlay=disable-bt
2. Установка
cd obd2_client
pip install -r requirements.txt
3. Настройка CAN
sudo ip link set can0 type can bitrate 500000
sudo ip link set can0 up
4. Запуск
# Базовый запуск
python -m src.main --interface can0
# С Flipper Zero
python -m src.main --interface can0 --flipper /dev/serial0
# С отладкой
python -m src.main --interface can0 --flipper /dev/serial0 --debug
5. Автозапуск (опционально)
cd systemd
sudo ./install.sh
Подключение
OBD-II → CAN HAT
| OBD-II | CAN HAT |
|---|---|
| Pin 6 (CAN-H) | CH0 CANH |
| Pin 14 (CAN-L) | CH0 CANL |
| Pin 4/5 (GND) | GND |
RPi5 → Flipper Zero
| RPi5 | Flipper Zero |
|---|---|
| GPIO14 (TX) | Pin 14 (RX) |
| GPIO15 (RX) | Pin 13 (TX) |
| GND | Pin 18 (GND) |
Документация
- OBD2 Client README — детальная документация Python приложения
- Flipper App README — документация приложения Flipper Zero
- CLAUDE.md — техническое описание для AI-ассистентов
Лицензия
MIT
Description
Languages
Python
87.2%
C
11.7%
Shell
1.1%