2.9 KiB
2.9 KiB
Сессия 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 │ │ диагноз │
│ ЭБУ (Фаэтон) │ └──────────────────┘
└──────────────┘
Дальнейшие шаги
- Дописать ElmForwardService.kt — отправка OBD-команд после init:
- VIN (0902)
- DTC stored (03), pending (07)
- PID'ы: 0105, 010C, 010D, 0111, 010B, 010F, 011F, 0104, 0106, 0107
- Дописать raw_endpoint.py — парсинг ответов + вызов LLM
- Собрать APK (нужен Android SDK)
- Дописать web/templates/index.html — форма ручного ввода для телефона