Перейти к содержанию
17-й ежегодный слет Корандоводов 2024 - Сибирь!

Программа для включения круиза и прочих настроек для Тагаза, под ELM327 и Андроид


Рекомендуемые сообщения


Нет.

Разгадана еще в 2015 году, на основе сдутых данных с офф. сканера в одном из сервисов CПБ.

Ссылка на комментарий
18 минут назад, Azovsky сказал:

Ссылку я эту уже давал, почитай посты выше.

Да. И?

Смотрел исходник АСМовский? Там всё очень подробно закаменчено.

18 минут назад, Azovsky сказал:

Проще спаять такой же

Нет. Ибо использованый там БТ модуль- жутко дорогой.

18 минут назад, Azovsky сказал:

Математику по расчету паролей, придется писать самому, с чужим кодом, просто так ее не связать.

В чём проблема добавить модуль "пересчёта" имея на руках ASM исходник? Вписал, вставил вызовы в нужных местах и перекомпилил. И вся беда.

Единственный затык- это то что исходник АСМовский, портировать на ПИК по простому- не выйдет. Разные системы команд от слова совсем. Был бы на сях- было бы не в пример проще. А так, придётся брать атмелевский мк и привязывать к нему доступный БТ модуль.

18 минут назад, Azovsky сказал:

И тогда обратной дороги не будет,  ELM уже не воскресить.

300 рублей цена елм- просто непоправимая катастрофа :) Только в ней деталей, если россыпью брать на в 4 раза больше денег. :) 

Ссылка на комментарий
30 минут назад, Azovsky сказал:

Про посылки длинных команд через БТ ельм забудь. Буфер  не увеличить, надо бить команды на фрэймы.

Разбить, обработать, послать в блок, это не для БТ скоростей.

Конкретный протокол надо смотреть на конкретном железе. В принципе, при наличии прямого адаптера(который только скорость преобразует) не надо никаких буферов. БТ может работать на скорости 114000, уйма времени адаптеру для того что бы передать байт на 10400 и следующий принять с БТ. Ненадо никаких фреймов в нём лепить. Вся нагрузка по реализации протокола ляжет на софт в андроиде. Адаптер тупо как буфер работает- принял байт/передал байт, и наоборот. 

ЗЫ. Немножко ещё подумал, а в чём заморота если вставить "математику" в андроидную часть софта и затем передавать уже полностью готовый стринг через БТ-клайн адаптер?

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

Изменено пользователем Lynx
Ссылка на комментарий
9 минут назад, Lynx сказал:

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

Вот тут ты снова не прав. Без буферизации ни как.

Пакет по K-Line должен быть передан без пауз, а андроид и bluetooth могут их наделать массу, проверено.

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

Готовых за 300рэ в продаже нет. Один из более-менее бюджетных стоит около 2500р, но с ним тож над еще разбираться.

Ссылка на комментарий
4 минуты назад, Lynx сказал:

Вся нагрузка по реализации протокола ляжет на софт в андроиде.

Давай так, ты попробуй для начала написать что нибудь на Яве ( а иначе ни как, универсальность, мать её), под Андроид. Сложностей не надо, вывести "морду" программы на экран, и записать куда нибудь значение, по нажатой кнопке.

Узнаешь очень многое, про странности этого языка. У него своя логика, очень странная и запутанная. Потом поговорим. 

Я уже третий раз повторяю, писать надо, под провода, КЛ, и ПК. Тогда будет тебе и Си, и буфер, и сверх скорости, и любой микроконтроллер. И даже перепрошитый ELM.

Есть желание- пожалуйста.

 

Ссылка на комментарий
25 минут назад, Azovsky сказал:

попробуй для начала написать что нибудь на Яве

Вот убил ведь а. Да, с джавой я не знаком.

29 минут назад, AndreyA100 сказал:

Пакет по K-Line должен быть передан без пауз, а андроид и bluetooth могут их наделать массу, проверено.

Хм... чем дальше в лес тем толще партизаны.

Честно сказать, я пока не знаю как работает тот прямой адаптер на тиньке. Прогу только мельком глянул. Смотреть надо как там конкретно что работает.

Ну не верю я что вообще никак. Если андроид способен выдать стринг в блютуз без разрывов пакета, то вполне должно работать. КМК.

 

PS. Глянул в исходник адаптера... буфер 64 байта присутствует.

Изменено пользователем Lynx
Ссылка на комментарий
16 минут назад, Lynx сказал:

Если андроид способен выдать стринг в блютуз без разрывов пакета

Открою тебе тайну. По bluetooth передача идет пакетами.

 

Ссылка на комментарий
1 минуту назад, AndreyA100 сказал:

По bluetooth передача идет пакетами.

Вижу уже. Именно поэтому есть буфер в 64 байта.

В том адаптере сделано так: приём с блютуза ведётся в буфер. По окончании приёма содержимое буфера выплёвывается в ЭБУ. А ответ от эбу передаётся прямо в блютуз. Но это не точно... Сижу смотрю исходник, ещё не до конца разобрался.

Ссылка на комментарий

В принципе, хорошее решение. Простое и понятное.

Если соберешь и сможешь прочитать вин номер из эбу, хотя-бы через обычный COM-порт, я расскажу как читать-писать остальное.

 

 

Ссылка на комментарий
10 минут назад, AndreyA100 сказал:

Если соберешь

Если в моём "ведре радости" найдётся подходящий атмель, а так же подходящий БТ модуль- то собрать не проблема....

ЗЫ. Есть мысль и я её думаю.

Ссылка на комментарий
34 минуты назад, Lynx сказал:

найдётся подходящий атмель

Не обязательно на ней, можно и на PIC.

Могу также дать рекомендации, на первых порах по инициализации и конфигурированию выводов МК.

Как подпрограмму обработки прерываний оформить.

В чем работу с COM, портом отлаживать, не имея на руках МК и программатора.

 

1 час назад, Azovsky сказал:

Я уже третий раз повторяю, писать надо, под провода, КЛ, и ПК. Тогда будет тебе и Си, и буфер, и сверх скорости, и любой микроконтроллер. И даже перепрошитый ELM.

  Здесь не в буквальном смысле любой МК, имелось в виду производитель. Естественно, подходящий.

Ссылка на комментарий
25 минут назад, Azovsky сказал:

Не обязательно на ней, можно и на PIC.

Пик и АТ имеют кардинально разную систему команд. Грубо говоря, в пике нужно некоторые команды АТ заменять на несколько команд. Абсолютно разные ядра. Что делает очень сложным перенос ASM исходников. Практически, это означает полное переписывание листинга по имеющемуся алгоритму, но согласно командам ПИК. Если есть исходник в Си, то это целиком выполнит компилятор (только периферию скорректировать, прерывания и ещё по мелочи), но... это не тот случай, ибо имеется АСМ исходник. 

Есть у меня АТ90S2313, это предшественник тиньки 2313. Попробую на ней. Есть АТмеги разные, если чё... Короче посмотрим.

Ссылка на комментарий

А есть у меня БТ модуль на базе CT2280

Очень поможете если кинете документацией на эту штуковину.

Ссылка на комментарий
2 часа назад, Lynx сказал:

А есть у меня БТ модуль на базе CT2280

Очень поможете если кинете документацией на эту штуковину.

Инет про такой не знает. Может он как-то по другому называется?

 

Ссылка на комментарий
14 часов назад, AndreyA100 сказал:

Может он как-то по другому называется?

на плате модуля никаких опознавательных знаков. На чипе написано

CT2280

M168

14J

P9RJ

Ссылка на комментарий

Поиск в нете ничего толкового не дал, кроме того что такой чип теоретически существует.

Остается попытаться определить к какому из "стандартных" он больше соответствует.

 

Немножко ссылок на разные модули

http://b2a66604b1dde25.ru.s.siteapi.org/docs/6cd0276a2029ea76b3c09cec703099abde802b5f.pdf

https://www.radiokot.ru/circuit/digital/pcmod/39/02.zip

http://www.electronicaestudio.com/docs/istd016A.pdf

http://narodstream.ru/acc/download/LESSON01/HC-05-datasheet_201104_revised.pdf

http://narodstream.ru/acc/download/LESSON01/HC-05-at_command_set.pdf

https://www.olimex.com/Products/Components/RF/BLUETOOTH-SERIAL-HC-06/resources/hc06.pdf

https://cdn.instructables.com/ORIG/FKT/YB60/IOD6JZO5/FKTYB60IOD6JZO5.pdf

 

 

Ссылка на комментарий
4 часа назад, AndreyA100 сказал:

Нашел любопытный контроллер с WiFi

Выходной уровень соответствует напряжению питания 3,3-5V. Для КЛ надо 12.

Еще собственно КЛ адаптер к нему цеплять надо, как преобразователь лог уровня. Либо городить на оптопарах, за одно и развязка будет.

Но в том же "Орионе", уже есть FTDI .

Нужны драйвера, есть ли они для Андроид? Для Windows есть.

Требует внешнего питания,

Operating current  30 mA.

WCH CH340G Datasheet 

CH340 have built-in FIFO buffer, and supports simplex, half- and full-duplex asynchronous communication. The UART interface supports 1 start bit, 5-8 data bits, 1 or 2 stop bits, and odd, even, space or mark parity bits.

Блин интернет никакой, картинки не открываются, и собираюсь в Хаджог ехать.

По приезду вникну глубже. Сорри, если в спешке лишнего чего написал.

Ссылка на комментарий

В андроиде драйверов нет, вообще. Драйвера есть в линуксе под которым запускается андроид на конкретном устройстве. Более того, из андроида нет прямого доступа даже к тем устройствам для которых есть драйвер.

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

Поэтому остается подключать через беспроводные интерфейсы Bluetooth или WiFi.

 

Изменено пользователем AndreyA100
Ссылка на комментарий

Вроде нарыл в ведре нужный модуль БТ-УАРТ.

А блютус сам по себе не так прост как кажется... Одно описание занимает 2800 с гаком страниц... 

Судя по описанию стандарта блютуз, любой модуль поддерживающий спецификацию 1.1 должен подойти для наших целей. И к той схеме на тинь2313 можно подключать практически любой модуль БТ с УАРТ выходами.

В общем, я в процессе пайки/сборки.

Ссылка на комментарий

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйте новый аккаунт в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
×
×
  • Создать...