doc: итоги сессии — первый выезд к Фаэтону

This commit is contained in:
Repinoid
2026-05-25 21:45:20 +04:00
parent 47b793816c
commit a0ac8c334d
2 changed files with 57 additions and 0 deletions
+2
View File
@@ -0,0 +1,2 @@
token.txt
__pycache__/
+55
View File
@@ -0,0 +1,55 @@
# Сессия 2025-05-25 — первый выезд к Фаэтону
## Цель
Подключить ELM327 к ноутбуку (WSL/Windows) и запустить диагностику.
## Результаты
### Что сделано
- Установлен Python 3.12 в Windows (winget)
- Установлены зависимости: pyserial, pyyaml, requests (Windows Python)
- Установлен Flask в WSL (--break-system-packages)
- Проект скопирован в C:\Users\super\elmer для доступа из Windows
- ELM327 сопряжён с Windows (PIN 1234), созданы COM4/COM5 (Bluetooth SPP)
### Что НЕ работает
- **Windows Bluetooth SPP** — COM4/COM5 открываются, но виснут на serial.Serial().
Видимо, Windows не умеет нормально поднимать SPP-сессию к ELM327.
COM3 — это Intel AMT SOL, а не ELM327.
### Что работает
- **Android + ELM327** — OBD Amy подключается без проблем.
ELM327 живой, питание от OBD2 есть (красный горит).
- Сервер Flask на http://192.168.18.62:5005 (WSL)
### Исследование Android-клиента
- `MainActivity.kt` — готова: ищет спаренный ELM327, запускает сервис
- `ElmForwardService.kt` — готов на 80%:
- Bluetooth SPP → ELM327: ✅
- Инициализация AT-команд: ✅
- Чтение сырых ответов: ✅
- HTTP-forward на сервер: ✅
- Отправка OBD-команд (VIN/DTC/PID): ❌ (нужно дописать)
- `web/raw_endpoint.py` — буферизирует raw-данные, но не парсит
## Архитектура (план)
```
Телефон (Android) Ноутбук (WSL/Flask)
┌──────────────┐ ┌──────────────────┐
│ ElmForward │─HTTP──→ │ /api/v1/raw-obd │
│ Service │ │ ↓ │
│ ↓ BT SPP │ │ парсер + LLM │
│ ELM327 │ │ ↓ │
│ ↓ OBD2 │ │ диагноз │
│ ЭБУ (Фаэтон) │ └──────────────────┘
└──────────────┘
```
## Дальнейшие шаги
1. **Дописать ElmForwardService.kt** — отправка OBD-команд после init:
- VIN (0902)
- DTC stored (03), pending (07)
- PID'ы: 0105, 010C, 010D, 0111, 010B, 010F, 011F, 0104, 0106, 0107
2. **Дописать raw_endpoint.py** — парсинг ответов + вызов LLM
3. **Собрать APK** (нужен Android SDK)
4. **Дописать web/templates/index.html** — форма ручного ввода для телефона