Вопрос

Можно ли использовать OBD-II для управления автомобилем?

Используется ли порт OBD-II в автомобилях только для считывания диагностических кодов или с его помощью можно управлять автомобилем (например, регулировать обороты двигателя)?



Спасибо.



Перевод вопроса с Mechanics Stack Exchange
Лицензия: CC BY-SA (2.5–4.0)
Оригинальный вопрос: https://mechanics.stackexchange.com/questions/15099/can-obd-ii-be-used-to-control-the-vehicle

10 Комментариев

  1. Да, на самом деле это происходит через «посредника» — устройство, которое может имитировать напряжение и пакеты данных, отправляемые в ЭБУ, который экстраполирует данные и, в свою очередь, управляет работой вашего автомобиля.



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


  1. Он предназначен не для этого, но да, это возможно.



    Порт OBD предоставляет доступ к одной из CAN-шин автомобиля (их часто бывает несколько, критически важные функции безопасности находятся на отдельной шине, и связь между ними осуществляется только через шлюз, который передаёт только часть информации).



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



    Или же вы можете дать волю своей тёмной стороне и сделать что-то не очень хорошее, например, отправить поддельные сообщения и выдать себя за один из компьютеров автомобиля. Здесь не используется ни криптография, ни хэширование, так что нужно просто знать, какой пакет отправить и что он означает. Но как только вы это сделаете, вы сможете управлять любым электронным компонентом автомобиля. Если у вас нет каких-либо документов с точным описанием отправляемых сообщений, я предлагаю вам начать с отслеживания того, что происходит в шине при выполнении определённых действий, таких как блокировка/разблокировка автомобиля, запуск двигателя и т. д., а затем воспроизвести эти сообщения. Таким образом можно даже обойти сигнализацию и иммобилайзер, поскольку в них нет криптографии и они больше полагаются на принцип «безопасность через неизвестность» (именно так работают «волшебные чёрные ящики», которые можно найти на чёрном рынке: они могут завести большинство автомобилей одним нажатием кнопки).



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


  1. Возможно, ещё один совет: если у вас есть аккаунт в сети Stack Exchange, вы можете использовать его и на всех остальных сайтах StackExchange. Например, Startups — это сайт для проверки знаний о новых компаниях, а Photography — для любителей фотографировать. По первой ссылке перечислены все сайты.
  1. Да, спасибо, я перешёл с Reddit, так что привыкаю к формату. Буду очень признателен за любую помощь в edique.
  1. Возможно, вам будет интересно: вы можете найти вопросы, связанные с OBD-II, по тегу obd-ii. Там вы можете посмотреть, какие вопросы интересуют людей, или поделиться своими знаниями. Вы также можете задавать свои вопросы с помощью этого тега. Вы также можете ответить на свой вопрос, если у вас есть интересный ответ. Спасибо, что присоединились.
  1. Отредактирована и удалена реклама. Непреднамеренная реклама, я пытался задать больше вопросов и предложить решения
  1. Перефразируем: да, можно использовать кодирование OBD2 и установить «посредническое» устройство, чтобы обмануть данные датчиков, экстраполируемые ЭБУ.
  1. В конечном счёте ответ таков: да, можно. Однако следует уточнить, что вы можете управлять только некоторыми функциями, но не всеми, и только на некоторых автомобилях. Через порт можно делать простые вещи, например включать насос кондиционера или любую другую функцию, управляемую компьютером (PCM). Кроме того, я уверен, что вы можете увеличить обороты двигателя с помощью тех же методов, если в автомобиле установлена система управления двигателем (DBW). В системе DBW компьютер управляет дроссельной заслонкой, так что при правильном подходе это возможно. Всё, что управляется компьютером и не зависит от физических средств ввода (таких как переключение передач в трансмиссии или управление автомобилем с помощью руля — см. примечание ниже), должно управляться таким образом. Имейте в виду, что для программирования чего-то подобного вам нужно досконально знать, как работает компьютер, а многие производители не спешат раскрывать эту информацию (в основном для того, чтобы предотвратить перенастройку параметров двигателя в компьютере). Кроме того, те, кто взломал код ПЗУ, тоже не всегда готовы делиться этой информацией.... они не хотят просто так отдавать свой хлеб с маслом.



    ПРИМЕЧАНИЕ: в ближайшем будущем некоторые автомобили перейдут на электронную систему рулевого управления. Да, это означает, что между водителем и колёсами нет прямого соединения. Лично мне это не нравится, так как это не повышает безопасность (если система выйдет из строя, вы не сможете управлять автомобилем... а если у вас не будет питания, то вы не сможете управлять автомобилем вообще). Кроме того, им придётся разработать систему обратной связи, потому что, как объясняет Боб, обратная связь во время вождения имеет большое значение.



    РЕДАКТИРОВАТЬ/ОБНОВИТЬ: Мне дали ссылку на эту статью в WIRED. Если они могут управлять автомобилем по проводному/беспроводному соединению через развлекательную систему в вашем автомобиле, то автомобилем определённо можно управлять так, как описано выше.



    РЕДАКТИРОВАТЬ 2: Я также нашёл эту статью, в которой обсуждается безопасность транспортных средств. В статье говорится:




    Наиболее важным автомобильным интерфейсом является порт OBD-II, использование которого в США регламентируется на федеральном уровне. Как правило, он обеспечивает прямой доступ к ключевым шинам CAN автомобиля и может предоставить достаточный доступ для взлома всего спектра автомобильных систем.




    Порт OBD-II определённо можно использовать для доступа к системам автомобиля и управления ими.


  1. Добро пожаловать на сайт. Здесь запрещены ответы, рекламирующие товары, и, кроме того, ваш ответ на самом деле не отвечает на вопрос. Если вы хотите продвигать свой сайт с помощью рекламы, см. Продажи рекламы и спонсорство на stackexchange.com/about/contact
  1. Именно так. Помимо сброса настроек подачи топлива и прочего, продвинутые функции зависят от производителя, и для их настройки вам, скорее всего, понадобится фирменный инструмент OBD-II от производителя. Например, GM Tech II и тому подобное. Есть также сторонние компании, которые производят инструменты для перепрограммирования таблиц подачи топлива и «настройки» автомобиля. Но я не знаю ни одного универсального инструмента, который мог бы увеличить угол открытия дроссельной заслонки или сделать что-то подобное.
Вы уже ответили на этот вопрос