idea.md: updated to thin client + server architecture
This commit is contained in:
@@ -1,28 +1,60 @@
|
|||||||
замысел - сделать сервис по анализу ошибок электроники автомобиля
|
# obdai.ru — AI-диагностика автомобиля через ELM327
|
||||||
|
|
||||||
lfyyst - jn Cканер для диагностики автомобилей ELM327 OBD2
|
Сервис анализа ошибок электроники автомобиля с помощью ИИ (DeepSeek).
|
||||||
Bluetooth v1.5 чип PIC18F25K80 - это моя модель
|
|
||||||
|
|
||||||
Пользователь вводит в произвольной форме симптомы жалобы и тд и тп
|
## Как работает
|
||||||
|
|
||||||
Приложение на андроиде устанавливает соединение и запрашивает параметры у ЭБУ
|
```
|
||||||
сначала - ВИН номер, он уникален и по нему дальнгейшая идентификация
|
ELM327 ←Bluetooth→ Телефон (тонкий клиент) ←HTTP→ Сервер ←API→ DeepSeek
|
||||||
затем - список ошибок
|
↑
|
||||||
Приложение дополнительно опрашивает ЭБУ по данным необходимых параметров
|
вся логика здесь
|
||||||
затем Приложение отсылает сформированный запрос на Сервер
|
```
|
||||||
Сервер формирует запрос к ЛЛМ (какая модель, как авторизоваться и оплачивать - отдельный вопрос)
|
|
||||||
ЛЛМ отвечает, сервер анализирует, задаёт ещё вопросы ЛЛМ если надо
|
|
||||||
Пересылает сообщение Приложению, к котором
|
|
||||||
либо диагноз,
|
|
||||||
либо команда Приложенгию считать и переслать ещё какие то параметры,
|
|
||||||
либо - задание Пользователю произвести необходимые действия (прогазовать и держать обороты какие то время, проехать расстояние, дожать до кикдауна и тд и тп)
|
|
||||||
И так - пока не будут считаны все нужные параметры в нужных режимах
|
|
||||||
|
|
||||||
То есть в итоге - надо разработать
|
## Железо пользователя
|
||||||
Приложение на андроиде, версия наиболее стабильная, пользователю неохота устанавливать/обновлять
|
|
||||||
Сервер - на ВМ или кубере в дальнейшем
|
|
||||||
|
|
||||||
Предполагается - ноутбук с выходом в интернет, на неём копилот (ТЫ)
|
- ELM327 Bluetooth (клон PIC18F25K80 — дешёвый, массовый)
|
||||||
ноут по блютус соединяется с ELM
|
- Android-телефон (7+)
|
||||||
Ты имеешь возможность считывать данные с ЭБУ двигателя, анализируешь
|
|
||||||
и сочиняешь Приложение и Сервер
|
## Тонкий клиент (Android)
|
||||||
|
|
||||||
|
Только транспорт, никакой логики:
|
||||||
|
- Bluetooth SPP → ELM327
|
||||||
|
- Читает сырые OBD-ответы
|
||||||
|
- Отправляет HTTP POST на сервер
|
||||||
|
- Показывает ответ от сервера
|
||||||
|
|
||||||
|
Открытый исходный код на GitHub → доверие пользователей.
|
||||||
|
Публикация в RuStore.
|
||||||
|
|
||||||
|
## Сервер (вся логика)
|
||||||
|
|
||||||
|
1. Принимает сырые данные от клиента (`/api/v1/raw-obd`)
|
||||||
|
2. Парсит: VIN, коды ошибок, параметры ЭБУ
|
||||||
|
3. Формирует промпт → DeepSeek API
|
||||||
|
4. LLM отвечает → сервер анализирует → может запросить ещё данные
|
||||||
|
5. Итеративный цикл:
|
||||||
|
- диагноз
|
||||||
|
- или команда «считай ещё параметр X»
|
||||||
|
- или задание водителю («прогазуй до 3000 об/мин», «проедь 5 км», «дожми до кикдауна»)
|
||||||
|
6. Финальный ответ: диагноз + степень уверенности + пояснения + что делать
|
||||||
|
|
||||||
|
## Десктоп (для тестирования)
|
||||||
|
|
||||||
|
Ноутбук → Bluetooth → ELM327 → локальный Flask → DeepSeek.
|
||||||
|
Браузерный UI. Без Android.
|
||||||
|
|
||||||
|
## Домен
|
||||||
|
|
||||||
|
**obdai.ru** (обыгрывается: «обдай грязью» + OBD + AI)
|
||||||
|
|
||||||
|
## LLM
|
||||||
|
|
||||||
|
DeepSeek (через OpenAI-совместимый API). Дёшево, справляется с анализом логов.
|
||||||
|
|
||||||
|
## Компоненты
|
||||||
|
|
||||||
|
| Компонент | Где | Технологии |
|
||||||
|
|---|---|---|
|
||||||
|
| Сервер | obdai.ru | Python, Flask → gunicorn, PostgreSQL |
|
||||||
|
| Клиент Android | GitHub + RuStore | Kotlin, AndrOBD library (GPLv2), OkHttp |
|
||||||
|
| Десктоп | Локально | Python, Flask, pyserial, браузер |
|
||||||
|
|||||||
Reference in New Issue
Block a user