Нештатная информация на штатный дисплей
|
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
Нештатная информация на штатный дисплей
|
![]()
Сообщение
#1
|
|
![]() Участник ![]() ![]() Группа: Маздаводы Сообщений: 139 Регистрация: 19.4.2014 Из: Истра (МО) Пользователь №: 32720 Спасибо сказали: 58 раз(а) ![]() |
Собственно, началось с того, что когда-то давно кто-то уже делал вывод информаци с нештатного парктроника на штатный дисплей.
Был бы проект жив - просто купил бы и не парился.. но тот проект умер - пришлось все изучать самостоятельно. На текущий момент: 1. уже "препарирован" и довольно хорошо изучен протокол парктроника Parkmaster (одного из недорогих) - уверенно получаю и интерпретирую данные с него. 2. влез в среднескоростную шину CAN на своей машинке - умею управлять дисплеем (пока не идеально, но процесс идет). 3. сделан первый прототип "промежуточной" железки (устанавливается между парктроником и can-шиной) и протестирован (на базовые функции). Моя "железка" дополнительно содержит часы реального времени (RTC) - и теперь на машине появился календарь (был очень сильно удивлен, узнав, что штатно календаря вообще нет). Выглядит сейчас вот таким образом: ![]() Если будет интересно - продолжу повествование. |
|
|
![]()
Сообщение
#2
|
|
![]() хочу всё знать ![]() ![]() ![]() ![]() ![]() Группа: Супермодераторы Сообщений: 5224 Регистрация: 23.5.2009 Из: Москва, Кунцево Пользователь №: 27540 Спасибо сказали: 1993 раз(а) ![]() |
Останавливаться нельзя не только в разработках, но и в повествованиях. Любые телодвижения в изменении (улучшении) функциональности машины только приветствуются. Молодец, так деожать.
|
|
|
![]()
Сообщение
#3
|
|
![]() Продвинутый участник ![]() ![]() ![]() ![]() Группа: Супермодераторы Сообщений: 1122 Регистрация: 24.9.2010 Из: Екатеринбург Пользователь №: 28411 Спасибо сказали: 544 раз(а) ![]() |
Здорово получается, а возможно выудить расход топлива из CAN-шины и вывести на дисплей? Просто праворукие собратья изначально идут без этой функции, а так хочется...
|
|
|
![]()
Сообщение
#4
|
|
![]() Активный участник ![]() ![]() ![]() Группа: Маздаводы Сообщений: 717 Регистрация: 8.10.2010 Из: Москва ЮАО Пользователь №: 28445 Спасибо сказали: 69 раз(а) ![]() |
молодец,а по подробнее
|
|
|
![]()
Сообщение
#5
|
|
Продвинутый участник ![]() ![]() ![]() ![]() Группа: Маздаводы Сообщений: 949 Регистрация: 16.9.2010 Из: Моск. Обл. г. Видное Пользователь №: 28389 Спасибо сказали: 231 раз(а) ![]() |
Да, интересная тема, хотелось бы продолжения (IMG:https://m5club.ru/forum/style_emoticons/default/smile.gif)
|
|
|
![]()
Сообщение
#6
|
|
![]() Участник ![]() ![]() Группа: Маздаводы Сообщений: 139 Регистрация: 19.4.2014 Из: Истра (МО) Пользователь №: 32720 Спасибо сказали: 58 раз(а) ![]() |
ок, тогда буду писать дальше.. подскажите, на что лучше обратить внимание при повествовании? на технические детали реализации или на что-то другое?
вообще, из CAN-шины можно выудить абсолютно все, что там есть.. т.е. вывести какие-то показатели дрыгателя на экран - без проблем. Тут только встает вопрос в расшифровке данных (надо понять адреса и дешифровать соответствующие сообщения). К примеру, дисплей - это как минимум два разных адреса (первый - это адрес для "печати" первых 7 символов, а второй - для вторых 6 символов). Еще, похоже, собственными адресами обладают следующие части экрана: "вехрняя часть" (DISK IN, AF и т.п.), маршрутный комп (левая часть - там где часы), климат (правая часть). Пока мои интересы заканчиваются основной строкой. Дешифровка для основной строки не вызвала никаких проблем - используются стандартные ASCII-коды (так что о кириллице можно забыть - ее там просто нет). Из текущих сложностей: оказалось, что не смотря на всю элементарность работы с дисплеем (вывести что-то на дисплей очень просто - достаточно отправить по нужным адресам соответствующие символам байты) - вылезли неприятные "грабли" в виде разработчиков штатной системы: они по какой-то причине текущие надписи на дисплей отправляют не один раз (по факту изменения надписи - как бы я это реализовывал), а постоянно "флудят" в шину с сообщениями о том, что же дисплей должен отображать. Тем самым - перетирают то, что отправляет мой девайс... Сейчас система моя подключена "неразрушающим" методом - просто в диагностический разъем. При этом как только моя платка "видит" сообщение на дисплей от машины - она тут же отправляет свое сообщение (то, что хочется видеть на дисплее). Но, к сожалению, не хватает быстродействия (используется микроконтроллер на 16МГц) - при этом проявляются "промаргивания" (во время вывода "нештатного сообщения" пишется что-то штатное, тут же перетирается и снова выводится то, что требуется)... Надо проверить пару гипотез - как это можно обойти. Пробовал просто засыпать шину "своими" сообщениями - на дисплей выводится все четко, но при этом машина воспринимает эту ситуацию не совсем штатно - через некоторое время на дисплей перестают попадать "штатные" сообщения. После выключения/включения зажигания - все начинает работать нормально. Есть мысль подключить свою разработку несколько глубже (как это было сделано в первоначальном варианте у "исходного" проекта) - врезаться в шину между машиной и дисплеем и когда нужно выводить "свое" - просто отключать дисплей от шины машины и рулить им самостоятельно. Вариант - 100% эффективный, но надо будет немного разбирать салон, чтобы добраться до дисплея. P.S. кстати, можно писать какие-то предложения по тому, для чего можно использовать штатный дисплей и вообще шину... лично мне еще хочется узнать, можно ли, например, выловить на шине текущую скорость (это можно - 100%) и при превышении, например, 7км/ч - автоматически закрывать замки дверей (такая фича была штатно в предыдущем пыжике). Конечно, это к дисплею не относится, но шина, к которой я подключаюсь (это среднескоростная шина, она же "шина комфорта") по идее, содержит много интересного - там гуляют команды (и параметры) климата, света, ... сейчас посмотрел - есть данные по скорости, средней скорости, текущему и среднему расходу (т.е. маршрутник сделать - вообще ничего сложного) P.P.S. если кто-то поделится информацией по соответствию идентификаторов сообщений, длинны сообщений, правил декодирования - буду очень признателен Сообщение отредактировал ustas - 24.10.2014, 16:02 |
|
|
![]()
Сообщение
#7
|
|
![]() Активный участник ![]() ![]() ![]() Группа: Маздаводы Сообщений: 254 Регистрация: 24.4.2011 Из: Саратовская обл. г. Балаково Пользователь №: 29133 Спасибо сказали: 69 раз(а) ![]() |
Браво!
Вот она победа над пустым дисплеем при нештатной балалайке. Кто последний за девайсом? Никто!? Тогда я первый. С нетерпением жду. Удачи в работе. Дисплей снять не проблема, темы есть соответствующие. Как только сдёрнешь магнитолу останется два шурупа, верхнюю нахлобучку с дисплеем на себя и в верх. 15 минут работы. Со скоростью - неплохое предложение. Неплохо бы вольтметр.Парктроники тоже . А со светом что можно замутиь? Сообщение отредактировал al4630z - 24.10.2014, 16:22 |
|
|
![]()
Сообщение
#8
|
|
![]() Участник ![]() ![]() Группа: Маздаводы Сообщений: 139 Регистрация: 19.4.2014 Из: Истра (МО) Пользователь №: 32720 Спасибо сказали: 58 раз(а) ![]() |
При пустом дисплее (нештатной балалайке) подключение - просто в диагностический разъем (и не надо решать проблему "штатных" и "нештатных" сообщений).
Могу изготовить небольшую партию для желающих (с нештатной балалайкой). Можно замутить маршрутный комп. Данные на шине (касающиеся маршрутника): - текущая скорость - средняя скорость - текущий расход - средний расход можно добавить календарь (чтобы выводилась дата, как у меня) что еще хочется? Какую информацию выводить? кто готов стать "подопытным"? Еще нужно придумать, по какому алгоритму переключать данные (портить салон "колхозными" кнопками, имхо, не лучший вариант). Можно просто в цикле данные крутить... Есть идеи? Ну и надо понимать - каков вообще спрос на подобное? Сколько желающих? |
|
|
![]()
Сообщение
#9
|
|
![]() Отстал от жизни ![]() ![]() ![]() ![]() ![]() Группа: Маздаводы Сообщений: 2367 Регистрация: 21.6.2011 Из: Новгородская обл. Боровичи Пользователь №: 29350 Спасибо сказали: 647 раз(а) ![]() |
(IMG:https://m5club.ru/forum/style_emoticons/default/wacko.gif) У кого то руки золотые, а у кого то мозг (IMG:https://m5club.ru/forum/style_emoticons/default/blink.gif) Понял что ничего не понял (IMG:https://m5club.ru/forum/style_emoticons/default/biggrin.gif)
|
|
|
![]()
Сообщение
#10
|
|
![]() Гуру) ![]() ![]() ![]() ![]() ![]() Группа: Маздаводы Сообщений: 1999 Регистрация: 27.10.2013 Из: Уфа Пользователь №: 32237 Спасибо сказали: 1062 раз(а) ![]() |
Есть мысль подключить свою разработку несколько глубже (как это было сделано в первоначальном варианте у "исходного" проекта) - врезаться в шину между машиной и дисплеем и когда нужно выводить "свое" - просто отключать дисплей от шины машины и рулить им самостоятельно. Предлагаю врезаться в шину не между машиной и дисплеем, а просто отключать от шины штатную балалайку. При этом для коммутации можно например использовать сигнал включения штатной балалайки или одну из её неиспользуемых кнопок. Подключение приблуды оставить так-же как сейчас, т.е. через диагностический разъём. Кстати когда балалайка выключена, конфликт сигналов не возникает? мерцание пропадает? З.Ы.: Я раньше тоже электроникой увлекался, а сейчас ленивый стал: купил в диагностический разъём блютус-заглушку, она из смартфона делает простой бортовой компьютер ))) Сообщение отредактировал !Lnur - 24.10.2014, 18:18 |
|
|
![]()
Сообщение
#11
|
|
![]() Участник ![]() ![]() Группа: Маздаводы Сообщений: 139 Регистрация: 19.4.2014 Из: Истра (МО) Пользователь №: 32720 Спасибо сказали: 58 раз(а) ![]() |
!Lnur, не совсем понял... т.е. перед выводом сообщения гасить штатную балалайку?
Тогда будет как минимум странно: ... играет музыка, потом вырубается - на экране то, что нужно - врубаем музыку... а если это в цикле (сейчас у меня 10 секунд показывается "штатное" сообщение, а потом - 2 секунды - дата). Или я чего-то не догоняю? Кстати, использовать одну из незадейстованных кнопок - в принципе, идея неплохая, но.... вроде как все кнопки в каком-либо из режимов все-таки задействуются (т.е. абсолютно незадействованной кнопки - нет). Если я неправ - скажите, какая это кнопка? Ну и подключение к этой кнопке хотелось бы сделать "безболезненным" (в идеале было бы просто шикарно, если бы магнитола сама сообщала (или сообщает???) о нажатой кнопке) - тогда это событие можно было бы отлавливать и делать по нему свои действия какие-то.. Делать "жесткое" подключение, имхо, неправильно - да и возни слишком много: разобрать магнитолу, посмотреть потенциалы на кнопках - подпаять проводочки... мало кто на это вообще пойдет... Кстати, не пробовал вырубать штатную балалайку, но, думаю, при этом мерцания не будет (или будет, если магнитола шлет "пробелы" на пустой дисплей). Попробую завтра - сейчас выходить из дома не очень хочется... |
|
|
![]()
Сообщение
#12
|
|
Продвинутый участник ![]() ![]() ![]() ![]() Группа: Маздаводы Сообщений: 949 Регистрация: 16.9.2010 Из: Моск. Обл. г. Видное Пользователь №: 28389 Спасибо сказали: 231 раз(а) ![]() |
Какой контроллер используется на текущий момент? Может есть смысл сменить на более быстродействующий?
|
|
|
![]()
Сообщение
#13
|
|
![]() Гуру) ![]() ![]() ![]() ![]() ![]() Группа: Маздаводы Сообщений: 1999 Регистрация: 27.10.2013 Из: Уфа Пользователь №: 32237 Спасибо сказали: 1062 раз(а) ![]() |
Если штатный дисплей использовать, например, в качестве индикатора парктроника (как раз то с чего ты начал разрабатывать идею), то кратковременное выключение магнитолы для изменения режима индикации, думаю, возражений не вызовет. Естественно для индикации календаря такой вариант не применим, но извини, я не вижу необходимости постоянной индикации календаря на дисплее, мне достаточно один раз узнать дату и всё )))
Неиспользуемая кнопка балалайки - это, например, кнопка МЕДИА, естественно у кого она есть и не используется по назначению. Я могу ошибаться, но думаю при нажатии на неё на соответствующем разъёме балалайки (разъеме для CD-ченжера) должен появиться сигнал включения, и скорей всего появляется соответствующая команда и по шине. Кстати на резъёме для ченжера есть сигналы шины управления (M-BUS) может с неё удастся сигнал взять? |
|
|
![]()
Сообщение
#14
|
|
![]() Участник ![]() ![]() Группа: Маздаводы Сообщений: 139 Регистрация: 19.4.2014 Из: Истра (МО) Пользователь №: 32720 Спасибо сказали: 58 раз(а) ![]() |
Сходил-таки в машину.
Если штатную балалайку выключить, то она шлет "пробелы" на экран. Т.о. "промаргивания" - остались. Чуть больше деталей по реализации: 1. Сейчас моя платка выглядит следующим образом: ![]() 2. МК - atmega328p (работает на 16МГц) 3. модуль RTC - DS1307 4. Интерфейс OBD2 реализован на MCP2515+MCP2551 5. Для питания платы распаян USB-разъем (исключительно питание) 6. Большой черный разъем - для подключения парктроника (просто был готовый обжатый кабель на момент установки парктроника - его и проложил сразу для своих нужд). 7. На плате присутствует резервная батарейка (для часового модуля) 8. Имеется "пищалка" (поскольку у парктроника она встроена в дисплей, от которого я планирую отказаться) Делал из того, что было под рукой. Выбор МК - "выбираю из того, с чем умею работать". "Хитрая форма" платы обусловлена тем, что делалась под имеющийся корпус: ![]() Это корпус от "обходчика иммобилайзера". |
|
|
![]()
Сообщение
#15
|
|
Продвинутый участник ![]() ![]() ![]() ![]() Группа: Маздаводы Сообщений: 949 Регистрация: 16.9.2010 Из: Моск. Обл. г. Видное Пользователь №: 28389 Спасибо сказали: 231 раз(а) ![]() |
Понятно. Буду думать.
Спасибо сказали:
|
|
|
![]()
Сообщение
#16
|
|
![]() Участник ![]() ![]() Группа: Маздаводы Сообщений: 139 Регистрация: 19.4.2014 Из: Истра (МО) Пользователь №: 32720 Спасибо сказали: 58 раз(а) ![]() |
Если штатный дисплей использовать, например, в качестве индикатора парктроника (как раз то с чего ты начал разрабатывать идею), то кратковременное выключение магнитолы для изменения режима индикации, думаю, возражений не вызовет. Естественно для индикации календаря такой вариант не применим, но извини, я не вижу необходимости постоянной индикации календаря на дисплее, мне достаточно один раз узнать дату и всё ))) Да, для парктроника так и есть - вырубание музыки дополнительно позволяет убрать "отвлекающие моменты". Дата постоянно не нужна - это точно.. но вот тот момент, когда мне это понадобилось - неизвестен. Если нужно что-то ткнуть - так я уж до телефона доберусь... поэтому пока включил "динамическую индикацию" (когда дата периодически появляется на дисплее и пропадает). Неиспользуемая кнопка балалайки - это, например, кнопка МЕДИА, естественно у кого она есть и не используется по назначению. Я могу ошибаться, но думаю при нажатии на неё на соответствующем разъёме балалайки (разъеме для CD-ченжера) должен появиться сигнал включения, и скорей всего появляется соответствующая команда и по шине. Кстати на резъёме для ченжера есть сигналы шины управления (M-BUS) может с неё удастся сигнал взять? MEDIA я как раз использую - поставил "на постоянное жительство" блютус-модуль музыкальный и активно юзаю. "Сигнал включения" в нашем случае - это уже какая-то команда на шине, а не просто "высокий(низкий) потенциал" на каком-то пине разъема. Кстати, есть некоторое подозрение, что нажатие некоторых кнопок - транслируются в шину (вроде как есть кнопки "громкость+", "громкость-", "mute" - по крайней мере встречалась подобная информация при гуглении). Но тут нужно или снифер шины городить (хотя он уже фактически есть в моей платке) и анализировать данные (вот это занимает больше всего времени) или где-то найти доку по адресам, сообщениям и их кодированию (но что-то мне кажется, что такого документа просто нет). P.S. наверняка моя плата сразу заработает на мазда3... (купил на разборке дисплей от мазда3 - подключил его 4 проводками к диагностическому разъему и увидел ровно те же надписи, что и на дисплее моей машины). Возможно, заработает на мазда6 (и других маздах) - но тут попробовать надо. |
|
|
![]()
Сообщение
#17
|
|
![]() Гуру) ![]() ![]() ![]() ![]() ![]() Группа: Маздаводы Сообщений: 1999 Регистрация: 27.10.2013 Из: Уфа Пользователь №: 32237 Спасибо сказали: 1062 раз(а) ![]() |
Кстати, есть некоторое подозрение, что нажатие некоторых кнопок - транслируются в шину (вроде как есть кнопки "громкость+", "громкость-", "mute" - по крайней мере встречалась подобная информация при гуглении) Подозрения небезосновательны, вспомни кнопки на руле - как раз громкость+/громкость-, mute, канал+, канал-. ;-) |
|
|
![]()
Сообщение
#18
|
|
![]() Участник ![]() ![]() Группа: Маздаводы Сообщений: 139 Регистрация: 19.4.2014 Из: Истра (МО) Пользователь №: 32720 Спасибо сказали: 58 раз(а) ![]() |
о.. точно.. тогда еще интереснее может быть.
На руле точно есть кнопки, которыми я не пользуюсь - можно их отлавливать. И теперь для себя нашел еще одно применение штатного дисплея: на пыжике при включении круиза на приборке можно было выставить требуемую скорость (она выводилась в явном виде).. Тут же приходится "угадывать" (или нажимать на SET тогда, когда требуемая скорость уже набрана). Если отлавливать нажатия (ну и еще все-таки послушать, что же в шине еще "гуляет") - то, возможно, получится выводить на дисплей задаваемую скорость круиза. |
|
|
![]()
Сообщение
#19
|
|
![]() хочу всё знать ![]() ![]() ![]() ![]() ![]() Группа: Супермодераторы Сообщений: 5224 Регистрация: 23.5.2009 Из: Москва, Кунцево Пользователь №: 27540 Спасибо сказали: 1993 раз(а) ![]() |
Вот это мне по душе - хорошая темка получается.
ПиСь. Давненько не было - соскучились, да и руки чешутся. |
|
|
![]()
Сообщение
#20
|
|
![]() Участник ![]() ![]() Группа: Маздаводы Сообщений: 87 Регистрация: 7.2.2014 Из: днепр Пользователь №: 32499 Спасибо сказали: 17 раз(а) ![]() |
Интересная тема, сам рассматривал готовый вариант,
|
|
|
![]() ![]() |
![]() |
Текстовая версия | Сейчас: 11.9.2024, 8:30 |
![]() |