bump: v0.2.3-dev на морде
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
# Результаты тестирования протокола ELM327 v1.5 — 28.06.2026
|
||||
|
||||
## Конфигурация
|
||||
|
||||
- **ELM327:** клон v1.5, протокол A0 (CAN), 12.2V
|
||||
- **Приложение:** ELM Relay v2 (v0.2.2-dev, пакет ru.elmer.raw)
|
||||
- **Протокол:** канонический init (ATE0→ATL0→ATS0→ATI→detectClone→ATST96→ATSP0)
|
||||
- **ECU:** зажигание ON, двигатель OFF
|
||||
|
||||
## Результаты
|
||||
|
||||
### Статика (6 PID по одному, пауза 1с)
|
||||
- 2/6 успешно (33%)
|
||||
- Сбои: хвост "12.3V" от ATRV после инита, STOPPED, таймауты
|
||||
- **Причина:** после init() и hello-команд (ATI, ATDPN, ATRV) в буфере остаются хвосты
|
||||
|
||||
### Динамика (3 цикла × 4 PID, пауза 300мс)
|
||||
- **12/12 = 100% успешно** ✅
|
||||
- RPM: 286-506ms, стабильно
|
||||
- Дроссель: 294-402ms, стабильно
|
||||
- ОЖ: 326-506ms, стабильно
|
||||
- Нагрузка: 294-340ms, стабильно
|
||||
|
||||
### Сравнение с предыдущими тестами (14 июня)
|
||||
|
||||
| Дата | Протокол | Динамика |
|
||||
|------|----------|----------|
|
||||
| 14.06 (до фиксов) | AndrOBD init, нет drain, ATAT1 | 0/8 (0%) |
|
||||
| 14.06 (с drain) | drain_first=true | 8/8 (100%)* |
|
||||
| 14.06 (без drain) | — | 0/8 (0%) |
|
||||
| 28.06 (канон) | новый init, ElmActor, SQLite | **12/12 (100%)** |
|
||||
|
||||
*нестабильно — в повторных тестах 3/12
|
||||
|
||||
## Выводы
|
||||
|
||||
1. **Канонический протокол работает.** Динамика 100% без drain_first — drain встроен в sendCommand.
|
||||
2. **Проблема статики — хвост после инита.** Нужен drain после hello-команд в RawRelayService.
|
||||
3. **ElmActor + @Volatile + SQLite-очередь — без нареканий.**
|
||||
4. **Клон v1.5 стабилен на 6 PID с паузой 300мс.**
|
||||
|
||||
## Дальнейшие шаги
|
||||
|
||||
1. Исправить drain после hello в RawRelayService (ATI/ATDPN/ATRV → drain)
|
||||
2. Длинный тест: 50+ циклов динамики
|
||||
3. Тест с заведённым двигателем (RPM > 0)
|
||||
4. При успехе — перенести фиксы в основное приложение (:app)
|
||||
5. Смержить opus-fixes в master
|
||||
@@ -0,0 +1,28 @@
|
||||
# Вопросы для Соннета — почему телефон получает старый APK
|
||||
|
||||
Дата: 2026-06-28
|
||||
|
||||
## Ситуация
|
||||
|
||||
Сервер obdai.ru (Ubuntu 24, nginx, 5.172.178.213).
|
||||
APK собран через `./gradlew :raw:clean :raw:assembleDebug`, 36/36 tasks fresh.
|
||||
Проверено:
|
||||
- `aapt dump badging` → versionCode=6, versionName=0.2.2-dev ✅
|
||||
- `curl -sI https://obdai.ru/static/elm-raw-v022.apk` → 200 OK, 3726961 bytes ✅
|
||||
- Файл переименован: elm-raw-v022.apk (абсолютно новое имя, не могло быть в кеше)
|
||||
- Приложение переименовано: app_name = "ELM Relay v2" (strings.xml)
|
||||
- Страница обновлена: ссылка на /static/elm-raw-v022.apk, текст "Скачать ELM Relay v2"
|
||||
- nginx reload делался, gunicorn рестартовал
|
||||
|
||||
НО: пользователь с Android-телефона скачивает и получает **v0.1.1-dev**.
|
||||
Приложение на рабочем столе называется "ELM Relay v2", но внутри показывает v0.1.1-dev.
|
||||
|
||||
## Вопросы
|
||||
|
||||
1. Может ли Android (Google Play Protect / Verify Apps) подменять APK при установке на старую версию из кеша?
|
||||
2. Может ли nginx кешировать файлы, несмотря на `alias`? Нужен ли `expires -1` или `add_header Cache-Control "no-cache"`?
|
||||
3. Может ли `curl` и браузер телефона видеть РАЗНЫЕ файлы из-за Cloudflare/CDN/прокси провайдера? Как проверить?
|
||||
4. Может ли `wget` или `curl` с сервера через внешний IP показать, что отдаётся НЕ тот файл?
|
||||
5. Может ли Android Download Manager кешировать по имени пакета (ru.elmer.raw), а не по URL?
|
||||
6. Какие ещё механизмы кеширования APK существуют на стороне Android, которые мы не учли?
|
||||
7. Как ПРОВЕРИТЬ на сервере, что по HTTP реально отдаётся правильный файл, а не старый — поMD5 или размеру?
|
||||
@@ -29,7 +29,7 @@
|
||||
style="color:#00ff88;font-size:18px;font-weight:bold;text-decoration:none;">
|
||||
⬇️ Скачать ELM Relay v2
|
||||
</a>
|
||||
<p style="font-size:11px;opacity:0.6;margin:4px 0 0 0;">v0.2.1-dev • ретранслятор команд</p>
|
||||
<p style="font-size:11px;opacity:0.6;margin:4px 0 0 0;">v0.2.3-dev • ретранслятор команд</p>
|
||||
</div>
|
||||
|
||||
<!-- Кнопка десктоп-диагностики скрыта — только для разработчика с прямым ELM327 -->
|
||||
|
||||
Reference in New Issue
Block a user