145 lines
5.9 KiB
Markdown
145 lines
5.9 KiB
Markdown
# Полевой тест elmAI v0.48.0 — 7 июня 2026
|
||
|
||
## Что тестируем
|
||
|
||
APK: https://obdai.ru/elmer.apk (v0.48.0)
|
||
Сервер: https://obdai.ru
|
||
|
||
## Что сделано (все изменения)
|
||
|
||
### Пробинг ELM327 (НОВОЕ)
|
||
- Сервер больше не шлёт ATAT1/ATSTxx слепо — не вешает клоны
|
||
- При первом подключении нового ELM — каскадный тест:
|
||
- Уровень 0: ATE0 ATL0 ATS0 ATH1 ATSP0 ATDPN ATRV ATI (все клоны)
|
||
- Уровень 1: +ATAT1 (хорошие клоны)
|
||
- Уровень 2: +ATCAF1 ATCFC1 (настоящий ELM)
|
||
- Результат сохраняется в БД по BT MAC
|
||
- Нет в профиле → не слать. Никаких ретраев на неизвестное.
|
||
|
||
### Скрипты под уровень устройства
|
||
- L0: 5 PIDs + ошибки (однокадровые, без VIN)
|
||
- L1: 8 PIDs + VIN + stored/pending ошибки
|
||
- L2: 14 PIDs + VIN + калибровки + все ошибки
|
||
|
||
### Рефакторинг сервера
|
||
- `obd/commands.py` — каталог ВСЕХ AT-команд с метаданными
|
||
- `obd/classifier.py` — классификация ответов
|
||
- `obd/connection.py` — транспортный слой
|
||
- Код разбит на независимые модули
|
||
|
||
### Android: фикс вывода
|
||
- Статус: `append("\n...")` вместо `text =` (не перекрывается)
|
||
- Таймер: отдельный TextView, тикает только во время обмена (как Engine Time)
|
||
- TestService: адаптивные таймауты вместо жёстких sleep
|
||
- TestService: добавлен ATS0 в инициализацию
|
||
|
||
---
|
||
|
||
## Как тестировать
|
||
|
||
### Подготовка
|
||
1. Скачай и установи APK: https://obdai.ru/elmer.apk
|
||
2. Вставь ELM327 в OBD2-разъём машины
|
||
3. Заведи двигатель (для части PIDs нужен работающий двигатель)
|
||
4. Сопряги ELM327 с телефоном по Bluetooth (пароль 1234 или 0000)
|
||
5. Открой приложение Elmer
|
||
|
||
### Тест 1: Кнопка «ТЕСТ» (без сервера)
|
||
|
||
Поле ввода: **оставь пустым** (Bluetooth-режим)
|
||
|
||
Нажми **«🧪 ТЕСТ (всё локально)»**
|
||
|
||
Ожидаемое поведение:
|
||
```
|
||
══════════════════
|
||
🔧 ELMER TEST v0.6
|
||
Режим: Bluetooth
|
||
══════════════════
|
||
Найден: OBDII (AA:BB:CC:...)
|
||
⏳ Подключение...
|
||
✅ BT OK
|
||
─── ШАГ 1: Связь ───
|
||
→ ATZ ⏱ 2с
|
||
← ELM327 v1.5
|
||
✅ СВЯЗЬ ЕСТЬ!
|
||
─── ШАГ 2: Инициализация ───
|
||
→ ATE0 ⏱ 0с
|
||
← OK
|
||
→ ATL0 ⏱ 0с
|
||
← OK
|
||
→ ATS0 ⏱ 0с
|
||
← OK
|
||
→ ATH1 ⏱ 0с
|
||
← OK
|
||
→ ATSP0 ⏱ 1с
|
||
← OK
|
||
─── ШАГ 3: VIN ───
|
||
→ 0902 ⏱ 3с
|
||
← 49 02 01 57 56...
|
||
→ VIN: WVWZZZ...
|
||
─── ШАГ 4: Ошибки ───
|
||
→ 03 ⏱ 1с
|
||
← 43 00
|
||
→ DTC stored: none
|
||
→ 07 ⏱ 1с
|
||
← 47 00
|
||
→ DTC pending: none
|
||
─── ШАГ 5: Параметры ───
|
||
→ 0105 ⏱ 0с
|
||
← 41 05 5A
|
||
→ ОЖ: 50 °C
|
||
... (10 параметров)
|
||
✅ ТЕСТ ПРОЙДЕН!
|
||
```
|
||
|
||
**Что проверять:**
|
||
- [ ] Таймер ⏱ тикает ТОЛЬКО во время команд (АТZ, 0902, 0105...)
|
||
- [ ] В паузах между командами таймер пустой
|
||
- [ ] Строки НЕ перекрываются (каждая с новой строки)
|
||
- [ ] Тест НЕ виснет (раньше висел на ATAT1)
|
||
- [ ] Если ELM не отвечает — пишет «❌ ELM не отвечает» за ~5 секунд, не дольше
|
||
|
||
### Тест 2: Кнопка «Диагностировать» (с сервером)
|
||
|
||
Поле ввода: **оставь пустым** (Bluetooth-режим)
|
||
|
||
Нажми **«🚗 Диагностировать (сервер)»**
|
||
|
||
**Что проверять:**
|
||
- [ ] Статус: «BT: AA:BB:CC...» → «BT: OK»
|
||
- [ ] Появляются «← ...» (ответы ELM) и «→ ...» (команды от сервера)
|
||
- [ ] В конце — диагноз от LLM в рамке ══════
|
||
- [ ] Таймер тикает только когда «→ команда» отправляется
|
||
- [ ] Нет зависаний
|
||
|
||
### Тест 3: Если есть второй ELM327
|
||
|
||
Подключи другой ELM (другой клон/версия):
|
||
- [ ] Приложение находит его по имени (OBD/ELM в названии)
|
||
- [ ] Тест должен работать на любом клоне
|
||
- [ ] Профиль сохраняется в БД на сервере (по MAC)
|
||
|
||
---
|
||
|
||
## Возможные проблемы
|
||
|
||
| Симптом | Вероятная причина |
|
||
|---------|-------------------|
|
||
| «❌ ELM не отвечает» на ATZ | ELM не вставлен в OBD2 или нет питания |
|
||
| Долго висит на ATSP0 | Машина не поддерживает авто-протокол |
|
||
| VIN не читается | Старая машина без mode 09 |
|
||
| «❌ BT: ...» | ELM не сопряжён в настройках Bluetooth |
|
||
| Пустой экран после нажатия | Не даны разрешения Bluetooth (Android 12+) |
|
||
|
||
---
|
||
|
||
## После теста
|
||
|
||
Вернись к компу и скажи:
|
||
1. Какие ELM тестировал (версия, цвет, название)
|
||
2. Прошёл ли тест
|
||
3. Прошла ли диагностика с сервером
|
||
4. Были ли зависания
|
||
5. Скриншоты экрана (если можно)
|