diff --git a/idea.md b/idea.md index b0afc9e..6f7e912 100644 --- a/idea.md +++ b/idea.md @@ -1,28 +1,60 @@ -замысел - сделать сервис по анализу ошибок электроники автомобиля +# obdai.ru — AI-диагностика автомобиля через ELM327 -lfyyst - jn Cканер для диагностики автомобилей ELM327 OBD2 -Bluetooth v1.5 чип PIC18F25K80 - это моя модель +Сервис анализа ошибок электроники автомобиля с помощью ИИ (DeepSeek). -Пользователь вводит в произвольной форме симптомы жалобы и тд и тп +## Как работает -Приложение на андроиде устанавливает соединение и запрашивает параметры у ЭБУ -сначала - ВИН номер, он уникален и по нему дальнгейшая идентификация -затем - список ошибок -Приложение дополнительно опрашивает ЭБУ по данным необходимых параметров -затем Приложение отсылает сформированный запрос на Сервер -Сервер формирует запрос к ЛЛМ (какая модель, как авторизоваться и оплачивать - отдельный вопрос) -ЛЛМ отвечает, сервер анализирует, задаёт ещё вопросы ЛЛМ если надо -Пересылает сообщение Приложению, к котором - либо диагноз, - либо команда Приложенгию считать и переслать ещё какие то параметры, - либо - задание Пользователю произвести необходимые действия (прогазовать и держать обороты какие то время, проехать расстояние, дожать до кикдауна и тд и тп) -И так - пока не будут считаны все нужные параметры в нужных режимах +``` +ELM327 ←Bluetooth→ Телефон (тонкий клиент) ←HTTP→ Сервер ←API→ DeepSeek + ↑ + вся логика здесь +``` -То есть в итоге - надо разработать - Приложение на андроиде, версия наиболее стабильная, пользователю неохота устанавливать/обновлять - Сервер - на ВМ или кубере в дальнейшем +## Железо пользователя -Предполагается - ноутбук с выходом в интернет, на неём копилот (ТЫ) -ноут по блютус соединяется с ELM -Ты имеешь возможность считывать данные с ЭБУ двигателя, анализируешь -и сочиняешь Приложение и Сервер \ No newline at end of file +- ELM327 Bluetooth (клон PIC18F25K80 — дешёвый, массовый) +- 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, браузер |