Что можно сделать через разъем OBD в автомобиле +65



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

Все описанное в статье относится к автомобилю 2008 года (Mitsubishi Lancer), но как показала практика, спустя 10 лет у производителя ничего не изменилось и все функции продолжают использоваться и работать на современных авто.

Строение сети в автомобиле изображено на картинке:

image

В машине имеются 3 CAN шины (скоростная шина двигателя 500kbps, низкоскоростная салонная 83.3 kbps, диагностическая) и одна шина LIN. Связующим звеном между ними является блок ETACS (Electronic Total Automobile Control System), который выступает «шлюзом» и пересылает сообщения из одной шины в другую, по определенным правилам, а также занимается обработкой некоторых из них. Что же можно сделать с CAN шиной? Например, пообщаться с блоками, а может и что-нибудь изменить. Чтобы начать диалог с любым блоком необходимо знать его адрес, а также поддерживаемые функции (PID), которые он сможет обработать и дать ответ.

В открытом доступе лежит ПО для дилерских центров под названием MUT III. Изучив базы данных из него, можно найти всю интересующую нас информацию.

О адресах (запрос-ответ) в CAN сети:

image

PID'ы запросов, полные расшифровки ответов от всех блоков, включая положение байт в ответе (если за один кадр отправляются несколько значений) и множители с единицами измерений:

image

Например, хотим мы узнать угол поворота рулевого колеса. Для этого отправим в блок управления ESP команду 2102. В ответ прилетит сообщение 6102 FFEA000008FFF302

Взглянув в таблицу, узнаем, что нужны байты 2 и 3.

image

Значение в int16. 0xFFEA = -22, умножая на коэффициент 0,04375 получаем угол поворота руля -0,9625 градуса.

Таким образом можно запросить из блоков управления очень много информации, вплоть до того, сколько часов играло радио и сколько дисков было загружено в магнитолу, а также запускать диагностические проверки на всех узлах (можно на приборной панели включать разные лампочки и дергать стрелки, например).

image


Хорошо, все что хотели мы узнали, а какая от этого польза? Вот если что-нибудь изменить/включить/отключить…

Простой пример. В блоке управления автоматической коробкой передач есть программный счетчик уровня старения масла и при накоплении определенного порогового значения на экране бк появляется сообщение о том, что необходимо произвести обслуживание трансмиссии. Масло поменяли, а сообщение продолжает отображаться на экране, ведь счетчик никто не сбросил и сбросить может только дилерский сканер MUT-III (который стоит около 1000$, не каждый может себе такое позволить) и некоторые программы (тоже не бесплатные). Все в тех же таблицах можно найти команду под говорящим само за себя названием CLEAR_CVT_oil_degradation_level_Start. Можно злобно посмеяться в сторону ОД и самому сбросить этот злополучный счетчик. Отправляем команду 3103 в блок CVT и… получаем в ответ 7F3133.

Небольшое отступление. Почти во всех автомобилях для проведения диагностики и обслуживания используется механизм UDS (он же ISO 14229).

Он упрощает жизнь разработчикам автомобильных диагностических сканеров и является унифицированным для всех автопроизводителей (но это не значит, что некоторые не могут придумывать поверх него свои надстройки).

В итоге имеем расшифрованный ответ от вариатора: 7F — запрос отклонен, 31 — это PID, который мы отправляли и Negative response code 33, а именно Security Access Denied. То есть, у нас нет прав на изменение или запрос этой функции. У кого же она есть?

Отступление 2. В UDS используется механизм разграничения доступа по нескольким уровням — обычная диагностическая сессия, расширенная сессия, сессия программирования и т.п. В каждой сессии присутствуют уровни допуска, которые решают, что вам можно, а что нет. Чтобы получить доступ к ним, необходимо запросить у блока так называемый Seed, обработать его определенным алгоритмом и отправить обратно в блок (Key). Подробнее можно почитать тут.

Попробуем запросить seed. Отправляем в ECU команду 2701 и получаем в ответ 6701 6A43FD3C.
Отправив в ответ любое 4-байтное значение (27 02 DEADBEEF), получим в ответ 7F2735, где 35 это Invalid Key (неверный ключ), т.к. было отправлено значение «с потолка». Где же искать алгоритм вычисления ключа? В прошивке блока управления, больше негде. Достать его достаточно легко (но не на всех блоках, все зависит от используемого микроконтроллера), сначала находим обработчик приема CAN, затем функцию обработки PID 0x27.

image

Повторив обмен seed-key с алгоритмом из прошивки получим в ответ 6702 34, где 34 это «Доступ разрешен». После этого команда на сброс уровня деградации масла успешно отрабатывает и возвращает не negative response code, а положительный ответ 7103 01 и счетчик успешно сбрасывается.

Таким образом, через OBD разъем можно делать с автомобилем практически все: менять VIN номера в блоках, настраивать кодировку (конфигурацию), менее чем за секунду отключить иммобилайзер, очищать информацию об ошибках, вводить блок в состояние загрузки, когда можно загрузить в RAM контроллера любой код и выполнить его. Система безопасности у японцев слегка хромает.

Пример изменения конфигурации на видео:


Статья написана исключительно в ознакомительных целях. Любое вмешательство в электронные блоки управления автомобиля может стать для них последним. Всем хорошего дня!

Вы можете помочь и перевести немного средств на развитие сайта



Комментарии (58):

  1. slashd
    /#20046824

    А где можно получить эту самую прошивку для анализа?

    • kolyandex
      /#20046844

      Слить с блока программатором. Защиты от чтения там нет.

  2. Unkn0wnUserName
    /#20047002

    главное — не послать не туда не ту команду…

    кое-кто имел опыт убивания блока управления ЦВТ :)

  3. Unkn0wnUserName
    /#20047076

    Повторив обмен seed-key с алгоритмом из прошивки получим в ответ 6702 34, где 34 это «Доступ разрешен».


    А можно поинтересоваться алгоритмом?

    • emmibox
      /#20048130

      так он есть же на картинке статье…

      • esaulenka
        /#20060968

        Там константы замазаны.

        Впрочем, можно поснимать штук н-цать логов с родного MUT-3 и попробовать перебрать значения. Там, насколько я понимаю, 16 (начальное значение) + 8 (множитель 1) + 8 (множитель 2) бит перебирать, по современным меркам — любой калькулятор справится.

        Автору в любом случае спасибо, занятная информация.

        • esaulenka
          /#20061456

          Получилось даже смешнее. Смотрим видео в этой статье, ищем мануал на ассемблер этого странного процессора (lsr2, lsl2 я никогда раньше не встречал), и… оп! готово! Прямо не вставая с дивана.

          PS остался главный вопрос. Зачем я этим занимался?.. Оно ж мне нафиг не надо…

  4. inoyakaigor
    /#20047442

    Вспомнился тут тетрис в Газели
    www.youtube.com/embed/swn4xJm-TrE

  5. Buzzzzer
    /#20047454

    Когда у меня был Lancer X, я его настраивал через Lexia 3, купленную у китайцев.
    Еще по такому же протоколу работает ряд французов.
    С одним пареньком, который написал свою софтинку под Windows даже хотели написать Android-программу для Lexia через usb-otg.
    Я научился обмениваться «приветствием» с Lexia, определять машину.
    Но дальше, по некоторым причинам, всё заглохло и я передал исходники.
    Не знаю, чем закончилось дело…

    • kolyandex
      /#20047506

      Еще по такому же протоколу работает ряд французов.

      А именно Peugeot 4007/4008 и Citroen C-crosser (это те же аутлендеры, только со своим шильдиком)

      • Unkn0wnUserName
        /#20047662

        Есть еще Dodge caliber и Jeep Compass, построенные на той же базе. Но там есть некоторые отличия… иногда неприятные.

  6. VioletGiraffe
    /#20047786

    Пользуясь случаем, хочу спросить: кто-то пытался программно реализовывать на микроконтроллере LIN slave через GPIO, без хардварных трансиверов? Встала сейчас такая задача с целью ремонта сдохшего электронного блока, но очень мало инфы по этой теме. Обычно под Ардуино для любой ерунды есть готовая библиотека, а для LIN нет, хотя это же очень интересно и потенциально открывает возможности интересных доработок.

    • JerleShannara
      /#20049288

      А зачем оно надо? Берем нормальный микроконтроллер, берем RS232-LIN преобразователь и спокойно работаем по USART

      • VioletGiraffe
        /#20049358

        Преобразователь — лишняя железка, которую нужно искать, заказывать, ждать, осваивать программирование, ещё и лишняя точка отказа. Хотелось избежать. Там 20 кбит/с, не понимаю, в чём проблема сэмплировать линию через GPIO. Единственное, что — посылать данные неудобно, надо какой-то ключевой транзистор изобретать.

        • JerleShannara
          /#20049734 / +1

          Преобразователь это железка, которую надо тупо подключить, и ничего осваивать не надо, т.к. далее идёт просто преобразование RS232 в LIN. Кроме того у МК спокойно бывают UARTы, которые из коробки могут работать в UART/USART/LIN/ISO7816 и т.д.
          А если так беспокоит надежность, то возникает вопрос: а почему вообще взгляд был на ардуино, там и код и железо весьма паршивого качества.

    • Dima_Sharihin
      /#20049430

      Хардварный трансивер стоит копейки, геморроя не в пример меньше, зачем оно вам.

      • VioletGiraffe
        /#20049566

        Большое спасибо, изучу даташит. Беглый запрос в гугле показал, что купить их у нас похоже, негде; может, какой-то другой аналог меня спасёт.

        • GloooM
          /#20050860 / +1

          Можете искать трансиверы для k-line, физически это тоже самое что и LIN шина, ISO 9141 интерфейс. TJA1020 или L9637 из популярных.

          • esaulenka
            /#20061016

            Вот да, TJA1020 продают в чип-дипе.
            www.chipdip.ru/product/tja1020t-cm.118

            Если не хочется заморочек с ЛУТом, можно поискать LIN Shield у китайцев. Кажется, я что-то подобное видел.

        • Dima_Sharihin
          /#20052556

          Если проявите минимальную активность на сайте e2e.ti.com (а именно: зададите вопрос по существу, вам на него ответят и вы пометите ответ, как полезный и так несколько раз), то для TI Store дают купон на бесплатную доставку (доставляют они обычно FedEx'ом, а это не в пример молниеносно быстрее, чем покупать что либо на алиэкспрессе, обычно за неделю из штатов до стола доезжает)

    • GloooM
      /#20050836 / +1

      Трансивер это штука которая просто преобразует уровни +12 вольт LIN шины в rx/tx на 3-5 вольт пригодные для подключения к МК. Собрать трансивер можно хоть из рассыпухи на одном транзисторе и нескольких резисторах.
      А вот именно реализация протокола уже другое дело, в LIN используется по сути тот же уарт, только чутка изменен, можно использовать железный уарт в МК, можно софтварное все изобразить. Во многих современных МК штатный уарт даже поддерживает break и синхронизацию по sync, но в целом если не стоит задачи сделать все по феншую, то можно и обычный уарт из ардуины просто игнорировать битые кадры из-за brake.

    • esaulenka
      /#20061058

      Вы точно пробовали что-то искать по теме?
      Вот, например: github.com/zapta/linbus (сходу, кстати, не вызывает приступов отвращения, в отличие от большей части ардуино-кода).

      • VioletGiraffe
        /#20061746

        Точно пробовал искать, зуб даю. Кажется, я видел этот проект, но здесь же целая кастомная железка. Я искал реализацию для голой стоковой Ардуино, ведь явно же 20 кбит/с по единственному проводу можно легко обрабатывать одной ногой GPIO!
        P. S. Если бы железку можно было заказать готовой, я бы заказал и не морочил голову. но за вменяемые деньги и любительского уровня я подобного не видел, видел более индустриальные анализаторы от $100.
        P. P. S. Вот это представляет интерес, попытаюсь выяснить, сколько будет стоить доставка.

        • esaulenka
          /#20061814

          Это необязательно кастомная железка. Внутри там такая же атмега, как у всех остальных ардуин. Ищете где-то модуль с трансивером (или делаете самостоятельно), курите код товарища zapta, и всё — устройство готово.

          При любви к нетрадиционным занятиям в гамаке, можно, конечно, и на GPIO сделать (откуда, кстати, цифра 20 кбит/с? я видел 4800, 9600 и 19200. Ещё 10400 есть, но это не LIN), но очень советую пользоваться по возможности аппаратными модулями. Особенно если хоть о какой-то надёжности говорить.

          • VioletGiraffe
            /#20062246

            20 — потолок по спецификации LIN. У товарища zapta, к сожалению, использован экзотический трансивер. Хочу попробовать ширпотребный TJA1021, но смущает, что кроме упомянутого zapta практически ничего и не находится по теме LIN + Arduino, а именно с TJA1021 так и вовсе ничего, хотя сама микруха довольно известна. Чувствую себя первопроходцем, а это верный признак, что ступаю на поле граблей.

            • esaulenka
              /#20062382

              Предлагаю всё-таки получше разобраться в теме, благо даташиты в свободном доступе, спецификация на LIN тоже (повторю, кстати, вопрос: Вам точно LIN нужен?).
              Потому что сразу выяснится, что LIN — это такой однопроводный UART (со специфичным признаком «начало пакета», правда), а все трансиверы — суть трансляторы уровня с процессорных 3/5 вольт до автомобильных 12+. Ну ещё там есть всякие плюшки, типа защиты от КЗ, переполюсовки, статики. Иногда бывает ещё встроенный стабилизатор (для питания того самого контроллера) и защита от подвисания контроллера (в виде ограничения на макс. длительность dominant level, чтоб шину напрочь не завесить).

              • VioletGiraffe
                /#20062412

                Я понимаю всё, что вы написали, спецификацию LIN читал (правда, по диагонали). Мораль в том, что все трансиверы должны быть с логически-цифровой точки зрения одинаковы?

                Я не нашёл достоверной информации, что нужен именно LIN, но есть косвенные на то указания, например, какой-то training мануал моего автопроизводителя примерно тех же времён, что и моя машина, где сказано именно LIN, и приводится довольно детальная схема работы протокола и шины.

                • esaulenka
                  /#20063764

                  Я понимаю всё, что вы написали, спецификацию LIN читал

                  Тогда откуда идеи «GPIO без трансиверов»?
                  Ну и вообще, как мне кажется, для человека, который умеет «программировать на С++ за деньги», набросать реализацию этого примитивного протокола особых проблем составить не должно. Просто джаст фо фан.

                  все трансиверы должны быть с логически-цифровой точки зрения одинаковы

                  Я вам не скажу за всю Одессу, но тексасовские SN65HVDA195, nxp-шные TJA1020, микрочиповские MCP200x и ATA6631 с точностью до методики включения (из спящего режима) и поведения в этом спящем режиме совершенно одинаковы.

                  Я не нашёл достоверной информации, что нужен именно LIN,

                  Самое достоверное — взять трансивер, подоткнуть его в живую шину с одной стороны и в логический анализатор — с другой. Транспортный уровень — как на ладони.

                  • VioletGiraffe
                    /#20063838

                    Тогда откуда идеи «GPIO без трансиверов»?

                    Кроме вопросов надёжности и сертификации automotive (устойчивости к transients и load dump), я по-прежнему не понимаю, почему это нельзя сделать на GPIO + 1 полевой транзистор с изолированным затвором вместо целого трансивера. Я только не умею выбрать правильный тип и модель транзистора.

                    набросать реализацию этого примитивного протокола особых проблем составить не должно.
                    Грабли, не люблю по граблям ходить, особенно там, где это касается физического железа, которое под отладчиком на паузу не поставишь и значения переменных / регистров не посмотришь. С софтом всё намного проще. Было бы LIN-master устройство, работающее на столе, я бы уже начал экспериментировать, но сидя в багажнике авто с ноутбуком этим заниматься не очень весело. Хочется просто, чтобы работало, поэтому уже заказал трансивер на Алиэкспресс, осталось дождаться. Спасибо за помощь / ликбез.

                    • esaulenka
                      /#20064268

                      устойчивости к transients и load dump

                      В первую очередь нужна устойчивость к перегрузке и переполюсовке.
                      Отваливание незаряженного аккумулятора на полном ходу встречается редко, а криворукие прикручиватели проводов не туда — часто.

                      сделать на GPIO

                      Можно. Но первым же вопросом будет «как мне сформировать биты?». Вторым — «как мне прочитать биты и сложить их в байты?». И я ещё раз спрашиваю, зачем их героически решать, если в контроллере есть готовый модуль UART?

                      + 1 полевой транзистор с изолированным затвором

                      Не нужен там никакой изолированный затвор.
                      Берите любой NPN, базу через резистор на ногу контроллера, эмиттер на землю, коллектор в линию. Для определённости, скажем, www.chipdip.ru/product/bc635pbf и килоомный резистор. Всё как по заказу — без защит и сертификаций. Для хоть какой-то защиты можно резистор воткнуть www.chipdip.ru/product0/18265 (физический размер имеет значение!)
                      Ну и да, приём чего-либо мы ещё не обсудили. Ардуины от 12 вольт горят.

                      Было бы LIN-master устройство, работающее на столе

                      Берём Saleae logic (must have!), паяем из двух резисторов делитель 12 -> 3.3, лезем в багажник, снимаем протокол. Возвращаемся на диван, берём отдельную ардуину, и тупо в цикле с ногодрыгом и sleep'ом повторяем услышанное.

                      • VioletGiraffe
                        /#20064320

                        Хороший вариант с тупым копированием услышанного, спасибо за наводку, я не догадался. Как раз колега пообещал одолжить Saleae.
                        Насчёт приёма 12 вольт Ардуиной — думал о резистивном делителе. Только не знаю, нужно ли в таком варианте использовать АЦП, чтобы правильно обработать уровни 0/1, не надеясь, что они магически совпадут с логическими уровнями выбранного МК. Но это всё умозрительно, потому что я уже послушал вас и других комментаторов — заказал TJA1021.

    • esaulenka
      /#20061082

      Кстати, пользуясь случаем, хочу напомнить, что UART-подобных однопроводных интерфейсов автопромышленность изобрела больше одного. LIN — только один из них. Ещё существуют ISO 14230 и куча всякого вендор-специфик (с документацией, в лучшем случае, на фанатских форумах).

  7. DMGarikk
    /#20047982

    Оч жалею что у меня авто крайне жмотского производителя — Крайслер (jeep, dodge)… и соответственно все протоколы наглухо закрыты и недоступны и софта нет, даже стандартный odb2 обрезан по минимуму

    p.s. у крайслера есть авто построенные на чужой базе, у них таких проблем нет, а вот «родные»… печаль

  8. acodered
    /#20049408

    Предупреждение в конце должно звучать немного по-другому:
    Любая поддержка протокола, которую вы реализуете в своей железке или программе, будет специально сломана производителем авто в следующей версии, а если ему это не удастся, то он просто подаст на вас в суд.

    CAN-шина прекрасный, открытый стандарт. И посмотрите во что он превратился в автомобилях. Дилеры постоянно оказывают давление на автопроизводителя — дайте нам заработать! Мы купили у вас этот стенд за 20К, мы покупаем у вас программы, запретите это делать пользователям. И разумеется, автопроизводитель идет им навстречу, ведь он так же зависит от продаж через дилеров.

    Open Ford (сейчас OpenXC) была прекрасная инициатива, очень смелая. Ну и где сейчас Форд? Ну и кто из читателей Хабра купил себе Форд, потому что там есть открытый стандарт?

    • novice2001
      /#20049832 / +1

      Машины вообще редко покупают по идеологическим соображениям такого характера.

    • GloooM
      /#20051082 / +4

      Строго говоря сам стандарт CAN шины не регламентирует что по нему будет передаваться, он про физические уровни, арбитраж и прочий низкий уровень.
      Это как сказать что Ethernet открытый стандарт, а посмотрите злой скайп закрыл протокол и не дает нам.

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

    • Ctacfs
      /#20051916 / +4

      Кто из читателей хабра знал об инициативе форда до того, как прочел этот коммент?
      Форд мог бы влить денег в пиар, в организацию комьюнити вокруг этой инициативы.

      • shaggyone
        /#20051972

        Форд, увы, прекращает легковые авто в России продавать.

      • esaulenka
        /#20061116

        Самое смешное, что это знал alizar ;-)
        habr.com/ru/post/165929

        • acodered
          /#20061630

          Отлично, спасибо. Самое время развести руками и сказать — а что вы ожидали от открытого ПО? Прошло почти 8 (восемь!!!) лет. Дети во второй класс идут, а на Хабре о программе знает 2.5 человека, если считать alizar.

  9. stavinsky
    /#20049500

    Пытался найти данные для Ford Focus 2007 и облом ничего толком не нашлось. Есть кто-то кто опытным путем собирал данные и потом пытался их интерпретировать. Но было интересно. Собирал свой can модуль на stm32. Все подключается и работает. Интересно и куча непонятных данных. (ловил все что прилетает)

    • kolyandex
      /#20049792

      Есть программа ForScan, может там есть что интересное?

      • stavinsky
        /#20050062

        Да есть и даже вроде куплена(не помню что-то из них было за деньги)
        Я наивно думал когда начинал что документацию я найду. Ford для следующих моделей даже свой DIY девайс какой-то сделал. И доки выложил.
        В целом не подумал что оттуда можно было заснифать трафик. Сейчас уже все равно забросил все это.

  10. sergzah
    /#20050142 / +1

    Давно пользую can-адаптер для VW – «вася диагност». Позволил активировать много функций комфорта, которые по неведомым причинам не выведены в настройки, нигде в официальной доке не описаны, но зато дилер пытался мне их продать. Но самое главное – это чтение кодов ошибок, ведь не знаю как у Mitsubishi, но у VW отображаемые на панели ошибки это какая-то жесть: мало чего понятно, всегда все фатально и возникает ощущение что без поездки в сервис вообще никак. А подключаешь, и понимаешь что всего-то перегорела одна из лампочек.
    Смело могу рекомендовать для VAG, хотя за рекламу мне не платят. Но давайте откровенно: даже в продукте, который существует ни один год и заточен под определенный автоконцерн, даже там не все очевидно: не все значения регистров описаны, у разных модельных годов одной и той же модели есть отличия, при работе есть вероятность накосячить. Поэтому автору большой респект за ликбез, но от меня лично огромный дисклеймер: читать автофорумы, бекапить каждый update, следить за контактом шнурка, зарядкой АКБ и ноута и… верить!

    • gwathedhel
      /#20057268

      Какие, если не секрет, опции комфорта получилось так включить?

  11. aivs
    /#20050164

    У VAG есть утилита VCDS, в народе ВАСЯ, через которую можно посмотреть любой датчик, настроить любой блок и поуправлять чем хочешь, сниффером вытаскиваются любые команды.

    • apple01
      /#20050344

      В свободном доступе есть VCDS lite, работает с китайским адаптером за $5. Возможности урезаны но тем не менее для поиска неисправного сенсора чего-либо (например ABS в моем случае) или чтения кода ошибки незаменимо.

      • aivs
        /#20050370

        У меня китайский аналог шнурка и крякнутая VCDS. Поддерживаются все функции оригинального, кроме обновления.

  12. Bronx
    /#20051654 / +1

    Статья интересная, только сомнительно, что для сброса maintenance lamp обязательно нужен OBD-сканер. У Хонды, например, этот сигнал легко сбрасывается комбинацией «повернуть ключ зажигания, удерживая кнопку сброса пробега (trip reset) 10 секунд». А, скажем, check engine сбрасывается комбо «повернуть ключ зажигания (не заводить) -> нажать педаль газа на 5 секунд -> выключить зажигание --> отпустить педаль, выждать 2 минуты до включения».

    • kolyandex
      /#20052486

      На моем пепелаце таким образом сбрасывается только напоминание о ТО.

  13. samponet
    /#20051742

    В конце статьи должна была быть ссылка на СЦ, где делают всё кучеряво, ибо зачем так поверхностно статью писать? Из примеров я не смог сопоставить PIDы, блоки и ответы, хотя и очень тема интересна.Так то можно и канхакером посоветовать проводить анализ данных в свое удовольствие и свободное время.

  14. Merkat0r
    /#20051960 / +2

    В конце статьи должна была быть ссылка на

    ИМХО
    Там таки должна быть отсылка к тому, что: это вам не ардуинка для экспериментов — 1 неверное значение, например, в блоке АБС\курсовой стабилизации\ГУР(ЭУР) и почти наверняка вы в скором времени труп

    • emmibox
      /#20063876

      Вы представляете эту цивилизацию как то, что может разрушить любой случайно залетевший дятел… В то время как в блоке АБС кодируется лишь размер колес и выбор там из малого N значений. В стабилизации можно еще ноль руля закодировать. А в ГУР-е вообще нет никакой электроники.

      • DMGarikk
        /#20064128

        А в ГУР-е вообще нет никакой электроники.

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

  15. telobezumnoe
    /#20052468

    любопытно, с помощью чего подключались к кан шине?? это какой то кан юсб адаптер? видел в продаже MCP2515 я так понимаю это can spi, затем нужен spi-usb конвертер?? или на микроконтроллере с поддержкой can выполнен мост??

    • kolyandex
      /#20052482

      Для опытов использовался Lawicel (CAN hacker) протокол на stm32 + tja1051.
      Софт на видео работает с J2534 Pass-thru адаптерами и всеми разновидностями ELM327.