Всем привет! Для начала немного теории. Кодированием называют изменение тех настроек электронных модулей BMW, которые недоступны через имеющиеся у водителя интерфейсы вроде "шайбы" и дисплея CCC. Электронные модули автомобиля передают друг другу данные по шине CANbus. К этой шине можно подключиться извне через разъём через OBD-II и менять настройки модулей, а также считывать из них коды ошибок и "стирать" их.
Зачем это нужно? Пара примеров.
1. Мне нужна скорость в виде цифры и без поправки. Стрелочный спидометр показывает скорость с поправкой +5 км/ч (поправка меняется в зависимости от скорости), а я хочу знать точно. По какой-то причине производитель на моей машине отключил показ скорости в бортовом компьютере, хотя во многих других машинах это возможно. Функцию можно включить кодированием.
2. Блок управления фарами позволяет активировать "дневные ходовые огни" в виде "дальнего света в пол накала" (у меня галогеновые рефлекторные фары, без линз и "глазок"). Он включается автоматически при включении зажигания и если не горит ближний. Такой свет хорошо заметен, а из-за пониженной яркости он не будет ослеплять. Ездить днём со включёнными фарами полезно для безопасности, а при езде по шоссе также и обязательно в некоторых странах. Можно вручную включать всегда ближний, но минус в том, что тогда лампы ближнего перегорят быстрее. Да и можно об этом просто забыть и получить штраф.
Это лишь несколько примеров, настроек там великое множество. Но нужно быть осторожным, поскольку данные настройки не для пользователей, и можно ими что-нибудь испортить. Например, активировать несуществующую функцию или прервать процесс кодирования посередине и тем самым сделать модуль нерабочим.
Но, как говорится, не ведают скуки умелые руки. Если техно-гику сказать о каких-то скрытых настройках, то у него на душе будет тяжело, пока он с этими настройками не наиграется. Поэтому, заглянем и немного углубимся в кроличью нору мира кодирования и диагностики BMW.
Когда-то я заморачивался с диагностикой с помощью компьютера и OBD-II --> USB кабеля. Но время идёт, и теперь многое из этого должно быть доступно с телефона. Не очень хотелось тащить в машину ноутбук, отодвигать сиденье, чтобы его разложить, запускать виртуальную машину Windows, поскольку у меня Мак, и копошиться в устаревшем ПО с неудобным интерфейсом. Поэтому я решил попробовать сделать всё с телефона.
Попытка 1: ELM327 WiFi interface
Данные весьма популярные адаптеры являются китайскими клонами одного известного фирменного. Вроде работают, но тут и там могут возникать проблемы. Есть разные версии (1.5, 2.0, …) Рекомендуется 1.5, как ни странно, потому что вроде бы используют более близкую к оригиналу, хоть и устаревшую, прошивку и вроде как меньше багов в разных приложениях.
Они бывают с подключением по Bluetooth и по WiFi. Надо было брать Bluetooth, но я взял WiFi, думая, что он будет быстрее – так как планировал тогда использовать для логирования в процессе автоспорта. Оказалось, что WiFi нужен, прежде всего, для айфонов, у которых система не даёт приложениям передавать через Bluetooth данные. А на Android прекрасно работает Bluetooth, хотя и WiFi должен.
Вставив адаптер в OBD-II и включив зажигание, я увидел мерцание диодов. Телефон увидел новую WiFi сеть, к которой я и подключился.
Сначала я попробовал приложение Torque. С ходу работать он не хотел.
Пробовал менять IP адрес и порт. После десяти минут мучений выяснил:
– Изменения настроек подключения к адаптеру в приложении не применяются до "выхода" и повторного запуска.
– Айпи и порт надо оставлять по умолчанию: 192.168.0.10 и 32000.
– Но при запуске прилаги нужно отключить интернет (телефон видит, что по вайфай интернета нет, и подключается обратно к сотовой сети).
В таком виде Torque завёлся. Не уверен насчёт ограничений бесплатной версии, потому что установил сразу платную, которую когда-то давно покупал. Приложение позволяет считать и обнулить коды ошибок и увидеть параметры работы в реальном времени: скорость, обороты двигателя, уровень топлива, температуру, давление наддува… Это всё интересно, но практической пользы мало.
Для доступа ко всем функциям нужно приложение, заточенное под BMW, которое будет использовать их проприетарный протокол, а не стандартный OBD-II. Таким приложением является, например, Carly for BMW. Увидел его в каком-то обзоре на YouTube и захотел попробовать. Но оказалось, что приложение не хочет соединяться с адаптером по WiFi! Версия прилаги для айфона может соединяться только по WiFi, а вот Андроид версия требует или кабеля, или Bluetooth.
Попытка 2: K+DCAN USB провод + USB Type C переходник
К счастью, у меня завалялся также такой провод.
А также переходник USB Type A --> Type C. Через этот переходник подключаю провод к телефону. Пробую завести Torque. Не работает! Вспоминаю, что у этих переходников особенность: на старых BMW надо было перемыкать какие-то контакты в разъёме OBD-II, а то не работало. На новых, наоборот, перемыкать не надо. В те времена я запаял перемычку, которую благоразумно вывел наружу. Разрезаю эту перемычку. Работает!
Приложение Carly понравилось. Интерфейс понятный и (для автомобильного софта) удобный. Интерфейс его вроде только на английском. Лицензия стоит под $100, а без лицензии почти ничего не работает. Пришлось найти версию приложения, в которой данный недостаток устранён.
Потестил интересную функцию: диагностика перед покупкой авто. Приложение смотрит пробеги в разных блоках и сравнивает их, а также считает среднюю скорость. По этим параметрам можно явно или косвенно увидеть, "скручивали" ли пробег. У меня вроде пробег нашёлся в четырёх модулях и везде совпадал. Средняя скорость была около 40 км/ч. Она берётся из пробега и количества часов, сколько работали какие-то модули. Пробег делится на часы и получается средняя скорость. Если она слишком низкая, то или машина всё время стояла в пробках либо ждала кого-то со включённым двигателем (водитель грелся в ожидании босса, но это вряд ли сценарий для БМВ копейки), или же на ней намотали километров по самое не балуйся, а потом скорректировали.
Гарантии, что пробег не скручен, всё это не даёт. Но позволит выявить самые неаккуратные попытки скрутить пробег, когда его корректируют не во всех блоках.
Теперь, собственно, к кодированию. Оно выполняется так:
1. Прилага сканирует все доступные модули и отображает их список.
2. При выборе модуля, можно либо считать его текущие настройки и забэкапить автоматически, либо восстановить настройки из ранее созданного бэкапа.
3. Меняем настройки.
4. Соглашаемся с тем, что они ни за что не отвечают в случае чего и кодируем новые настройки.
4. Отключаем зажигание и включаем снова.
5. Может сброситься время и дата. В таком случае, настраиваем, иначе на приборке возле пробега будет восклицательный знак в треугольнике. Пришлось гуглить, что он значит. А значит он, что было какое-то информационное сообщение незакрытое, в данном случае, о том, что время сбилось.
6. Тестируем, что накодировали. В идеале, кодируем по чуть-чуть и тщательно тестируем каждое изменение.
Сразу прошил приборную панель. Включил отображение скорости в виде цифры. Также отключил поправку скорости на стрелочном спидометре. Цифру скорости увидел! Ура! Самое главное сделано :) Если и стрелка будет показывать точно, это тоже очень круто, завтра буду тестить. Ненавижу эту глупую поправку, которую приходится отнимать в голове, когда хочется ехать точно с учётом ограничения по скорости.
Закодировал ещё в другие модули такие опции, как:
– Не включать кондиционер (кнопка "снежинка") при нажатии на кнопку Auto на климате.
– В качестве дневных ходовых огней использовать дальний "в пол накала" (выбрал там минимальную яркость).
– Показывать сохранённую скорость круиз-контроля в течение 3-х секунд.
Вроде ещё что-то изменял. Надеюсь, не будет неприятных сюрпризов :) Кабель буду возить с собой и, если что, откачу обратно.
Сделал также диагностику. Нашлись всякие разные коды, которые я стёр, что-то появилось обратно сразу же.
С ошибками разбираться времени не было. Впереди ещё много вечеров, в которые теперь будет чем себя занять :)
P.S. Потестил сегодня:
– Дневные ходовые огни включаются при включении зажигания. При включении ближнего они гаснут. Если моргать дальним, то лампы дальнего светятся в полную яркость в момент моргания.
– Скорость цифрами показывается точная. А вот стрелка так и показывает с поправкой +5 или около того.
– Кондиционер перестал сам включаться при нажатии на Auto на климате.
– Скорость круиз-контроля не начала показываться.
Дневные ходовые огни в виде дальнего в пол-накала, минимальная яркость
Дневные ходовые огни в виде дальнего в пол-накала, минимальная яркость.
Вывод точной скорости цифрой на бортовой компьютер.
Цена вопроса: $0 Пробег: 286 860 км.
👉 Установлю программы диагностики/ремонта 🚗 авто, и подберу оборудование 🔌 диагностики/чип-тюнинга 😉