# Быстрый старт ## Тест без машины (mock ELM327 + Android клиент) Три шага на ноутбуке + телефон. ### 1. Клонировать репо на ноутбуке ```bash git clone https://gitea.services.ngcloud.ru/Nail/elmer.git ~/elmer cd ~/elmer pip install flask requests pyserial ``` ### 2. Терминал 1 — Mock ELM327 ```bash python tools/mock_elm327.py # → Listening on 0.0.0.0:35000 ``` ### 3. Терминал 2 — Flask сервер ```bash python web/app.py # → Running on http://0.0.0.0:5005 ``` ### 4. Телефон - Скачать APK: https://github.com/Repinoid/elmer-android/actions → последний зелёный билд → артефакт `elmer-debug` - Установить (разрешить неизвестные источники) - В поле URL ввести: `IP_ноутбука:35000` (например `192.168.1.42:35000`) - Нажать кнопку ### 5. Ожидаемый результат - Телефон: ⏳ TCP подключение... → TCP: OK → обновления статуса - Терминал 1 (mock): AT-команды, VIN, DTC, PID — ответы - Терминал 2 (сервер): HTTP POST от телефона, парсинг, ответы --- ## Тест ELM327 в машине (Bluetooth + ноутбук) ## Один раз: Bluetooth ```bash bash scripts/setup-bt.sh ``` --- ## Тест 1: только чтение (без LLM) ```bash python run.py --no-llm ``` Что должно произойти: - Подключится к ELM327 - Прочитает VIN - Прочитает коды ошибок - Прочитает параметры (обороты, температура, скорость...) - Сохранит в elmer.db Если ошибка «Не удалось открыть порт» — запусти `bash scripts/setup-bt.sh` ещё раз. --- ## Тест 2: полный цикл (с DeepSeek) ```bash DEEPSEEK_API_KEY=sk-твой-ключ python run.py ``` То же самое + отправит в DeepSeek и покажет диагноз. --- ## Веб-интерфейс (на ноутбуке) ```bash pip install -r requirements.txt DEEPSEEK_API_KEY=sk-твой-ключ python web/app.py # Открыть http://localhost:5005 ``` --- ## Если ELM327 не отвечает 1. Проверь что ELM327 запитана (горит лампочка) 2. Проверь сопряжение: `bluetoothctl paired-devices` 3. Проверь порт: `ls -la /dev/rfcomm0` 4. Попробуй вручную: `sudo rfcomm bind 0 MAC-адрес`