Update readme and add UDS
This commit is contained in:
149
README.md
149
README.md
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user