Я пытаюсь прочитать CAN-BUS через порт OBD с помощью PiCAN, он отлично работает для одной из наших машин. Но для другого (Mini One 2007 года) я просто повторяю один и тот же кадр, пока автобус не будет загружен на 97%:
can0 130 [5] 45 FF FD FF FF
can0 130 [5] 45 FF FD FF FF
can0 130 [5] 45 FF FD FF FF
can0 130 [5] 45 FF FD FF FF
can0 130 [5] 45 FF FD FF FF
Изменение битрейта просто возвращает ненужные данные, и они в любом случае указаны здесь как поддерживающие CAN 11bit 500kb. Запуск двигателя, остановка двигателя, ничего, кроме этого кадра...
Если у кого-то есть какие-либо идеи о том, что происходит, они были бы очень признательны!
Порт OBD на некоторых новых автомобилях подключен к «шлюзу». Иногда это автономное устройство (например, (VW)), а иногда оно находится в комбинации приборов или другом узле CAN.
Это связано с тем, что в одном автомобиле может быть несколько шин CAN.
Похоже, что BMW также подключены к шлюзу, а не напрямую к CAN-шине, но я проверю это и отредактирую.
В зависимости от того, к какой информации вы хотите получить доступ, было бы лучше напрямую подключиться к проводам CAN-шины витой пары напрямую. Например, если вы хотите, чтобы данные двигателя подключались к проводам CAN, которые, как известно, подключаются к ЭБУ двигателя. Комбинация приборов обычно является хорошим местом для начала. Или найдите, какое устройство является шлюзом CAN, и вы сможете получить доступ ко всем шинам CAN.
Вы также должны убедиться, что все настройки правильные, такие как скорость передачи данных и проводка. Я никогда не использовал PiCAN, но ранее обнаружил, что более дешевые анализаторы имеют тенденцию зависать и вызывать состояние отключения шины при наличии большого количества идентификаторов.
vini_i