может просто посмотреть на схеме какой провод на панель с датчика уровня топлива идёт? Вместо него подключить потенциометр и имитировать работу датчика уровня. При этом наблюдать какие байты будут меняться.
а понять какие байты кто шлет надо шлюз из 2 к-лайн адаптеров собирать. Один канал подключаем к опкому, второй - к автомобилю . шлюзуем данные, но при этом мы теперь знаем какие байты от кого идут.
ПРИВЕТ :). Рад что отозвался. какой байт меняется найти будет не проблема. На счет двух адаптерова, так и будет, на 12 контакт подцеплю второй и через тотже ардуино хочу подцепить, только на 12 и 13 пины. соответственно для него прописать свой инит и нужный байт выводить на экран. На счет зажигания выключить, завтра попробую и гляну че он посылает на 12 контакт ОБД. Сейчас главное инициализацию запустить, а там будет уже легче, через эмулятор найти байт или как ты предложил , изменяя уровень глянуть меняющийся байт.
так. если я понял то весь бортовик так и остается. а воторой адаптер цеплять в разрвыв опкома и обд. но в адаптере только одна линия для обд. как в разрыв пустить 7 и 12 контакт? Я чета туплю. в снифере указано что оба идут к ардуино. может ты имел в виду что просто один выход адатера к 7 а второй к 12? и втыкнутым опкомом?
только что проверил. вывел 7 и 12 контакты и прослушал оба при обращении к 12 контакту, контакт 7 молчит и при зажигании и без него, контакт 12 без зажигания приходит только это
FF
0 0
0 0 и так далее. по ходу обком ничего не шлет а просто делает какую-то инициализация в виде скачков HIGH LOW, после этого приходит видать 55 а потом 52 80 7F и получает уже данные. или получает 55 а отправляет 52 80 7F и получает данные. или все вместе получает 55 52 80 7F и потом данные.
так при включеном зажигании
02
0 0
03
95ms
04
55
05
98ms
06
52 80 7F
интересная штука что без зажигания 0 0 и при зажигании первыми всегда 0 0.
На сколько я понял 55 это 0х55 адрес. Как зайти в 0х33 я нашел это
так. если я понял то весь бортовик так и остается. а воторой адаптер цеплять в разрвыв опкома и обд. но в адаптере только одна линия для обд. как в разрыв пустить 7 и 12 контакт? Я чета туплю. в снифере указано что оба идут к ардуино. может ты имел в виду что просто один выход адатера к 7 а второй к 12? и втыкнутым опкомом?
да тут 7 контакт не причем, подключить надо один к-лайн адаптер к опкому, второй - к 12 контакту.
блин, дошло. просто одним слушать че отправляет опком а вторым че отправляет 12 контакт, так? но я уже прослушал без зажигания и знаю что появляется в порту FF и потом 0 0 и дальше так по два нуля. и при зажигании 0 0 и потом 55 а потом 52 80 7F и получает уже данные. есть смысл делать такую прослушку? конечно выглядит круто. такоя прослушка в начале бы очень помогла. я думаю в моем случае получим одинаковый результат с обоих сторон , обкома и 12 контакта
Уверен. Я перевёл из hex и получил данные идентификации. Проверил в опком. Все чётко. Инит завтра попробую. Читал что при обращении к 33 адресу получают ответ 55. Может нужно как я писал выше к 33 адресу
привел сообщения снифа к более читабельному виду. Жирным это контрольная сумма - последние два байта в сообщениях.
Сначала опком на скорости 5бод посылает адрес панели приборов, мы его этим сниффером не увидели,а увидели нули . Потом панель отвечает (уже на скорости 9600) синхробайтом 0х55, далее идет байт keyword#1 (0х52), далее keyword#2 (0х80), и опком отвечает на keyword#2 (0х80), своим keyword#2 в инвертированном виде (0х7F) видимо тут инит закончен, далее полшла инфа.
55 52 80 это шлет панель в ответ на запрос адреса,
7F это отвечает ОПКОМ получив KEYWORD#2, и инвертирует 80 в 7F. тут вроде как инит закончен.
по ходу обком ничего не шлет а просто делает какую-то инициализация в виде скачков HIGH LOW, после этого приходит видать 55 а потом 52 80 7F и получает уже данные.
нет, это опком сначала адрес панели шлет. только мы его не видим, т.к. ты сниффером подключался на 10400 baud, а надо на 5baud, вот при 5 бод увидим, как эти HIGH и LOW превратятся в адрес, который ОПКОМ посылает, с которого и начинается инит.
интересная штука что без зажигания 0 0 и при зажигании первыми всегда 0 0.
На сколько я понял 55 это 0х55 адрес. Как зайти в 0х33 я нашел это
старт бит 200 мс
400 мс HIGH--------------------------
400 mc LOW /
400 мс HIGH / это восемь бит
400 mc LOW /
стоп бит 200 мс----------------------
и приходит ответ 55, может это самое оно?
0 0 это я уже объяснил, на скорости 10400 он не улавливает правильно начало инита, которе идёт на 5 бод. 0х55 это не адрес, это положительный ответ эбу на запрос адреса. Синхробайт называется. 0х55 - потому как в бинарном виде это сочетание 0 и 1 - 01010101, а вот 0х33 это адрес, который на 5 бод посылается диганостикой. Просто это расписано сочетанием HIGH и LOW и задержками. только 0х33 это похоже не панель приборов, а двигло, нам не подходит. наш адрес вроде либо 0хЕ0, либо 0хЕ1, либо 0хB8, либо 0хB9, либо 0хBA
Твой снифер на 5 baud молчит. поставил на 9600 , результат тот что и старом снифере. В остольном ты скорее всего прав. Я предполагал что это два ключа и инвертированый байт. Щас буду пробовать что-то, иниты или еше чето. вопрос только что слать для соединения.
скорость увидел 9600 а вот ключи , есть проблема. у меня мини ноут, и программа как бы окно сжимает и ключи видны только чуток верхнюю часть, увидеть не могу. щас другие версии попробую. Не удается рассмотреть ключи, завтра возьму большой ноутбук и попробую увидеть на нем. А пока буду пробовать чета еще
Попробуй в опкоме зайти не через зафиру, а черех общее подключение, там выбирается протокол, инит и т.д. заходишь кузов -> приборы. Но там в скобках указан адрес. Дак вот на каком у тебя установится соединение, тот нам и нужен. А я потом скажу как это через high low отправить
поправил сообщение 819. Теперь более понятно. и контрольная сумма теперь сходится. Кстати, если скорость всё же 9600, то вот этот протокол у нас, походу :
в опкоме есть только автоматическое опредиление авто. после этого открывается кнопка kwp2000 и CAN. на kwp2000 он конектися на 7 контакт . других функций нигде нет
ну дак у юсб сериал конвертер это и есть виртуальный ком порт по идее. С диспетчере оборудования Windows нажми на нём свойства, и вроде как ком порт там можно посмотреть ну или поменять на нужный
нет там порта . это FTDI и есть еще такое написано Port_#0001.Hub_#0002. и все. в нем встроен корвертер юсби по этому он его так видит. щас попробую на вертуальный порт посадить
тогда можно tx и rx твоего клайн адаптера посадить на 0 и 1 ардуины, замкнуть rst на gnd и будеть тебе usb k-line адаптер на виртуальном порте (ардуины). При этом никакой скетч загружать не нужно, получается сквозное подключение
в общем можешь пока поизучать какие байты в сообщении меняются когда потенциометом имитируешь датчик уровня топлива, при этом также , смотря в опком, можно сдетать вывод соответсвии по литрам этим байтам.
В дальнейшем можно также записать байты сообщения на одном пробеге, потом ещё через 10км записать и дак далее, сравнивать и вычислить какие за пробег отвечают. Тоже нам ружно для вычисления расхода среднего. А в опкоме пробег показывает?
нет пробег нет. слушай там всего пять адресов B8 B9 BA E0 E1, может методом тыка вычислить инициализацию? а потом в сообщении там тоже не много байтов, подставлять байт и следить или на бортовике таже цифра что и в опкоме. инит бы вычеслить
есть значение пробега сбрасываемого на панели и он тоже на 12 контакте. может прикинешь например инит на B8 скетчик. я попробую остальные четыре адрес сам подставлять. если конечно разберусь как это HIGH LOW превратить
Вот что я нашел по KW82 выдержка из этого дока http://www.avt-hq.com/init_03d.pdf
чуток разобрался в прослушке, по идеи это инит - 0 0 55 52 80 7F а это идентификатор (убедился в опкоме)
8829ms
02
0 0
03
95ms
04
55
05
98ms
06
52 80 7F
07
89ms
понятно что нули не при делах. а 55 и 52 80 7F , где контрольная сумма? Блин, тупик.
может просто посмотреть на схеме какой провод на панель с датчика уровня топлива идёт? Вместо него подключить потенциометр и имитировать работу датчика уровня. При этом наблюдать какие байты будут меняться.
а понять какие байты кто шлет надо шлюз из 2 к-лайн адаптеров собирать. Один канал подключаем к опкому, второй - к автомобилю . шлюзуем данные, но при этом мы теперь знаем какие байты от кого идут.
вот это будет реально крутой сниффер
ещё вариант выключи зажигание, подключи опком и начинай соединение, сниффер покажет какие сообщения сначала идут от диагностики
подключить два к-лайн адаптера к софт сериалу на 7,8 пинах и 10,11. один к-лайн к опкому, другой - к машине. Вот скетч сниффера
ПРИВЕТ :). Рад что отозвался. какой байт меняется найти будет не проблема. На счет двух адаптерова, так и будет, на 12 контакт подцеплю второй и через тотже ардуино хочу подцепить, только на 12 и 13 пины. соответственно для него прописать свой инит и нужный байт выводить на экран. На счет зажигания выключить, завтра попробую и гляну че он посылает на 12 контакт ОБД. Сейчас главное инициализацию запустить, а там будет уже легче, через эмулятор найти байт или как ты предложил , изменяя уровень глянуть меняющийся байт.
да еще , когда запускаю 12 контакт в обкоме, то контакт 7 молчит, проверял раньше. значит они не зависимы
нет, 2 к-лайн адаптера это для сниффера. Т.е. подключаем сниффер в разрыв между опкомом и разъемом ОБД.
так. если я понял то весь бортовик так и остается. а воторой адаптер цеплять в разрвыв опкома и обд. но в адаптере только одна линия для обд. как в разрыв пустить 7 и 12 контакт? Я чета туплю. в снифере указано что оба идут к ардуино. может ты имел в виду что просто один выход адатера к 7 а второй к 12? и втыкнутым опкомом?
только что проверил. вывел 7 и 12 контакты и прослушал оба при обращении к 12 контакту, контакт 7 молчит и при зажигании и без него, контакт 12 без зажигания приходит только это
FF
0 0
0 0 и так далее. по ходу обком ничего не шлет а просто делает какую-то инициализация в виде скачков HIGH LOW, после этого приходит видать 55 а потом 52 80 7F и получает уже данные. или получает 55 а отправляет 52 80 7F и получает данные. или все вместе получает 55 52 80 7F и потом данные.
так при включеном зажигании
02
0 0
03
95ms
04
55
05
98ms
06
52 80 7F
интересная штука что без зажигания 0 0 и при зажигании первыми всегда 0 0.
На сколько я понял 55 это 0х55 адрес. Как зайти в 0х33 я нашел это
старт бит 200 мс
400 мс HIGH--------------------------
400 mc LOW /
400 мс HIGH / это восемь бит
400 mc LOW /
стоп бит 200 мс----------------------
и приходит ответ 55, может это самое оно?
так. если я понял то весь бортовик так и остается. а воторой адаптер цеплять в разрвыв опкома и обд. но в адаптере только одна линия для обд. как в разрыв пустить 7 и 12 контакт? Я чета туплю. в снифере указано что оба идут к ардуино. может ты имел в виду что просто один выход адатера к 7 а второй к 12? и втыкнутым опкомом?
да тут 7 контакт не причем, подключить надо один к-лайн адаптер к опкому, второй - к 12 контакту.
блин, дошло. просто одним слушать че отправляет опком а вторым че отправляет 12 контакт, так? но я уже прослушал без зажигания и знаю что появляется в порту FF и потом 0 0 и дальше так по два нуля. и при зажигании 0 0 и потом 55 а потом 52 80 7F и получает уже данные. есть смысл делать такую прослушку? конечно выглядит круто. такоя прослушка в начале бы очень помогла. я думаю в моем случае получим одинаковый результат с обоих сторон , обкома и 12 контакта
а ты уверен, что после 52 80 7F, всё остальное панель шлёт, может тут и опком чёто посылает, типа запрос опком - ответ ECU
инит можно попробовать так
mySerial.begin (5);
mySerial.write (0x55);
Уверен. Я перевёл из hex и получил данные идентификации. Проверил в опком. Все чётко. Инит завтра попробую. Читал что при обращении к 33 адресу получают ответ 55. Может нужно как я писал выше к 33 адресу
только нужно сразу на 10400 перключаться после запроса вроде или 9600 т.е. так
Завтра проверим.
привел сообщения снифа к более читабельному виду. Жирным это контрольная сумма - последние два байта в сообщениях.
Сначала опком на скорости 5бод посылает адрес панели приборов, мы его этим сниффером не увидели,а увидели нули . Потом панель отвечает (уже на скорости 9600) синхробайтом 0х55, далее идет байт keyword#1 (0х52), далее keyword#2 (0х80), и опком отвечает на keyword#2 (0х80), своим keyword#2 в инвертированном виде (0х7F) видимо тут инит закончен, далее полшла инфа.
FF
0 0
0 0 и так далее.
потому что ОПКОМ в начале работает на 5 baud. Попробуй таким сниффером. Так мы хоть адрес панели узнаем.
нет, это опком сначала адрес панели шлет. только мы его не видим, т.к. ты сниффером подключался на 10400 baud, а надо на 5baud, вот при 5 бод увидим, как эти HIGH и LOW превратятся в адрес, который ОПКОМ посылает, с которого и начинается инит.
по всем параметрам больше всего вот это подходит
интересная штука что без зажигания 0 0 и при зажигании первыми всегда 0 0.
На сколько я понял 55 это 0х55 адрес. Как зайти в 0х33 я нашел это
старт бит 200 мс
400 мс HIGH--------------------------
400 mc LOW /
400 мс HIGH / это восемь бит
400 mc LOW /
стоп бит 200 мс----------------------
и приходит ответ 55, может это самое оно?
0 0 это я уже объяснил, на скорости 10400 он не улавливает правильно начало инита, которе идёт на 5 бод. 0х55 это не адрес, это положительный ответ эбу на запрос адреса. Синхробайт называется. 0х55 - потому как в бинарном виде это сочетание 0 и 1 - 01010101, а вот 0х33 это адрес, который на 5 бод посылается диганостикой. Просто это расписано сочетанием HIGH и LOW и задержками. только 0х33 это похоже не панель приборов, а двигло, нам не подходит. наш адрес вроде либо 0хЕ0, либо 0хЕ1, либо 0хB8, либо 0хB9, либо 0хBA
Твой снифер на 5 baud молчит. поставил на 9600 , результат тот что и старом снифере. В остольном ты скорее всего прав. Я предполагал что это два ключа и инвертированый байт. Щас буду пробовать что-то, иниты или еше чето. вопрос только что слать для соединения.
попробуй так, и поиграй задержкой , может вообще её закоментировать
посмотри в опкоме keyword#2 там показывает, какое там значение? и слева вверху скорость показывает.
вообще я разобрался как слать байты с помощью определенного baud rate HIGH LOW и делай
Не выходит. минимальное это 9600 на чем принимается. 5 бауд молчит . сейчас гляну....
скорость увидел 9600 а вот ключи , есть проблема. у меня мини ноут, и программа как бы окно сжимает и ключи видны только чуток верхнюю часть, увидеть не могу. щас другие версии попробую. Не удается рассмотреть ключи, завтра возьму большой ноутбук и попробую увидеть на нем. А пока буду пробовать чета еще
Попробуй в опкоме зайти не через зафиру, а черех общее подключение, там выбирается протокол, инит и т.д. заходишь кузов -> приборы. Но там в скобках указан адрес. Дак вот на каком у тебя установится соединение, тот нам и нужен. А я потом скажу как это через high low отправить
поправил сообщение 819. Теперь более понятно. и контрольная сумма теперь сходится. Кстати, если скорость всё же 9600, то вот этот протокол у нас, походу :
в опкоме есть только автоматическое опредиление авто. после этого открывается кнопка kwp2000 и CAN. на kwp2000 он конектися на 7 контакт . других функций нигде нет
там еще есть кнопка total vehicle readout(полные данные авто) но она не активна. Стоп, минутку...
вот на этой программе OP-COM все есть https://yadi.sk/d/xiq5rZ4g3MjnKN
только там нужно зайти в установки выбрать ком порт и то что у тебя опком используется, а не обычный к-лайн адаптер
.
проблема в том что он у меня висит ка usb serial converter а не на порту. программка суппер, но увы... как ее подцепить
ну дак у юсб сериал конвертер это и есть виртуальный ком порт по идее. С диспетчере оборудования Windows нажми на нём свойства, и вроде как ком порт там можно посмотреть ну или поменять на нужный
нет там порта . это FTDI и есть еще такое написано Port_#0001.Hub_#0002. и все. в нем встроен корвертер юсби по этому он его так видит. щас попробую на вертуальный порт посадить
тогда можно tx и rx твоего клайн адаптера посадить на 0 и 1 ардуины, замкнуть rst на gnd и будеть тебе usb k-line адаптер на виртуальном порте (ардуины). При этом никакой скетч загружать не нужно, получается сквозное подключение
это уже проблемно. все встроено в авто, в панель. я тока не понял причем тут адаптер и ардуино если идет речь об опкоме с компом?
нужно было ардуино цеплять вместо опкома?
да, моей версии программы опком есть подключение через обычный к-лайн адаптер. (ставится галочка в установках программы)
давно бы уж ещё пару дунек заказал. пригодятся
закажу. короче пишет адаптер не найде. нужно чтото залить в дуню для 10 и 11 пинов. чтобы заработало как адаптер
дак конечно с 10 11 не будет работать, без скетча будет работать толлько хард сериал, а он на 0 и 1 пине
в общем можешь пока поизучать какие байты в сообщении меняются когда потенциометом имитируешь датчик уровня топлива, при этом также , смотря в опком, можно сдетать вывод соответсвии по литрам этим байтам.
В дальнейшем можно также записать байты сообщения на одном пробеге, потом ещё через 10км записать и дак далее, сравнивать и вычислить какие за пробег отвечают. Тоже нам ружно для вычисления расхода среднего. А в опкоме пробег показывает?
нет пробег нет. слушай там всего пять адресов B8 B9 BA E0 E1, может методом тыка вычислить инициализацию? а потом в сообщении там тоже не много байтов, подставлять байт и следить или на бортовике таже цифра что и в опкоме. инит бы вычеслить
хотя пробег щас гляну
есть значение пробега сбрасываемого на панели и он тоже на 12 контакте. может прикинешь например инит на B8 скетчик. я попробую остальные четыре адрес сам подставлять. если конечно разберусь как это HIGH LOW превратить