Files
carpibord/README.md

9.6 KiB
Raw Permalink Blame History

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