Update readme and add UDS

This commit is contained in:
2026-01-30 16:53:05 +03:00
parent 19d3885bb2
commit cfccf5e75c
10 changed files with 1736 additions and 105 deletions

149
README.md
View File

@@ -0,0 +1,149 @@
# 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