Lynx Опубликовано 14 октября, 2018 Опубликовано 14 октября, 2018 8 часов назад, Valera_Che сказал: Это тот самый "правильный" адаптер с PIC18F25K80 ? Не знаю какой там чип. Не вскрывал. Не заказывал нигде. В соседних гаражах нашёл.
Lynx Опубликовано 14 октября, 2018 Опубликовано 14 октября, 2018 Посмотрел что в адаптере который НЕ связывается с ЭБУ. По аппаратной части там всё круто. Даже слишком круто. Блютус модуль BK3231 со встроенным ARM9 + CAN контроллер MCP2515 в паре с приёмопередатчиком TJA1050. То есть, аппаратно- там более чем достаточно. Вся беда в ПО. Может так оказаться что ISO 14320 там реализован, но AT команды не совместимы с ELM327. Где взять инфу- я пока ХЗ. Это пичалька номер раз. Пичалька номер дваз. Внедрить туда оригинальную ELM не выйдет. Ибо общение блютусни с CAN-контроллером идёт по SPI, а не RS232 под который заточен ELM. Алгоритмы протоколов вшиты в блютуз модуль.
Azovsky Опубликовано 14 октября, 2018 Опубликовано 14 октября, 2018 (изменено) 1 час назад, Lynx сказал: Вся беда в ПО. Значит там не прошивка, а паршивка. Об этом и речь. Немного поясню действия по проверке ЕЛМ на возможность работы по "пятому" протоколу. Пятый, он потому, что идет в даташите на ЕЛМ, идет под номером пять. Нормальный ЕЛМ, должен работать со следующими протоколами. Мой работает минимум с шестью (не считая автоматического значения) озвученными, остальные, проверить возможности не было. Устанавливается командой -> ATSP_(вместо черточки, номер протокола, об этом ниже). 0 - Automatic 1 - SAE J1850 PWM (41.6 Kbaud) 2 - SAE J1850 VPW (10.4 Kbaud) 3 - ISO 9141-2 (5 baud init, 10.4 Kbaud) 4 - ISO 14230-4 KWP (5 baud init, 10.4 Kbaud)5 - ISO 14230-4 KWP (fast init, 10.4 Kbaud) 6 - ISO 15765-4 CAN (11 bit ID, 500 Kbaud) 7 - ISO 15765-4 CAN (29 bit ID, 500 Kbaud) 8 - ISO 15765-4 CAN (11 bit ID, 250 Kbaud) 9 - ISO 15765-4 CAN (29 bit ID, 250 Kbaud) A - SAE J1939 CAN (29 bit ID, 250* Kbaud) B - USER1 CAN (11* bit ID, 125* Kbaud) C - USER2 CAN (11* bit ID, 50* Kbaud) ***************************************************** Набирая ниже следующие команды, В эбу двигателя, ничего не уйдет. Это есть инициализация ЕЛМ, подготовка его для работы с 5ым протоколом. -> ATZ <- > <- <- ELM327 v1.5 <- Придет ответ о версии прошивки ЕЛМ, и возможно какие то детали о нем, в том числе и не верные, они не важны. Главное, произойдет сброс прибора, но ранее пред установленный протокол, не измениться. _____________________________ -> ATSP5 <- >ATSP5 <- OK <- Пред устанавливаем прибор, для работы с пятым протоколом. _______________________________ -> atal <- >atal <- OK <- Разрешить длинные сообщения Стандартным протоколом OBDII ограничено количество байт данных в сообщении до семи, ELM327 обычно столько и посылает, (для передачи и приема). Если набрать AL, то ELM327 позволит отправлять ,восемь байт данных)и получать длинные, (неограниченные )сообщения. AL По умолчанию эта опция отключена. Набирается эта команда, для проверки поддержки ельмом собственно ее. На дальнейший диалог с ЭБУ, она не повлияет. _________________________________________ -> ath1 <- >ath1 <- OK <- Включаем отображение заголовков в принимаемых данных. Т.е. будет видна некая служебная информация. На дальнейший диалог с ЭБУ, она не повлияет. _______________________________________ -> ate0 <- >ate0 <- OK <- Отключаем эхо, что бы не было двойных сообщений. На дальнейший диалог с ЭБУ, она не повлияет. _______________________________ -> atsh8101f1 <- >OK <- Пред устанавливаем заголовок, для связи ЕЛМ с ЭБУ двигателя, он у нас улетит в ЭБУ, после следующей команды. ______________________________ Далее уже пойдут команды, которые будут посланы в ЭБУ. Никакого вреда, Блоку они не нанесут, даже, если будут не верными. Зажигание должно быть уже включено. _______________________________ -> 81 Запрос на связь. Мы не увидим (увидим в последствии, в ответе), но он уйдет, с данными, из выше описанной команды ( будет подставлен набранный заголовок). ожидаемый ответ. <- >BUS INIT: OK <- 83 F1 01 C1 E9 8F AE Означает связь установлена. Если придет типа >ATSH 81 01 F1 OK >81 SEARCHING... UNABLE TO CONNECT То не включили зажигание. Если >ATSH 81 01 F1 OK >81 BUS INIT: ... ERROR То ЭБУ вам не хочет отвечать. Здесь, при правильно установленном ранее заголовке и протоколе, уже можно несколько раз посылать команду >81 Не делая инициализацию ЕЛМ заново. _______________________________________ Если блок ответил, можно отправить любую команду предусмотренную стандартом ISO-14230 Например -> 2190 Получим ответ <- >93 F1 01 61 90 4B 50 2D 52 35 41 31 36 50 39 4D 30 30 32 31 34 38 72 Это кусок ВИН кода вашего АВТО, и если вставить его в ASCII редактор (или перевести в уме, как это делают на передаче "Удивительные люди"), то получим следующий результат. “сaђKP-R5A16P9M002148r Код зашитый в ЭБУ конкретного двигателя ТаГаз, не совпадает с реальностью. Если связи через конкретный адаптер добиться не удается, то..... Впрочем не трудно далее домыслить самому. Изменено 14 октября, 2018 пользователем Azovsky 1
Lynx Опубликовано 14 октября, 2018 Опубликовано 14 октября, 2018 38 минут назад, Azovsky сказал: Значит там не прошивка, а паршивка. Об этом и речь. Видимо. В общем, ждём новую версию. В ручном режиме связь есть. В "автомате" связи нет.
AndreyA100 Опубликовано 14 октября, 2018 Автор Опубликовано 14 октября, 2018 4 часа назад, Lynx сказал: В ручном режиме связь появилась. Почти ура. Вот лог. Не понятна причина появления жирных строк. У предидущего адаптера не было этих строчек. ХЗ, мож и не влияет ни на что. "*Disconnect* *Disconnect* *Connected(1)* State=1 State=2 ELM327 v1.5 >+CONNECTING<<36:1? >NNECTED ? >ATZ ATZ ELM327 v1.5 >ATSP5 ATSP5 OK >ATE0 ATE0 OK >ATAL OK >ATH1 OK >ATSH8101F1 OK >81 BUS INIT: OK 83 F1 01 C1 E9 8F AE >2190 93 F1 01 61 90 4B 50 2D 52 35 41 31 36 50 38 4D 30 30 30 32 33 35 6C >" Вот это хорошая новость. Жирная строка действительно не понятная. Посмотрю в программе, не может-ли там где-то мусор попадать.
neon416 Опубликовано 14 октября, 2018 Опубликовано 14 октября, 2018 16 часов назад, Azovsky сказал: ...Если набрать AL, то ELM327 позволит отправлять ,восемь байт данных)... ...и тут нас ждут веселые приключения. Для отправки блока конфигурационных данных нужно 12 байт, не считая заголовка. Мой ELM v1.5 отправлял 8, забивая последние 4 байта белибердой. После чего ЭБУ вылетал с ошибкой "недопустимое кодирование". Из этого состояния его получалось вывести только дилерским сканером.
maks1978 Опубликовано 15 октября, 2018 Опубликовано 15 октября, 2018 Неон, да пусть поиграются, не мешай. Тебе же потом на хлеб с маслом больше достанется Для всех. Вот в этой теме есть и фоты, и схемы, и описания существующих адаптеров. После прочтения многое станет понятным.
AndreyA100 Опубликовано 15 октября, 2018 Автор Опубликовано 15 октября, 2018 8 часов назад, neon416 сказал: ...и тут нас ждут веселые приключения. Для отправки блока конфигурационных данных нужно 12 байт, не считая заголовка. Мой ELM v1.5 отправлял 8, забивая последние 4 байта белибердой. После чего ЭБУ вылетал с ошибкой "недопустимое кодирование". Из этого состояния его получалось вывести только дилерским сканером. Спасибо за предупреждение. Только с количеством байт что-то не вяжется. В кодинге всего 8 байт, в первых четырех хранится собственно кодировка, в пятом всегда ноль, в остальные пишется информация о сканере которым делалась запись. 2 байта команды + 8 байт данных = 10 байт. Пакет отправляемый ЭБУ при записи Variant Coding 8A 01 F1 - заголовок из команды ATSH 3B A0 - команда 2B 82 80 03 00 53 01 55 - данные 8 байт 30 - контрольная сумма, ее вычисляет и передает ельм Будет печально если окажется что ельмом только читать ошибки можно.
AndreyA100 Опубликовано 15 октября, 2018 Автор Опубликовано 15 октября, 2018 1 час назад, maks1978 сказал: Неон, да пусть поиграются, не мешай. Тебе же потом на хлеб с маслом больше достанется Он со своим супердевайсом и без моей помощи запас масла имеет
Azovsky Опубликовано 15 октября, 2018 Опубликовано 15 октября, 2018 Три байта в хедере не в счет. 8A 01 F1 Десять байт в дате - перебор. 3B A0 2B 82 80 03 00 53 01 55 checksum, не в счет 30. BlueTooth адаптер K-Line
AndreyA100 Опубликовано 15 октября, 2018 Автор Опубликовано 15 октября, 2018 Тоска-печаль. Читать можем, а записать нет. По ссылке, идея хорошая, но существует в единственном экземпляре. Тогда проще K-Line и обычный компьютер. А хотелось-то с телефона.
Azovsky Опубликовано 15 октября, 2018 Опубликовано 15 октября, 2018 Только что, AndreyA100 сказал: Тогда проще K-Line и обычный компьютер. А хотелось-то с телефона А такое предложение было. Тема как я понимаю закрыта.
AndreyA100 Опубликовано 15 октября, 2018 Автор Опубликовано 15 октября, 2018 Было, было, но хотелось-то по модному. Получилось как в том анекдоте "не догоню, так согреюсь". Какой-то опыт в андроидном программировании приобрел, исходники может еще где-то пригодятся.
Azovsky Опубликовано 15 октября, 2018 Опубликовано 15 октября, 2018 Тема то вышла не совсем провальная, узнали о китаеельмах больше. Вот прога на смартфон, по проверке ЕЛМ. Это состояние ГУД. Видно, что целиком поддержка версий ПО до 1.4 А Это БЭД.
Lynx Опубликовано 15 октября, 2018 Опубликовано 15 октября, 2018 4 часа назад, AndreyA100 сказал: По ссылке, идея хорошая, но существует в единственном экземпляре. Тогда проще K-Line и обычный компьютер. А хотелось-то с телефона. Кто мешает написать прогу на андроиде не под ЕЛМ, а под обычный (прямой) БТ-Клайн? 4 часа назад, AndreyA100 сказал: Читать можем, а записать нет. Можно обойти если ЕЛМ способен передавать по 1 байту.
AndreyA100 Опубликовано 15 октября, 2018 Автор Опубликовано 15 октября, 2018 (изменено) 3 часа назад, Lynx сказал: Кто мешает написать прогу на андроиде не под ЕЛМ, а под обычный (прямой) БТ-Клайн? Можно обойти если ЕЛМ способен передавать по 1 байту. Ни что не мешает, только не существует в природе широко продаваемого и дешевого адаптера БТ-Клайн. Можно теоретически под DS150E написать, но он стоит не бюджетно и писать под него намного сложнее. Не умеет ельм передавать по одному байту. Изменено 15 октября, 2018 пользователем AndreyA100
Lynx Опубликовано 17 октября, 2018 Опубликовано 17 октября, 2018 (изменено) В 15.10.2018 в 21:46, AndreyA100 сказал: не существует в природе широко продаваемого и дешевого адаптера БТ-Клайн. "правильный" ELM327, на пик 16f и есть прямой БТ-Клайн. Там с блютус модуля выходит RX-TX, которые надо перебросить на выходные буферы минуя саму микруху ЕЛМ. И всё. Теперь имеем прямой БТ-Клайн без АТ комант. Весь протокол можно писать в андроид софте. Грубо говоря- надо вставить 1 переключатель в адаптер и хард готов. Вот схема КЛ-адаптера с К и Л линиями: Если Л-линия не нужна, то схема ещё прощще: Вместо микрухи FT232RL у нас блютус модуль от ЕЛМ, а вместо L9637 у нас выходные буфера ЕЛМ. Изменено 17 октября, 2018 пользователем Lynx
AndreyA100 Опубликовано 17 октября, 2018 Автор Опубликовано 17 октября, 2018 36 минут назад, Lynx сказал: Там с блютус модуля выходит RX-TX, которые надо перебросить на выходные буферы минуя саму микруху ЕЛМ. И всё. Теперь имеем прямой БТ-Клайн без АТ комант. И который будет работать только на той скорости на которую настроен выход BT модуля. А с машиной обмен идет на разных скоростях, причем не стандартных. Если не веришь полистай описание протокола ISO14230 https://yadi.sk/d/e5Pgqvpz3UhxPi
Lynx Опубликовано 17 октября, 2018 Опубликовано 17 октября, 2018 (изменено) 45 минут назад, AndreyA100 сказал: А с машиной обмен идет на разных скоростях, причем не стандартных. Если не веришь полистай описание протокола ISO14230 Почему не верю. Просто не знал... Полистал...10400- действительно, не стандарт. Однако 9600 очень близок к нему. И. Судя по тому что у "некоторых" всё работает по RS-232 или USB- которые тоже не имеют 10400 битрейта в спецификации, это не есть проблема. На сколько помню, все мои адаптеры работали на скорости 9600 и связь с машинами была. 45 минут назад, AndreyA100 сказал: И который будет работать только на той скорости на которую настроен выход BT модуля. Сомневаюсь что он не настраивается, ибо БТ модули стандартны и как правило поддерживают все стандартные скорости. По сути, это просто беспроводной COM порт. И сомневаюсь что К-Лайн не будет работать на 9600. Скорее всего 9600 и 10400 это одно и то же, только 9600 это без учёта передачи служебных бит, а 10400 с учётом. Опять же. Все К-лайн адаптеры, которые доводилось использовать(РС-232 и УСБ) в настройках порта использовали скорость 9600. PS. Судя по использованию ISO 14320-4 fast init. Скорее всего танцы с бубнами вокруг скоростей не понадобятся. ЭБУ жестко сидит на 10400 и никаких синхронизаций скорости обмена(как в 5-baud init)- не нужно. Изменено 17 октября, 2018 пользователем Lynx
Lynx Опубликовано 17 октября, 2018 Опубликовано 17 октября, 2018 Ага. Со скоростями всё немножечко не так... НО. Принцип настройки СОМ девайса на нестандартную скорость описан тут: https://masterkit.ru/zip/BM9213_10400_bod.pdf
AndreyA100 Опубликовано 17 октября, 2018 Автор Опубликовано 17 октября, 2018 (изменено) 37 минут назад, Lynx сказал: Скорее всего 9600 и 10400 это одно и то же, только 9600 это без учёта передачи служебных бит, а 10400 с учётом. 9600 и 10400 бит в секунду, разница есть? ссылка на мастеркит вообще не в тему. Про задание скорости ВТ модулей почитать можно тут http://robotclass.ru/articles/bluetooth-hc-05-06/ http://robotclass.ru/wp-content/uploads/2015/04/AT_HC05.pdf Вроде и можно запрограммировать, но скорости 10400 там нет. Изменено 17 октября, 2018 пользователем AndreyA100
Lynx Опубликовано 17 октября, 2018 Опубликовано 17 октября, 2018 8 минут назад, AndreyA100 сказал: 9600 и 10400 бит в секунду, разница есть? Есть есть. Просто иногда по разному считают эти самые биты. Да. Почитал немножко ещё, действительно, в KWP2000 имеется в виду реальные 10400, как 9600, только 10400. 10 минут назад, AndreyA100 сказал: ссылка на мастеркит вообще не в тему. В тему. Там описана работа на прямую с коэффициентом деления УАРТ модуля. К сожалению в китайских БТ через АТ команды это сделать нельзя. Короче засада. Получается что единственный вариант который в принципе может настроиться на 10400- это усб-клайн. Теоретически его можно прицепить к андроиду, но всё упирается в драйвер для андроида. Так что скорее всего ПК или ноут.
AndreyA100 Опубликовано 17 октября, 2018 Автор Опубликовано 17 октября, 2018 2 минуты назад, Lynx сказал: Теоретически его можно прицепить к андроиду, но всё упирается в драйвер для андроида. Так что скорее всего ПК или ноут. Андроид это не операционная система типа виндовс, там все по другому. Расписывать подробности не буду, но, сделать такой адаптер, чтобы он цеплялся по usb и им можно было пользоваться с обычного андроидного телефона, мало реально. Обмен в пользовательской программе через bluetoth в андроиде реализован хорошо, а вот с usb все намного сложнее. По usb работают только стандартные устройства (мышки, флешки, модемы) и то не все и из программы прямого доступа к ним нет.
Lynx Опубликовано 17 октября, 2018 Опубликовано 17 октября, 2018 (изменено) Есть некий девайс... http://bezkz.su/publ/300296-11-1-0-296.html Прямой БТ-Клайн. Скорость обмена с ЭБУ задаётся тинькой адаптера. Т.е. полученные по БТ команды буферизуются в тиньке на стандартной скорости и передаются в ЭБУ на скорости ЭБУ. То что нужно... Но... это только если самому собирать. Пока изучаю, вроде ПО открытое и есть исходник. Можно попытаться переделать прогу под ПИК16F и просто перешить адаптер ЕЛМ в "прямой". PS. Искать и не сдаваться! Найти и перепрятать! Изменено 17 октября, 2018 пользователем Lynx
Azovsky Опубликовано 17 октября, 2018 Опубликовано 17 октября, 2018 8 минут назад, Lynx сказал: перешить адаптер ЕЛМ в "прямой". И тогда обратной дороги не будет, ELM уже не воскресить. Про посылки длинных команд через БТ ельм забудь. Буфер не увеличить, надо бить команды на фрэймы. Разбить, обработать, послать в блок, это не для БТ скоростей. Пока, народ делает это по CAN шине, и на проводных ELM, не наш вариант. 14 минут назад, Lynx сказал: Есть некий девайс.. Ссылку я эту уже давал, почитай посты выше. Проще спаять такой же, и не переделывать чужую прогу, а писать свою, именно под комп, выйдет менее затратно. Математику по расчету паролей, придется писать самому, с чужим кодом, просто так ее не связать. П. С. Напишешь ты ее, только для себя, никто эту схему повторять не будет. Вариант не серийный.
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйте новый аккаунт в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти