55 Діагностика своїми руками

На дану замітку мене підштовхнули питання автолюбителів, хто не має CLIP і в силу ряду причин змушений вирішувати проблеми з електронікою автомобіля самостійно, або просто хоче дізнатися свій автомобіль краще.

У цій статті я постараюся максимально докладно описати три різновиди самостійної діагностики Рено:
1. Діагностика параметрів блоків через додаток для Android - Torque pro
2. Діагностика та робота з використанням скриптів PyRen
a. на комп'ютері
b. на Android

Частина перша: Torque pro

Частина друга: PyRen на комп'ютері

Увага, важливо розуміти, що роботи, що проводяться з автомобілем, виконуються на свій страх і ризик. Не маючи відповідних знань, не поспішайте міняти параметри і виконувати інші дії. Даний скрипт дозволяє не тільки діагностувати блоки автомобіля, але і змінювати їх конфігурацію, скидати адаптацію блоків, тому ніхто крім Вас не несе відповідальності за роботи, що проводяться з блоками автомобіля.

1. вмонтовуєте або відкриваєте образ з диском Кліпа.
2. Копіюєте в вільну папку два файли з цього диска: data1.hdr і data2.cab
3. Копіюєте туди ж extrdata.bat і i12comp.exe з PyRen і запускаєте extrdata.bat
4. Чекаєте хвилин 5, поки обробка не закінчиться.
В результаті з'явиться папка GenAppli в якій будуть три папки потрібної бази CLIP-а:

І залишиться тільки перенести ці папки в потрібне місце, на тому ж рівні, що і папка про скриптами pyren.

Також, як і говориться в інструкції, потрібно завантажити Python 2.7. При установці погодьтеся з дефолтних місцем розташування та іншими параметрами за замовчуванням.
Корисно буде вибрати при установці наступний чекбокс: додати Python в системний path (змінну оточення):

Важливо, що б при першому запуску скрипта, комп'ютер мав доступ до Інтернет, тому що Python сам завантажить і доставить необхідні модулі.

Також перевірте, що ім'я ім'я комп'ютера не містить кирилиці (Пуск - Комп'ютер (правою кнопкою миші) - властивості - додаткові параметри системи), інакше python не зможе коректно встановити додаткові модулі при своєму запуску.

Після установки Python 2.7, розпакуйте архів з базою CLIP в будь-якому місці, наприклад D: \ script \. В цю ж папку розпакуйте і архів зі скриптом PyRen. Для запуску демо-режиму, додатково пропоную завантажити два файли: приклад savedEcus.p і набір bat-файлів для запуску скрипта. Вміст архіву і файл savedEcus.p потрібно помістити в директорію D: \ script \ pyrenXX \ (де XX-актуальна версія скрипта). І запустити pyren_demo.bat. Python сам завантажить і встановить необхідні для роботи модулі з Інтернету і запустить скрипт.

Якщо ви використовуєте Windows10 і при відкритті командного рядка у вас замість українського - кракозябри, то поміняйте у властивостях командного рядка налаштування шрифту: замість точкових, виберіть Lucida Console

Після перевірки роботи скрипта в демо-режимі, видаліть savedEcus.p перед підключенням до свого автомобіля або використовуйте pyren.py з додатковим ключем --scan (pyren.py -p COM10 --scan --log = 1), скрипт буде ігнорувати збережений раніше файл savedEcus.p і буде кожен раз створювати новий.

Якщо Ви не впевнені в працездатності ELM327 адаптера і підтримки їм потрібних команд, в скрипті з'явилася можливість протестувати адаптер. Виконайте \ scripts \ pyren0994> cmdr_chkelm.py -p COM1, де COM1 - номер порту адаптера і в поданні інформації буде результат перевірки всіх основних команд. Подібний скрипт є і для андроїд-версії - chkelm_4a_launcher.py

приклад з android

Якщо помилок істотно більше, то адаптер не зможе працювати зі скриптом.

У bat-файлах вже вказані рядки з включеним логування: --log = 1. Ця інформація може бути корисна розробникам для поліпшення роботи скрипта. Лог-файли створюються в директорії \ scripts \ pyrenХХХХ \ logs \ - два файли: ecu_1 і elm_1. Якщо логирование не потрібно, просто видаліть цю змінну з файлу.

Якщо з якоїсь причини (наприклад, раніше вже були установки Python), при запуску буде помилка, типу такий:
You are using pip version 7.1.2, however version 8.1.0 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.
Оновлення цей модуль через "Пуск> виконати" і в рядок скопіюйте запропоновану команду: "python -m pip install --upgrade pip". Python сам оновить модуль.

У режимі DEMO можете пройтися по блокам автомобіля, оцінити можливості як програми, так і свої знання. Після вивчення demo на прикладі мого savedEcus.p, видаліть його. Після успішного детектування блоків Вашого автомобіля, з'явиться Ваш власний файл і зможете включати DEMO-режим і вивчати блоки вже свого автомобіля. У звичайному режимі буде можливість, підключившись до блоку, отримати його поточні дані, скинути помилки і виконати реконфігурацію, якщо це необхідно.

У кожного блоку свій набір меню, але основні пункти всюди однакові:
Device errors - тут помилки (кожна помилка це теж пункт меню в який можна увійти і прочитати всю інформацію по кожній помилці)
Identifications - VIN, версії прошивок і PN блоку
У пунктах:
System state
System parameters
System configuration
тільки поточний стан і конфігурація. Змінити звідти нічого не можна
Ececuting tests - виконання тестів (поклацати релюшкой, моргнути лампочками)
Changing configuration - Зміна конфігурації
VIN programming - Крім VIN іноді і ще що-небудь можна поміняти, наприклад перевести ручне гальмо в сервісний режим.
Resets - Скинути помилки і калібрування
Configuration scenarios - конфігураційні сценарії. Велика частина не працює, але можна ознайомитися з принципами роботи, використовуючи команду show. при запиті ENTER після фрази "There is scenatium. I do not support them!"
DE extra information - додаткова інформація, пов'язана з помилками і пробігом, на якому помилка зафіксована.

Важливе зауваження для роботи під Win XP - бібліотека pyserial оновилася і більш не підтримує цією версією ОС. При установці останніх версій Python 2.7, можливо отримати таку помилку:

CancelIoEx for serial

Для вирішення цієї проблеми потрібно відкотити версію бібліотеки pyserial. Версію 2.7 можна взяти тут. Досить завантажити архів і розпакувати його в c: \ Python27 \ Lib \ site-packages \, погоджуючись на заміну файлів. Або в командному рядку виконати послідовно такі команди:
1. pip uninstall pyserial
2. pip install http_s: //pypi.python.org/packages/source/p/pyserial/pyserial-2.7.tar.gz (прибравши підкреслення в http_s)

Підготовка CSV файлу для Torque з розширеними PID

Для створення файлу, необхідно знати індекс потрібного блоку (як правило ЕБУ двигуна). Цей індекс визначається скриптом PyRen при підключенню до автомобіля і скануванні блоків автоматично, в прикладі вище цей індекс 11134.
Використовуйте bat-файл mod_ecu.bat, замініть цей індекс: «mod_ecu.py 0111134 RU torq» і запустіть скрип. "

В результаті в робочій директорії скрипта буде сформований файл з ім'ям виду PR_7E0_7E8_11134_RU.csv і вказані рядки ініціалізації для Torque. Для Scenic3 я не використовую додатковий рядок ініціалізації і так працює нормально, швидше за все, на більш ранніх поколіннях рядок ініціалізації потребуется.Также рядок ініціалізації потрібно в разі звернення до блокам, відмінним від ЕБУ двигуна.
Цей CSV файл і поміщаємо в Android пристрій і довантажувати в Torque, як писалося раніше або в цьому записі. Для сучасних автомобілів Torque дозволяє виводити на один екран інформацію від датчиків різних блоків, докладніше це описано в цьому записі.

Також, з версії PyRen 0995, PID можна робити безпосередньо на пристрої Android, запускаючи скрипт make_torque_pids.py, в запиті також вказуєте скорочений індекс блоку і використовуваний мову - RU. В результаті, скрипт створить два файли і відправить їх відразу в директорії Torque - сам файл CSV з набором PID, і новий профіль, в який можна переключитися на початковому екрані Torque. У профілі вказується рядок ініціалізації і швидкість обміну даними по порту, проте інші дані - обсяг, тип двигуна і т.д.- вказуються дефолтними і їх редагувати потрібно вже самостійно під свій автомобіль.

Частина третя: PyRen на Андроїд

Починаючи з нової версії 0.98 розробники додали можливість запуску скрипта з під Андроїд. Для цього на пристрій ставиться SL4A і Py4A і запуск виконується через скрипт лаунчер pyren_4a_launcher.py.
Порядок установки:

Змінювати розмір тексту на екрані пристрою можна клавішами гучності або через контекстне меню програми sl4a. У тому випадку, якщо необхідно збільшити зберігається на екрані число рядків, в настройках SL4A вкажіть параметр Scrollback size більше. За замовчуванням там 140 рядків, 450-500 рядків вистачить.

#### demo mode without connecting to car
# Sys.argv.append ( '- demo')

#### ignore existence of savedEcus.p and do new scanning
# Sys.argv.append ( '- scan')

#### enable logging
# Sys.argv.append ( '- log'); sys.argv.append ( 'log.txt')

#### switch to english. Remove all FG / SG files from cache directory
# Sys.argv.append ( '- LGB')

Опитування пробігу автомобіля за всіма доступними блокам
Для Pyren на Android, запустіть лаунчер cmdr_4a_launcher.py, а для варіанту на ПК запустіть скрипт \ pyrenХХХХ> cmdr_odometr.py -p COM1. де COM1 - номер порту з вашим адаптером, і скрипт опитає все блоки на наявність інформації в них про пробіг. Це може бути корисно для швидкого перевірці історії автомобіля, тому що реальний пробіг - важливий критерій в первинній оцінці стану автомобіля.

приклад опитування блоків, в тому числі пробіг останньої діагностики в Європі (74994 км)

Спасибі творцям і учасникам "Діагностики своїми руками": PyRen. Shr-lnm і іншим.

Докладний приклад з процесом діагностики і роботи в скрипті наведено в цьому записі.

Детальна інструкція для установки на ОС Android описана в цьому записі