Elm327 Renault

Шапка обновлена, все версии сведены на Google-диск:

Тема на форуме клуба Рено Диагностика своими руками

Начиная с 21.11.2018 — обновлен скрипт PyRen до версии 0.9.n (beta), проект доступен на GitLab по , актуальная сборка всегда доступна по .

Копия актуальной версии и все необходимое для установки доступно в общей папке на Google-диске.

Общая папка на Google-диске с разной полезной информацией по Рено, включая PID для Torque Pro, электросхемы по Scenic3 и некоторые техноты.

Уважаемые читатели! Скрипты для диагностики PyRen постоянно развивается и со времени первой редакции этой заметки претерпели значительное изменение; в них появился функционал работы с базой DDT2000, универсальный лаунчер (единый скрипт для запуска для Windows и Андроид), возможность создавать документацию под свой VIN по ремонту и многое другое. Вся эта информация, по мере выхода версий, появлялась в более поздних записях в моем бортовом журнале, и желательно с ней также ознакомиться. Данная запись также обновляется и дополняется.

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

В данной заметке я постараюсь максимально подробно описать три разновидности самостоятельной диагностики Рено:
1. Чтение параметров через приложение для Android — Torque pro с расширенным набором PID
2. Диагностика и работа с использованием скриптов PyRen на компьютере
3. Диагностика и работа с использованием скриптов PyRen на устройстве Android

Часть первая: Torque pro

Базовую информацию о работе с этой программой я описывал в этой записи, также в последующих заметках добавилось много полезной информации. Подведу сразу краткое резюме: при использовании дополнительных наборов PID, программа позволяет просматривать большое количество (в большинстве случаев все) значения параметров из ЭБУ двигателя и других блоков автомобиля, а также строить графики и сохранять их данные при проведении испытаний.

Для работы требуется приложение Torque pro, патченную версию можно найти на форуме 4pda.ru или на Google-диске в шапке, устройство под управлением ОС Android (телефон или планшет), правильный адаптер ELM327 и файл с расширенными PID параметрами. Для двигателей К9К 832 и 836/837 я подготовил файл K9K_832_and_836_v.1.97 с полными параметрами, о котором писал в этой записи. Этот файл был сгенерирован через PyRen и содержит все данные по ЭБУ этих двигателей и других блоков Меган3/Сценик3, плюс некоторые добавления, которые я собрал из разных источников. Как сделать PID-файл для других блоков я напишу во второй части.

Какой тип адаптера выбрать – решать вам:
— Если в основном используется приложение Torque, то Bluetooth наиболее удобен, т.к. в телефоне можно продолжать пользоваться интернетом. Но на Андроид старше версии 8.1 такой адаптер может иногда отключаться, что мешает работе с PyRen.
— USB версия на текущий момент не поддерживается PyRen на Андроид, и такой адаптер удобнее всего использовать с компьютером — такой адаптер работает быстрее при опросе параметров.
— Адаптер Wi-Fi не удобен только тем, что не будет доступен интернет на устройстве, однако подключаться к такому адаптеру проще всего и обрывов соединения с ним нет. Сейчас я обычно пользуюсь именно таким адаптером.

Самое важное — выбрать хороший адаптер, который будет поддерживать все необходимые команды. Разновидностей адаптеров сейчас великое множество, и о том, как выбрать правильный, можете прочитать в этой записи. Для поиска на китайских сайтах (aliexpress) я использую поиск по чипу 25k80 — который выводит список адаптеров с чипом 18f25k80. Как правило такие адаптеры работают со всеми нужными командами. Те, кто хочет получить доступ еще и ко второй шине — CAN2 — которая может использоваться в современных автомобилях для работы мультимедиа и навигации, могут сделать универсальный адаптер для Рено.

Устанавливаем Torque Pro, подключаем к устройству адаптер ELM327, на устройство, в папку /.torque/extendedpids копируем нужный нам csv файл с дополнительными PID. Если папки /.torque не видно, просто смените браузер — это скрытая папка и подключив к компьютеру, обычным «проводником» ее будет не видно. Я пользуюсь Total Commander. К слову сказать, у него есть удобный плагин подключения Google-диска, что бывает очень полезно для копирования файлов и синхронизации с компьютером, а также он легко поддерживает архивы ZIP и RAR, и легко позволяет извлекать из него базу CLIP, о которой пойдет речь в третьей части.
Если папки extendedpids нет – ее нужно создать вручную. Как добавить датчики на приборную панель Torque, рассказано на этом видео:

В настройках программы рекомендую сразу убрать галочку «использовать psi вместо bar», т.к. все параметры в технотах и базе CLIP-а приводятся в bar.

Для Megane2 советуют использовать такую строку инициализации в настройках подключения:
atat0\natstff\natat1\natal\natcra7e8\natfcsh7e0\natfcsd300000\natfcsm1\nattp6\n10C0

И еще можно попробовать такой вариант.

Думаю, про эту тему больше нечего написать, полистайте более новые записи на эту тему, посмотрите видео в конце записи и если есть вопросы – пишите комментарии, обязательно отвечу.

Часть вторая: PyRen на компьютере

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

Основная тема на форуме клуба-Рено находится . Спасибо создателям и участникам!

Для работы, PyRen использует базу данных ПО CLIP, сам CLIP ставить не нужно, достаточно только соблюсти правильные пути и скопировать три папки из готового архива базы CLIP в папку со скриптом PyRen. Ссылки на архив со скриптом PyRen а также архив с последней версией базы CLIP приведены в на Google-диске и ссылка размещена в шапке этой записи. Если нужно собрать собственный архив с новой версией, PyRen позволяет это сделать с помощью файлов, входящих в его состав — extract.py и i12comp.exe. Как собрать собственную базу CLIP я рассказывал в этой записи.

Для работы скрипта, требуется Python версии 2.7. Скачать Python 2.7. При установке согласитесь с дефолтным месторасположением и другими параметрами по-умолчанию. Полезно будет выбрать при установке следующий чекбокс: добавить Python в системный path (переменную окружения):

включить путь

Важно, что бы при первом запуске скрипта, компьютер имел доступ к Интернет, т.к. Python сам скачает и доставит необходимые модули.

Также проверьте, что имя имя компьютера не содержит кириллицы (Пуск — Компьютер(правой кнопкой мыши) — свойства — дополнительные параметры системы), иначе Python не сможет корректно установить дополнительные модули при своем запуске. И если у Вас операционная система Windows XP, необходимо будет откатить библиотеку pyserial на более раннюю версию. Об этом далее.

После установки Python 2.7, распакуйте архив с базой CLIP в любом месте, например D:\script\. В эту же папку распакуйте и архив со скриптом PyRen. Для запуска демо-режима необходимо наличие файла savedEcus.p. Этот файл нужно поместить в директорию D:\script\pyren\. И запустить универсальный лаунчер — _pyren_launcher.py. Python сам загрузит и установит необходимые для работы модули из Интернета и запустит скрипт.

На картинке приведен пример запуска универсального лаунчера. Назначение чекбоксов и параметров следующие:
Version — текущая версия PyRen. Можно сохранять старые версии скриптов и переключаться между ними в этом меню лаунчера
Port — порт адаптера, либо адрес адаптера Wi-Fi. Адрес для Wi-Fi указывается в формате IP:port адаптера.
Other patch to script — альтернативный путь к скрипту, как правило не используется.
Port Speed — скорость порта. Рекомендуется оставить по-умолчанию 38400, если не уверены, что адаптер поддерживает более высокую скорость.
DB Language — выбор языка, по-умолчанию выбран русский
Log — включение функции логирования. Лог-файл может быть необходим для анализа ошибки, проверки адреса блока и других случаях. Файлы сохраняются в директории pyren\logs\
Dump — сохранение дампа блока. Это рекомендуется делать перед любыми изменениями параметров в машине для возможности исправить неожиданные последствия таких изменений 🙂
CAN2 — использование шины CAN2 с соответствующим адаптером
Раздел CAN:
—cfc — программный flow-control, включать в том случае, если адаптер ELM327 не поддерживает аппаратный.
—n1c — нужен для старых и редких чипов ELM которые не поддерживают нечетное количество цифр в командах, когда последняя цифра указывает ELM сколько фреймов с CAN шины мы от него ждем.
—si — использование параметра slow-init для блоков более старых версий, таких, как на машинах до 2009 года выпуска: Megane2/Scenic2.
И дополнительная стройка ввода параметров, таких, как например ключи в примере:
—vv — расширенный вывод информации по параметру, если такая информация присутствует в базе
-e10247 — выбор блока без обращения к файлу savedEcus.p, полезно для запуска демо-режима по конкретному блоку или их группе.

И группа кнопок внизу:
Start — обычный старт скрипта
Scan — старт скрипта без проверки файла savedEcus.p. Будут просканированы все блоки автомобиля
Demo — запуск скрипта в демо-режиме при сохраненном файле savedEcus.p либо ключе -e
CheckELM — проверка адаптера специальными АТ-командами на возможность работы со скриптом
Monitor — запуск скрипта мониторинга CAN-шины. Требует наличие базы DDT2000. Об этой функции я писал отдельно в этой записи.
Update — обновление скрипта напрямую с Gitlab

пример проверки адаптера CheckELM на Android
Если ошибок 11 — адаптер будет работать со скриптом и поддерживать все функции. Если ошибок 15 — скорее всего адаптер не поддерживает аппаратный Flow-Control и нужно включить чекбокс —cfc. Если ошибок существенно больше, то адаптер не сможет работать со скриптом.

Если вы используете Windows10 и при открытии командной строки у вас вместо русского — кракозябры, то поменяйте в свойствах командной строки настройку шрифта: вместо точечных, выберите Lucida Console

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

Zoom

запуск в демо-режиме

При первом запуске и сканировании Вашего автомобиля, напротив каждого блока будет отображено также и количество ошибок. При повторном запуске скрипта, блоки не будут сканироваться для сокращения времени запуска, и будет указан просто тип блока: STD_A, STD_B или Failflag и для проверки количества ошибок в каждом блоке нужно запустить Rescan Error. Для блоков типа Failflag, используемых на машинах до 2009, часто ЦЭКБС, посмотреть ошибки можно только заходя в соответствующий пункт меню — Device Error — в каждом таком блоке, общее количество ошибок такие блоки не отдают.

Zoom

меню

У каждого блока свой набор меню, но основные пункты везде одинаковые:
Device errors — ошибки (каждая ошибка это тоже пункт меню в который можно войти и прочитать всю информацию по каждой ошибке)
Identifications — VIN блока, версия прошивки и версия софта
В пунктах :
System state
System parameters
System configuration
отображается текущее состояние параметров и конфигурация блока.
Ececuting tests — выполнение тестов (пощелкать релюшками, поморгать лампочками)
Changing configuration — Изменение конфигурации. Важно соблюдать осторожность! Желательно перед изменением включать функцию Log, что бы сохранить какие изменения делали. Некоторые команды не имеют обратной функции, например включение скандинавского света выключить штатным способом не получится.
VIN programming — Кроме VIN иногда и еще что-нибудь можно поменять, например перевести ручной тормоз в сервисный режим.
Resets — Сбросить ошибки и калибровки. Важно соблюдать осторожность! Некоторые сбросы могут содержать ошибку в самой базе Клип и машина просто не заведется. Пример RZ004.
Configuration scenarios — Конфигурационные сценарии. Большая часть не работает, т.к. требуется более сложный анализ логики и различных состояний, но можно ознакомиться с принципами работы, используя команду show, при запросе ENTER после фразы «There is scenatium. I do not support them!»
DE extra information — дополнительная информация, связанная с ошибками и пробегом, на котором ошибка зафиксирована.
DDT screens — включение функции mod_ddt, и работа с базой DDT2000. Для активации этой функции, нужно положить папку ecus — базу DDT2000 вместе с папками базы CLIP. Подробнее о работе с DDT я рассказывал в других записях, например этой и этой.
Extended command set — скрытое меню с полным списком команд, тестов и сценариев, доступных для данного блока. Для включения скрытого меню нужно ввести cmd в любом разделе и зайти в нужный блок.

Скрипт PyRen поддерживает следующие дополнительные команды:
cmd — Extended command set. После ввода этой команды (например в главном меню), при входе в основное меню любого блока будет добавлено дополнительное меню, в котором собраны вместе все тесты, команды и сценарии, поддерживаемые блоком. Эта команда может быть полезна тогда, когда в меню Changing configuration отсутствует необходимая команда настройки блока.
show — просмотр детальной информации по сценарию. Позволяет понять, какие отдельные команды могут использоваться в этом сценарии и сэмулировать его работу, как например при прописывании форсунки на 836 моторе.
hex — ввод параметров в шестнадцатеричном формате, например при изменении параметров.
dec — ввод параметров в десятичном формате, например при вводе межсервисного интервала.
vin — команда подтверждения при смене vin.

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

Zoom

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)

Если по какой- то причине (например, ранее уже были установки 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 сам обновит модуль.

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

Для генерации файла, необходимо знать индекс нужного блока (как правило ЭБУ двигателя). Этот индекс определяется скриптом PyRen при подключению к автомобилю и сканировании блоков автоматически, в примере выше этот индекс 11080: ECU : 11080 X95_K9K636_00F7_01_81
Используйте в командной строке сразу вызов скрипта с параметрами своего блока, например: mod_ecu.py 11080 RU torq.

делаем PID

В результате в рабочей директории скрипта будет сформирован файл с именем вида PR_7E0_7E8_11080_RU.csv и указаны строки инициализации для Torque. Для Scenic3 я не использую дополнительную строку инициализации, т.к. для машин старше 2009 года это не требуется, но на более ранних поколениях строка инициализации необходима для подключения к каждому блоку.

Этот CSV файл и помещаем в Android устройство и подгружаем в Torque, как писалось ранее или в этой записи. Для современных автомобилей Torque позволяет выводить на один экран информацию от датчиков разных блоков, подробнее это описано в этой записи.

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

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

PyRen корректно работает на Андроид версий от 4.4. На более ранних (4.2) версиях, используемых на смартфонах, часто возникает проблема доступа к адаптеру. На планшетах под управлением Андроид 4.2 проблем с доступом к адаптеру нет.

Автор и разработчик SL4A и Python_4_Android github.com/kuri65536/

2. Разрешите возможность установки неизвестных приложений «Unknown Sources» на вашем устройстве.
3. Установите первое приложение: SL4A Application
4. Установите второе приложение: PythonForAndroid
5. Распакуйте архив com.googlecode.pythonforandroid.zip в корень домашней директории пользователя (на том же уровне, что и папки sl4a, DCIM, Downloads) и внутри папки com.googlecode.pythonforandroid будут три файла для установки питон: python_scripts_r26.zip, python_extras_r29.zip и python_r29.zip
7. Откройте PythonForAndroid
8. Нажмите Local Install и затем Run Local Install, для установки необходимых библиотек Python локально. Проверьте, что версия установлена нужная — Version Installed: Bin: 29 Extra: 29 Scripts: 26
9. Удалите все тестовые скрипты питона из папки /sl4a/scripts/
10. Распакуйте папку pyren (она внутри папки pyren-master) из архива pyren-master-9q24.zip или pyren-master.zip с GitLab в папку /sl4a/scripts/.
11. Распакуйте на самом устройстве базу CLIP — три папки в эту же папку /sl4a/scripts/, так, что бы получилась следующая структура папок в /sl4a/scripts/:
/EcuRenault/
/Location/
/Vehicles/
/pyren/
_pyren_launcher.py
busmon_4a_launcher.py
cmdr_4a_launcher.py
make_torque_pids.py
pyren_4a_launcher.py
Также, теперь PyRen может работать и с архивной базой — pyrendata_190.zip, не требующую распаковки, которую необходимо положить в /sl4a/scripts/
12. Скопируйте пример файла savedEcus.p в папку pyren: /sl4a/scripts/pyren/ Этот файл необходим для запуска скрипта в демо-режиме.
13. Запустите приложение SL4A на устройстве.
14. Запустите универсальный лаунчер _pyren_launcher.py (пиктограмма с черным окошком терминала) и выберите кнопку «DEMO».
15. После проверки работы скрипта, удалите пример savedEcus.p из папки со скриптом, что бы, подключаясь к своему автомобилю, опросить все блоки заново. После первого подключения будет создан новый файл savedEcus.p с блоками именно Вашего автомобиля. А также рекомендуется очистить папку кеша скрипта, удалив папку pyren\cache.
16. Для запуска скрипта в обычном режиме, запустите универсальный лаунчер _pyren_launcher.py и выберите кнопку «Start».
17. При подключении выберите необходимый адаптер BT или выберите Wi-Fi, если используется такой адаптер, указав его адрес и порт для подключения (для WiFi чаще всего используется адреса либо 192.168.0.1:35000 либо 192.168.1.1:35000)
18. Наслаждайтесь возможностью диагностики в любом месте.
19. Для обновления версии скрипта, удалите только скрипты лаунчеров, оставив базу CLIP и старую версию PyRen с сохраненным вашим savedEcus.p файлом:
/scripts/EcuRenault/
/scripts/Location/
/scripts/Vehicles/
/scripts/pyren/
И распакуйте архив новой версии PyRen.
Либо в настройках лаунчера нажмите кнопку Update.

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

В том случае, если нужен режим demo или включение логирования, выберите соответствующий чекбокс. Кнопка SCAN позволяет подключаться скрипту к автомобилю, игнорируя сохраненный ранее savedEcus.p, т.е. проводя опрос всех блоков автомобиля. При включении режима логирования, в папке logs/ появится два файла, необходимых для проверки работы скрипта и адаптера.

Для работы PyRen на Андроид 8 и выше требуется самая последняя версия скрипта, в нем исправлена процедура TCSAFLUSH и ошибки больше не будет.

ZoomTCSAFLUSH

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

пример опроса блоков, в том числе пробег последней диагностики в Европе (74994 км)

Спасибо создателям и участникам «Диагностики своими руками»: PyRen, Shr-lnm и другим.

Подробный пример с процессом диагностики и работы в скрипте приведен в этой записи.

Если остались вопросы, посмотрите мое видео и подписывайтесь на канал, что бы не пропустить следующее 🙂

замечания по установке и рассказ о Torque:

Всем удачи и теплой весны. (прим. заметка впервые опубликована 10 марта 2016)

#PyRen #Пирен #Диагностика Рено