Могут ли два устройства, подключённые к порту OBD, вызвать проблемы?
Я новичок в этой сфере, поэтому заранее прошу прощения, если задам какой-нибудь глупый вопрос.
Если вкратце, я пишу программное обеспечение для подключённых к сети автомобилей, то есть мы будем обрабатывать и упаковывать данные, поступающие с ключа OBD_2.
Сейчас мы тестируем наш продукт на новом Mercedes с уже установленным сервисом connect.me. Этот сервис получает данные через другой адаптер, подключённый к порту OBD (на приборной панели).
Итак, в нашем случае у автомобиля есть два ключа, считывающих данные с порта OBD.
Проблема в том, что, когда мы подключаем наше устройство, на панели управления появляется сообщение об ошибке, в котором говорится что-то вроде «ограниченная служба me.connect»
Каковы причины этого конфликта? Как устройство, предназначенное только для чтения, может создавать проблемы для другого устройства?
Я уверен, что подобрал не те слова, но суть в том, что устройства могут создавать проблемы друг для друга.
Перевод вопроса с Mechanics Stack Exchange
Лицензия: CC BY-SA (2.5–4.0)
Оригинальный вопрос: https://mechanics.stackexchange.com/questions/64569/can-2-devices-plugged-in-obd-port-cause-problem
Поскольку большинство устройств подключаются к одним и тем же адресам в CAN, это может стать проблемой. Очень легко подключиться к устройству и перехватить соединение до того, как будет отправлен запрос на поддержание соединения.
Пример: устройство A подключается, устройство A что-то запрашивает, модуль отвечает, устройство A подтверждает получение ответа, устройство B отправляет сигнал об отключении, устройство B подключается, устройство A отправляет сигнал о поддержании соединения, устройство B отправляет запрос, устройство A отправляет запрос, модуль отвечает устройству B, устройство A не понимает ответ и отправляет сигнал об отключении, устройство B подтверждает получение ответа, устройство B отправляет запрос, ответа нет.
В этой ситуации оба устройства отключились от модуля и получили неверные ответы. Как человек, разработавший устройство OBD2, которым пользуются тысячи людей, могу сказать, что такое случается гораздо чаще, чем вы думаете. Протоколы OBD2 были разработаны для связи между одним устройством, но они работают на шине CAN, которая может поддерживать несколько устройств. При разработке OBD2 не предполагалось, что потребители будут устанавливать на свои автомобили дисплеи и другие дополнительные устройства.