5.9 KiB
5.9 KiB
Полевой тест 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 в инициализацию
Как тестировать
Подготовка
- Скачай и установи APK: https://obdai.ru/elmer.apk
- Вставь ELM327 в OBD2-разъём машины
- Заведи двигатель (для части PIDs нужен работающий двигатель)
- Сопряги ELM327 с телефоном по Bluetooth (пароль 1234 или 0000)
- Открой приложение 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+) |
После теста
Вернись к компу и скажи:
- Какие ELM тестировал (версия, цвет, название)
- Прошёл ли тест
- Прошла ли диагностика с сервером
- Были ли зависания
- Скриншоты экрана (если можно)