Показать сообщение отдельно
Старый 06.04.2015, 22:20   #15
ПЖ
Пол:
Имя: Мишка
Адрес: SPb
Автомобиль: Q5 2.0T 08' >> 3.0 TDI 09'
Доп. информация
По умолчанию

Цитата:
Сообщение от DUK63 Посмотреть сообщение
mishka, А вот на эти приблуды смотрел?
Посмотрел штуковину. В сущности, получается, что это такой же контроллер, только собран более компактно. И в него загружаются настройки для корректного подключения к разным брендам авто.

Но, в любом случае спасибо, за помощь. )

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

И так в продолжении марафона....

Все те коды что мы видим на экране монитора или иного устройства отображения информации - это и есть значения состояния оборудования.
Получается, что ID - это и есть некий идентификатор какой то части оборудования, через который мы можем обратиться к машине для запроса данных. Если мы непосредственно изменим нашу программу для тог чтобы мы могли отправлять в контроллер машины данные то тем самым образом мы повлияем на ее состояние. Проще говоря, мы этими командами сможем опустить стекло в двери, открыть крышку багажника или закрыть ее, поморгать фарами и даже подудеть в сигнал ))) но это все остается лирикой пока мы не разберемся какие коды к чему относятся. Если присмотреться к первым знакам ID, а каждый символ - это есть так называемый байт информации, в ID мы видим три байта, то получается, что их можно разделить на какие то условные группы по оборудованию. Скажем, к примеру, первая цифра 6 означает что мы получаем данные с приборной панели, другая цифра или буква будет означать другую группу оборудования.

Практическим путем мне удалось определить только лишь данные которые передаются часами, т.е. показания времени.
т.е. прочитав блок 0х62F 44 51 0F 31 0F Я отследил, что значения в тот момент равные 0F 31 были равны текущему показанию времени 15:49. Как это определить? Открываем калькулятор и переводим его в режим работы программиста или инженерный в зависимости от вида операционной системы. Переключение делается в меню ВИД в калькуляторе. Для начала выбираем шестнадцатеричную систему путем нажатия кнопки HEX. Вводим в регистр число F так первым ноль нам не удастся ввести. Затем выбираем кнопку DEC для перевода этого числа в десятеричную систему и получаем значение 15. тоже самое сделаем с числом 31 и получим 49. т.е. у нас получилось реальное значение времени 15:49 и при переходе на следующую минуту (50) мы во втором байте получим шестнадцатеричное число 32.
Но это касается только данных которые отображаются через один байт, т.е. байт 0F равен 15, а байт 31 равен 49.
Но бывают значения которые выражаются двухбайтовым числом, например количество оборотов или количество километров.
тогда наше число приобретает двухбайтовое значение 0х02F8 что собственно будет равно десятичному числу 760, скажем оборотов в минуту. Но в нашей строчке данных эти числа будут перевернуты. т.е. сначала будет идти F8, а потом 02. Это связано со сложностью программного выражения чисел, так называемые старший байт и младший байт.

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

На этом пока все.

В двух словах объяснил то, что я знаю. Если я в чем то ошибаюсь, то я буду рад выслушать ваши комментарии, так как они будут полезны не только для меня.

P.S. Позже сделаю видео как это выглядит живьем )

Последний раз редактировалось mishka; 06.04.2015 в 22:22.
mishka вне форума   Ответить с цитированием Вверх страницы Вниз страницы
Рекламный блок
Реклама на форуме