Международный форум любителей Мазда5/Премаси (Семейный автомобиль, минивэн): Нештатная информация на штатный дисплей - Международный форум любителей Мазда5/Премаси (Семейный автомобиль, минивэн)

Перейти к содержимому

  • (17 Страниц)
  • +
  • 1
  • 2
  • 3
  • Последняя »
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

Нештатная информация на штатный дисплей

#1 Пользователь офлайн   ustas 

  • Участник
  • PipPip
  • Группа: Маздаводы
  • Сообщений: 139
  • Регистрация: 19 April 14

Отправлено 23 October 2014 - 21:53

Собственно, началось с того, что когда-то давно кто-то уже делал вывод информаци с нештатного парктроника на штатный дисплей.
Был бы проект жив - просто купил бы и не парился.. но тот проект умер - пришлось все изучать самостоятельно.

На текущий момент:
1. уже "препарирован" и довольно хорошо изучен протокол парктроника Parkmaster (одного из недорогих) - уверенно получаю и интерпретирую данные с него.
2. влез в среднескоростную шину CAN на своей машинке - умею управлять дисплеем (пока не идеально, но процесс идет).
3. сделан первый прототип "промежуточной" железки (устанавливается между парктроником и can-шиной) и протестирован (на базовые функции).

Моя "железка" дополнительно содержит часы реального времени (RTC) - и теперь на машине появился календарь (был очень сильно удивлен, узнав, что штатно календаря вообще нет).
Выглядит сейчас вот таким образом:

Прикрепленный файл  WP_20141023_14_26_32_Pro.jpg (195.28К)
Количество загрузок:: 363

Если будет интересно - продолжу повествование.
0

#2 Пользователь офлайн   Сеттер 

  • хочу всё знать
  • PipPipPipPipPip
  • Группа: Супермодераторы
  • Сообщений: 5224
  • Регистрация: 23 May 09

Отправлено 23 October 2014 - 22:30

Останавливаться нельзя не только в разработках, но и в повествованиях. Любые телодвижения в изменении (улучшении) функциональности машины только приветствуются. Молодец, так деожать.
0

#3 Пользователь офлайн   annik 

  • Продвинутый участник
  • PipPipPipPip
  • Группа: Супермодераторы
  • Сообщений: 1122
  • Регистрация: 24 September 10

Отправлено 23 October 2014 - 22:46

Здорово получается, а возможно выудить расход топлива из CAN-шины и вывести на дисплей? Просто праворукие собратья изначально идут без этой функции, а так хочется...
0

#4 Пользователь офлайн   vitalson8 

  • Активный участник
  • PipPipPip
  • Группа: Маздаводы
  • Сообщений: 717
  • Регистрация: 08 October 10

Отправлено 23 October 2014 - 23:09

молодец,а по подробнее
0

#5 Пользователь офлайн   _Michail_ 

  • Продвинутый участник
  • PipPipPipPip
  • Группа: Маздаводы
  • Сообщений: 949
  • Регистрация: 16 September 10

Отправлено 24 October 2014 - 07:46

Да, интересная тема, хотелось бы продолжения smile.gif
0

#6 Пользователь офлайн   ustas 

  • Участник
  • PipPip
  • Группа: Маздаводы
  • Сообщений: 139
  • Регистрация: 19 April 14

Отправлено 24 October 2014 - 15:53

ок, тогда буду писать дальше.. подскажите, на что лучше обратить внимание при повествовании? на технические детали реализации или на что-то другое?

вообще, из CAN-шины можно выудить абсолютно все, что там есть.. т.е. вывести какие-то показатели дрыгателя на экран - без проблем. Тут только встает вопрос в расшифровке данных (надо понять адреса и дешифровать соответствующие сообщения).

К примеру, дисплей - это как минимум два разных адреса (первый - это адрес для "печати" первых 7 символов, а второй - для вторых 6 символов). Еще, похоже, собственными адресами обладают следующие части экрана: "вехрняя часть" (DISK IN, AF и т.п.), маршрутный комп (левая часть - там где часы), климат (правая часть).

Пока мои интересы заканчиваются основной строкой.

Дешифровка для основной строки не вызвала никаких проблем - используются стандартные ASCII-коды (так что о кириллице можно забыть - ее там просто нет).

Из текущих сложностей: оказалось, что не смотря на всю элементарность работы с дисплеем (вывести что-то на дисплей очень просто - достаточно отправить по нужным адресам соответствующие символам байты) - вылезли неприятные "грабли" в виде разработчиков штатной системы: они по какой-то причине текущие надписи на дисплей отправляют не один раз (по факту изменения надписи - как бы я это реализовывал), а постоянно "флудят" в шину с сообщениями о том, что же дисплей должен отображать. Тем самым - перетирают то, что отправляет мой девайс...

Сейчас система моя подключена "неразрушающим" методом - просто в диагностический разъем. При этом как только моя платка "видит" сообщение на дисплей от машины - она тут же отправляет свое сообщение (то, что хочется видеть на дисплее). Но, к сожалению, не хватает быстродействия (используется микроконтроллер на 16МГц) - при этом проявляются "промаргивания" (во время вывода "нештатного сообщения" пишется что-то штатное, тут же перетирается и снова выводится то, что требуется)...

Надо проверить пару гипотез - как это можно обойти.

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

Есть мысль подключить свою разработку несколько глубже (как это было сделано в первоначальном варианте у "исходного" проекта) - врезаться в шину между машиной и дисплеем и когда нужно выводить "свое" - просто отключать дисплей от шины машины и рулить им самостоятельно. Вариант - 100% эффективный, но надо будет немного разбирать салон, чтобы добраться до дисплея.

P.S. кстати, можно писать какие-то предложения по тому, для чего можно использовать штатный дисплей и вообще шину...
лично мне еще хочется узнать, можно ли, например, выловить на шине текущую скорость (это можно - 100%) и при превышении, например, 7км/ч - автоматически закрывать замки дверей (такая фича была штатно в предыдущем пыжике). Конечно, это к дисплею не относится, но шина, к которой я подключаюсь (это среднескоростная шина, она же "шина комфорта") по идее, содержит много интересного - там гуляют команды (и параметры) климата, света, ... сейчас посмотрел - есть данные по скорости, средней скорости, текущему и среднему расходу (т.е. маршрутник сделать - вообще ничего сложного)

P.P.S. если кто-то поделится информацией по соответствию идентификаторов сообщений, длинны сообщений, правил декодирования - буду очень признателен

Сообщение отредактировал ustas: 24 October 2014 - 16:02

0

#7 Пользователь офлайн   al4630z 

  • Активный участник
  • PipPipPip
  • Группа: Маздаводы
  • Сообщений: 254
  • Регистрация: 24 April 11

Отправлено 24 October 2014 - 16:14

Браво!
Вот она победа над пустым дисплеем при нештатной балалайке.
Кто последний за девайсом? Никто!? Тогда я первый.
С нетерпением жду. Удачи в работе.
Дисплей снять не проблема, темы есть соответствующие. Как только сдёрнешь магнитолу останется два шурупа, верхнюю нахлобучку с дисплеем на себя и в верх. 15 минут работы.
Со скоростью - неплохое предложение. Неплохо бы вольтметр.Парктроники тоже . А со светом что можно замутиь?

Сообщение отредактировал al4630z: 24 October 2014 - 16:22

0

#8 Пользователь офлайн   ustas 

  • Участник
  • PipPip
  • Группа: Маздаводы
  • Сообщений: 139
  • Регистрация: 19 April 14

Отправлено 24 October 2014 - 16:24

При пустом дисплее (нештатной балалайке) подключение - просто в диагностический разъем (и не надо решать проблему "штатных" и "нештатных" сообщений).

Могу изготовить небольшую партию для желающих (с нештатной балалайкой).

Можно замутить маршрутный комп.

Данные на шине (касающиеся маршрутника):
- текущая скорость
- средняя скорость
- текущий расход
- средний расход

можно добавить календарь (чтобы выводилась дата, как у меня)

что еще хочется? Какую информацию выводить?

кто готов стать "подопытным"?

Еще нужно придумать, по какому алгоритму переключать данные (портить салон "колхозными" кнопками, имхо, не лучший вариант). Можно просто в цикле данные крутить...

Есть идеи?

Ну и надо понимать - каков вообще спрос на подобное? Сколько желающих?
0

#9 Пользователь офлайн   Гоша 

  • Отстал от жизни
  • PipPipPipPipPip
  • Группа: Маздаводы
  • Сообщений: 2367
  • Регистрация: 21 June 11

Отправлено 24 October 2014 - 16:25

wacko.gif У кого то руки золотые, а у кого то мозг blink.gif Понял что ничего не понял biggrin.gif
0

#10 Пользователь офлайн   !Lnur 

  • Гуру)
  • PipPipPipPipPip
  • Группа: Маздаводы
  • Сообщений: 2002
  • Регистрация: 27 October 13

Отправлено 24 October 2014 - 18:11

Цитата(ustas @ 24.10.2014, 18:53) <{POST_SNAPBACK}>
Есть мысль подключить свою разработку несколько глубже (как это было сделано в первоначальном варианте у "исходного" проекта) - врезаться в шину между машиной и дисплеем и когда нужно выводить "свое" - просто отключать дисплей от шины машины и рулить им самостоятельно.

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

Кстати когда балалайка выключена, конфликт сигналов не возникает? мерцание пропадает?

З.Ы.: Я раньше тоже электроникой увлекался, а сейчас ленивый стал: купил в диагностический разъём блютус-заглушку, она из смартфона делает простой бортовой компьютер )))

Сообщение отредактировал !Lnur: 24 October 2014 - 18:18

0

#11 Пользователь офлайн   ustas 

  • Участник
  • PipPip
  • Группа: Маздаводы
  • Сообщений: 139
  • Регистрация: 19 April 14

Отправлено 24 October 2014 - 19:26

!Lnur, не совсем понял... т.е. перед выводом сообщения гасить штатную балалайку?

Тогда будет как минимум странно: ... играет музыка, потом вырубается - на экране то, что нужно - врубаем музыку... а если это в цикле (сейчас у меня 10 секунд показывается "штатное" сообщение, а потом - 2 секунды - дата).

Или я чего-то не догоняю?

Кстати, использовать одну из незадейстованных кнопок - в принципе, идея неплохая, но.... вроде как все кнопки в каком-либо из режимов все-таки задействуются (т.е. абсолютно незадействованной кнопки - нет). Если я неправ - скажите, какая это кнопка?

Ну и подключение к этой кнопке хотелось бы сделать "безболезненным" (в идеале было бы просто шикарно, если бы магнитола сама сообщала (или сообщает???) о нажатой кнопке) - тогда это событие можно было бы отлавливать и делать по нему свои действия какие-то..
Делать "жесткое" подключение, имхо, неправильно - да и возни слишком много: разобрать магнитолу, посмотреть потенциалы на кнопках - подпаять проводочки... мало кто на это вообще пойдет...

Кстати, не пробовал вырубать штатную балалайку, но, думаю, при этом мерцания не будет (или будет, если магнитола шлет "пробелы" на пустой дисплей). Попробую завтра - сейчас выходить из дома не очень хочется...
0

#12 Пользователь офлайн   _Michail_ 

  • Продвинутый участник
  • PipPipPipPip
  • Группа: Маздаводы
  • Сообщений: 949
  • Регистрация: 16 September 10

Отправлено 24 October 2014 - 20:34

Какой контроллер используется на текущий момент? Может есть смысл сменить на более быстродействующий?
0

#13 Пользователь офлайн   !Lnur 

  • Гуру)
  • PipPipPipPipPip
  • Группа: Маздаводы
  • Сообщений: 2002
  • Регистрация: 27 October 13

Отправлено 24 October 2014 - 20:44

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

Неиспользуемая кнопка балалайки - это, например, кнопка МЕДИА, естественно у кого она есть и не используется по назначению.
Я могу ошибаться, но думаю при нажатии на неё на соответствующем разъёме балалайки (разъеме для CD-ченжера) должен появиться сигнал включения,
и скорей всего появляется соответствующая команда и по шине.
Кстати на резъёме для ченжера есть сигналы шины управления (M-BUS) может с неё удастся сигнал взять?
0

#14 Пользователь офлайн   ustas 

  • Участник
  • PipPip
  • Группа: Маздаводы
  • Сообщений: 139
  • Регистрация: 19 April 14

Отправлено 24 October 2014 - 20:56

Сходил-таки в машину.

Если штатную балалайку выключить, то она шлет "пробелы" на экран. Т.о. "промаргивания" - остались.

Чуть больше деталей по реализации:
1. Сейчас моя платка выглядит следующим образом:
Прикрепленный файл  WP_20141024_21_19_26_Pro.jpg (329.08К)
Количество загрузок:: 145
2. МК - atmega328p (работает на 16МГц)
3. модуль RTC - DS1307
4. Интерфейс OBD2 реализован на MCP2515+MCP2551
5. Для питания платы распаян USB-разъем (исключительно питание)
6. Большой черный разъем - для подключения парктроника (просто был готовый обжатый кабель на момент установки парктроника - его и проложил сразу для своих нужд).
7. На плате присутствует резервная батарейка (для часового модуля)
8. Имеется "пищалка" (поскольку у парктроника она встроена в дисплей, от которого я планирую отказаться)

Делал из того, что было под рукой. Выбор МК - "выбираю из того, с чем умею работать".

"Хитрая форма" платы обусловлена тем, что делалась под имеющийся корпус:
Прикрепленный файл  WP_20141024_21_19_08_Pro.jpg (386.92К)
Количество загрузок:: 82

Это корпус от "обходчика иммобилайзера".
0

#15 Пользователь офлайн   _Michail_ 

  • Продвинутый участник
  • PipPipPipPip
  • Группа: Маздаводы
  • Сообщений: 949
  • Регистрация: 16 September 10

Отправлено 24 October 2014 - 21:18

Понятно. Буду думать.
0

#16 Пользователь офлайн   ustas 

  • Участник
  • PipPip
  • Группа: Маздаводы
  • Сообщений: 139
  • Регистрация: 19 April 14

Отправлено 24 October 2014 - 21:18

Цитата(!Lnur @ 24.10.2014, 21:44) <{POST_SNAPBACK}>
Если штатный дисплей использовать, например, в качестве индикатора парктроника (как раз то с чего ты начал разрабатывать идею), то кратковременное выключение магнитолы для изменения режима индикации, думаю, возражений не вызовет. Естественно для индикации календаря такой вариант не применим, но извини, я не вижу необходимости постоянной индикации календаря на дисплее, мне достаточно один раз узнать дату и всё )))

Да, для парктроника так и есть - вырубание музыки дополнительно позволяет убрать "отвлекающие моменты".
Дата постоянно не нужна - это точно.. но вот тот момент, когда мне это понадобилось - неизвестен. Если нужно что-то ткнуть - так я уж до телефона доберусь... поэтому пока включил "динамическую индикацию" (когда дата периодически появляется на дисплее и пропадает).

Цитата(!Lnur @ 24.10.2014, 21:44) <{POST_SNAPBACK}>
Неиспользуемая кнопка балалайки - это, например, кнопка МЕДИА, естественно у кого она есть и не используется по назначению.
Я могу ошибаться, но думаю при нажатии на неё на соответствующем разъёме балалайки (разъеме для CD-ченжера) должен появиться сигнал включения,
и скорей всего появляется соответствующая команда и по шине.
Кстати на резъёме для ченжера есть сигналы шины управления (M-BUS) может с неё удастся сигнал взять?


MEDIA я как раз использую - поставил "на постоянное жительство" блютус-модуль музыкальный и активно юзаю.

"Сигнал включения" в нашем случае - это уже какая-то команда на шине, а не просто "высокий(низкий) потенциал" на каком-то пине разъема.

Кстати, есть некоторое подозрение, что нажатие некоторых кнопок - транслируются в шину (вроде как есть кнопки "громкость+", "громкость-", "mute" - по крайней мере встречалась подобная информация при гуглении). Но тут нужно или снифер шины городить (хотя он уже фактически есть в моей платке) и анализировать данные (вот это занимает больше всего времени) или где-то найти доку по адресам, сообщениям и их кодированию (но что-то мне кажется, что такого документа просто нет).

P.S. наверняка моя плата сразу заработает на мазда3... (купил на разборке дисплей от мазда3 - подключил его 4 проводками к диагностическому разъему и увидел ровно те же надписи, что и на дисплее моей машины). Возможно, заработает на мазда6 (и других маздах) - но тут попробовать надо.
0

#17 Пользователь офлайн   !Lnur 

  • Гуру)
  • PipPipPipPipPip
  • Группа: Маздаводы
  • Сообщений: 2002
  • Регистрация: 27 October 13

Отправлено 24 October 2014 - 21:47

Цитата(ustas @ 24.10.2014, 23:18) <{POST_SNAPBACK}>
Кстати, есть некоторое подозрение, что нажатие некоторых кнопок - транслируются в шину (вроде как есть кнопки "громкость+", "громкость-", "mute" - по крайней мере встречалась подобная информация при гуглении)

Подозрения небезосновательны, вспомни кнопки на руле - как раз громкость+/громкость-, mute, канал+, канал-. ;-)
0

#18 Пользователь офлайн   ustas 

  • Участник
  • PipPip
  • Группа: Маздаводы
  • Сообщений: 139
  • Регистрация: 19 April 14

Отправлено 24 October 2014 - 21:55

о.. точно.. тогда еще интереснее может быть.

На руле точно есть кнопки, которыми я не пользуюсь - можно их отлавливать.

И теперь для себя нашел еще одно применение штатного дисплея: на пыжике при включении круиза на приборке можно было выставить требуемую скорость (она выводилась в явном виде)..

Тут же приходится "угадывать" (или нажимать на SET тогда, когда требуемая скорость уже набрана). Если отлавливать нажатия (ну и еще все-таки послушать, что же в шине еще "гуляет") - то, возможно, получится выводить на дисплей задаваемую скорость круиза.
0

#19 Пользователь офлайн   Сеттер 

  • хочу всё знать
  • PipPipPipPipPip
  • Группа: Супермодераторы
  • Сообщений: 5224
  • Регистрация: 23 May 09

Отправлено 24 October 2014 - 22:40

Вот это мне по душе - хорошая темка получается.
ПиСь. Давненько не было - соскучились, да и руки чешутся.
0

#20 Пользователь офлайн   поиск 

  • Участник
  • PipPip
  • Группа: Маздаводы
  • Сообщений: 87
  • Регистрация: 07 February 14

Отправлено 25 October 2014 - 05:59

Интересная тема, сам рассматривал готовый вариант,вот такой гаджет, но побоялся что лобовое стекло далеко на пятке и будет плохо видно.
0

  • (17 Страниц)
  • +
  • 1
  • 2
  • 3
  • Последняя »
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

1 человек читают эту тему
0 пользователей, 1 гостей, 0 скрытых пользователей