# 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 ```bash # /boot/firmware/config.txt dtparam=spi=on dtoverlay=mcp2515-can0,oscillator=16000000,interrupt=25 enable_uart=1 dtoverlay=disable-bt ``` ### 2. Установка ```bash cd obd2_client pip install -r requirements.txt ``` ### 3. Настройка CAN ```bash sudo ip link set can0 type can bitrate 500000 sudo ip link set can0 up ``` ### 4. Запуск ```bash # Базовый запуск 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. Автозапуск (опционально) ```bash 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](obd2_client/README.md) — детальная документация Python приложения - [Flipper App README](flip_monitor/README.md) — документация приложения Flipper Zero - [CLAUDE.md](CLAUDE.md) — техническое описание для AI-ассистентов ## Лицензия MIT