• Реклама

Кнопки для Тыквы или адaптер CAN шины для Volvo XC90

Информация об оригинальных акссесуарах / доля наших идей и проектов

Модераторы: Петрович, stark

Кнопки для Тыквы или адaптер CAN шины для Volvo XC90

Сообщение olegel » 13.01.2019, 00:15

После замены штатной аудио системы на двухдиновое радио фирмы Тыква с Android в Volvo XC90, прошло полтора года. Красивые ничего не делающие кнопки на руле не то чтобы мешали спать, но зудели - сделай нас. И парктроники, несмотря на замену их камерой заднего вида, своим молчанием напоминали - мы есть.
Изображение
Радио для работы хочет резистивные кнопки руля.

Volvo XC90 имеет две CAN шины быструю и медленную (low и high speed).
Двигатель, коробка, заслонка работают быстро по быстрой. Климат, сидения, двери, парктроники, кнопки на руле и др. по медленной.
И никаких проводов от кнопок. Так же на радио можно подать сигнал заднего хода, для выключения звука во время движения задом, и сигнал включения подсветки, если в салоне темно.
Плюс нашлось странное поведение сигнала ключа зажигания. Если включить зажигание, то 12 вольт появляется, и радио включается. Заглушил машину - радио выключается. Но если завестись, и через 2-3 минуты или меньше заглушить, сигнал остаётся активен от минуты до 5 минут. Было не очень удобно что уходишь, а радио работает, да, оно потом выключается, но хотелось чтоб сразу.

Для анализа данных на шине были заказаны и собраны два адпатера к Arduino.
Изображение
Изображение
Разницы оказалось нет. Можно использовать любой.
Удобное место для подключения находится в багажнике
Изображение
Вот этот провод, нужны белый и зеленый
Изображение
Большинство программ для анализа на компьютере работают по протоколу Lawicel CAN232/CANUSB.
Соответственно нужна прошивка для Arduino, которая конвертирует CAN сообщения в этот протокол.
Я брал arduino-canbus-monitor. Для одного адаптера правда нужно было поменять частоту кварца в прошивка с 16 на 8 МГц.

Аппаратное обеспечение готово, что с программным? Как обычно все грустно.

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

А у меня Вольво, ничего не известно, около тысячи сообщений в секунду.
В интернете пишут в файл, потом скриптами обрабатывают. В общем прошлое тысячелетие.
Наиболее известная CanHacker и её клоны.
Изображение
И как тут искать? Никаких масок по данным.
Логи выглядят примерно так:
T0240162A8E0100040070019004337
T0240162A80030004007001900435A
T0240162A84030004007009900437D
T02A074288C1000000000000004380
T012177FC8C10C4800101008004385

Пока я нажимаю и отпускаю кнопку на руле, у меня уже пару тыщ сообщений.
Нашел несколько похожих проектов. Читал шведские Volvo форумы. Искал сообщения от указанных модулей в логе - НИЧЕГО. Еще и у всех разные цифры. Но данные все таки есть.

У обычных машин адреса строго определены - допустим 0x45FE модуль управления сидением пассажира. Он 0x45FE у всех машин этой модели, и другие модули знают о 0x45FE, все же просто. Инженеры же Volvo как обычно оказались.. скажем так - неправильной ориентации, и вот что удумали. В заботе о клиенте они придумали такое - каждый модуль в сети имеет свой адрес и он разный для всех машин. Соответственно модули разных машин одной модели, просто так не переставишь. Оправдывают это они тем, чтобы модули не воровали.
Но! Можно прописать адрес модуля в другие модули машины, чтобы они "увидели" новый модуль.
Это делается только через их онлайн систему за неразумные деньги. Или делают умельцы без их системы для ворованных модулей.
Т.е. чтобы поменять модуль надо во ВСЕ! (те которым надо взаимодействовать) модули системы записать новый адрес.

Ок! Буду искать не знаю что, непонятно где :)
Для этого я написал свою программу логер.
Доступна на Github.
Изображение
Итак в сообщении есть адрес отправителя, я собрал их в левом списке. Рядом количество сообщений от модуля всего и количество уникальных сообщений. Модулю для удобства можно дать имя.
Кликнув на модуль можно посмотреть уникальные события от этого модуля, они по 8 байт.
Новые сообщения появляются снизу.
Теперь стало ясно, все модули машины тупо посылают своё состояние в сеть.
В большинстве сообщений меняются только старшие биты первого байта - похоже циклический код.
Добавил маску по байтам - одну глобальную, и одну для каждого модуля.
Поставил 3F в первом байте, проигнорировав первых 5 бит.
О! стало значительно меньше уникальных сообщений.
Для удобства сделал сброс количества сообщений, и глобально и по модулям.
Теперь стало понятно, ждем пока система успокоится - перестанут расти количества уникальных сообщений. Далее нажимаю кнопку на руле. О! несколько модулей выдали новое сообщение.
Сбрасываю список соотношений в подозрительный модулях, и повторяю нажатие кнопки.
Только один модуль явно посылает одно новое сообщение одновременно с кнопкой. Есть ещё модули которые лупят сообщения, но явно не одновременно с кнопкой.
Для сравнения двух сообщения сделал окно побитного сравнения
Изображение
Вот и кнопки:
Адрес swm 00404066
nav enter
........ ........ ........ ........:........ ........ ..1..... ........
nav back
........ ........ ........ ........:........ ........ ...1.... ........
nav up
........ ........ ........ ........:........ ........ ....1... ........
nav down
........ ........ ........ ........:........ ........ .....1.. ........
nav left
........ ........ ........ ........:........ ........ .......1 ........
nav right
........ ........ ........ ........:........ ........ ......1. ........

Так потихоньку собрал, то что мне нужно:
Состояние кнопок на руле, дистанцию парктроников, уровень освещенности, позицию ключа зажигания, позицию коробки передач P,R,N,D, кнопка включения/отключения парктроников.
Заодно и другая инфа попадалась.

На основе собранной информации за долгие новогодние выходные родился Volvo Can Adapter. Адаптер выложен на Github. Arduino, CAN адаптер, цифровой резистор для эмуляции нажатий кнопок.
Изображение
Пригодился модуль телефона из машины, он стал донором зеленого разъема, как раз на него в машине приходит CAN low-speed шина
Изображение
Изображение
Поскольку на него шли еще несколько проводов от SIM карты ICM модуля я их обрезал (уж точно SIM карта никому в машине не понадобится), и через них подключил модуль к питанию. А так пока ни один провод машины не поврежден, и можно все модули вернуть назад.


Итак:
Модуль отслеживает положение ключа зажигания, и через реле дает питание на радио.
Модуль отслеживает положения переключателя передач, и выдает сигнал заднего хода на радио, радио выключает звук (как было в штатной системе).
Одновременно пищит через центральный динамик около монитора навигации, с разными интервалами в зависимости от расстояния (штатная система использовала динамик в правой задней двери, что было как-то странно). Кнопкой парктроника в блоке климата можно отключить звук и включить обратно.
При падении освещенности ниже определенного уровня (взял пасмурный день) модуль выдает сигнал на радио, и радио включает подсветку.
Модуль отслеживает 12 кнопок управления на руле, и эмулирует резистивные кнопки для радио. В радио можно запрограммировать их на любое поведение.

Настроил регулировать громкость, переключать треки, принимать, отклонять звонки, Back, Home в Androide, запуск Waze, включение видео с регистратора, переключение на радио.

Есть еще длинное нажатие кнопки, я было настроил по долгому нажатию Volume down - выключить звук. Но китайцы подвели, радио не запоминают эту настройку после выключения.

Заодно поменял прикуриватель на USB зарядку.
Изображение
olegel
Кандидат
 
Сообщения: 38
Зарегистрирован: 25.04.2016, 17:20
Машина: XC90
Двигатель: 2.5T
Трансмиссия: Auto
Год: 2004
Баллы репутации: 29

Реклама

Re: Кнопки для Тыквы или адaптер CAN шины для Volvo XC90

Сообщение oliv2 » 13.01.2019, 13:02

Красавчег! МОЛОДЦА :good: +к карме :wink:
Ношу эту мысль уже полгода, все руки боятся :D
Буду тоже кулибина изображать........если что могу за консультацией обратиться?
p.s. спасибо за отличный отчет!!!!
oliv2
Участник клуба
 
Сообщения: 70
Зарегистрирован: 26.12.2015, 12:42
Откуда: Саласпилс
Машина: Volvo V70 II
Двигатель: D5244T
Трансмиссия: AW 55-50
Год: 2005
Баллы репутации: 2

Re: Кнопки для Тыквы или адaптер CAN шины для Volvo XC90

Сообщение stark » 13.01.2019, 13:07

Молодец! :good: Информация очень востребованная.
Аватара пользователя
stark
 
Сообщения: 2295
Зарегистрирован: 12.07.2010, 10:29
Откуда: Рига, Усть-Двинск
Машина: XC90 LegoDE
Двигатель: D5244T18 + Polestar
Трансмиссия: TF-80SC AWD
Год: 2012
Клубная атрибутика: рамки, карта
Login in CityGuide: stark83
Nickname in Zello: volvoclub
Баллы репутации: 96

Re: Кнопки для Тыквы или адaптер CAN шины для Volvo XC90

Сообщение olegel » 13.01.2019, 13:12

oliv2 писал(а):Буду тоже кулибина изображать........если что могу за консультацией обратиться?

Конечно!
olegel
Кандидат
 
Сообщения: 38
Зарегистрирован: 25.04.2016, 17:20
Машина: XC90
Двигатель: 2.5T
Трансмиссия: Auto
Год: 2004
Баллы репутации: 29

Re: Кнопки для Тыквы или адaптер CAN шины для Volvo XC90

Сообщение oliv2 » 13.01.2019, 13:23

С подсветкой кнопок, тоже смотрю поработал! Что вставил, led или как? Если светодиоды то какие ставил, где брал расскажи если не затруднит. И про USB розетки.... тянут ли быструю зарядку и сколько "А" выдают?
заранее спасибо!
oliv2
Участник клуба
 
Сообщения: 70
Зарегистрирован: 26.12.2015, 12:42
Откуда: Саласпилс
Машина: Volvo V70 II
Двигатель: D5244T
Трансмиссия: AW 55-50
Год: 2005
Баллы репутации: 2

Re: Кнопки для Тыквы или адaптер CAN шины для Volvo XC90

Сообщение olegel » 13.01.2019, 14:06

Зарядка обычная, такая https://www.aliexpress.com/item/Dual-USB-Port-Car-Charger-5V-3-1A-Cigarette-Lighter-Socket-Plug-LED-Light-Waterproof-Motorcycle/32860524400.html
Оказалась чуть великовата, пришлось рассверлить чуть. Лучше многоступенчатым сверлом делать.
Токи не тестировал, у меня беспроводная зарядка к ней подключена, ей 1А достаточно.

Да, лампочки заменил на диоды. Правда слишком зеленое все стало. Зато блок климата теперь холодный, его лампы некисло грели.
Брал такие https://www.aliexpress.com/snapshot/0.html?spm=a2g0s.9042647.6.2.4d0b4c4dUVAe1y&orderId=88303080481228&productId=32830594555
Изображение
Заказывал T4.2 Green для климата и T3 Green для кнопок.
olegel
Кандидат
 
Сообщения: 38
Зарегистрирован: 25.04.2016, 17:20
Машина: XC90
Двигатель: 2.5T
Трансмиссия: Auto
Год: 2004
Баллы репутации: 29

Re: Кнопки для Тыквы или адaптер CAN шины для Volvo XC90

Сообщение oliv2 » 13.01.2019, 15:11

olegel писал(а):Да, лампочки заменил на диоды. Правда слишком зеленое все стало. Зато блок климата теперь холодный, его лампы некисло грели.
Брал такие https://www.aliexpress.com/snapshot/0.html?spm=a2g0s.9042647.6.2.4d0b4c4dUVAe1y&orderId=88303080481228&productId=32830594555
Изображение
Заказывал T4.2 Green для климата и T3 Green для кнопок.


Спасибо!
По диодам - я так понимаю, ошибок нет, как с потолочными?
oliv2
Участник клуба
 
Сообщения: 70
Зарегистрирован: 26.12.2015, 12:42
Откуда: Саласпилс
Машина: Volvo V70 II
Двигатель: D5244T
Трансмиссия: AW 55-50
Год: 2005
Баллы репутации: 2

Re: Кнопки для Тыквы или адaптер CAN шины для Volvo XC90

Сообщение olegel » 13.01.2019, 16:01

oliv2 писал(а):По диодам - я так понимаю, ошибок нет, как с потолочными?


Полочные, и багажник машина не видит, соответственно ошибка. Пишут можно резистор 1к поставить параллельно, но я не пробовал.
olegel
Кандидат
 
Сообщения: 38
Зарегистрирован: 25.04.2016, 17:20
Машина: XC90
Двигатель: 2.5T
Трансмиссия: Auto
Год: 2004
Баллы репутации: 29

Re: Кнопки для Тыквы или адaптер CAN шины для Volvo XC90

Сообщение olegel » 13.01.2019, 17:57

Проверил. 3.3кОм резистор говорит машине, что с лампочкой все в порядке. Ошибок нет.
Лечится так(по клику большая картинка):
Изображение
olegel
Кандидат
 
Сообщения: 38
Зарегистрирован: 25.04.2016, 17:20
Машина: XC90
Двигатель: 2.5T
Трансмиссия: Auto
Год: 2004
Баллы репутации: 29

Re: Кнопки для Тыквы или адaптер CAN шины для Volvo XC90

Сообщение oliv2 » 13.01.2019, 20:16

olegel писал(а):Проверил. 3.3кОм резистор говорит машине, что с лампочкой все в порядке. Ошибок нет.
Лечится так(по клику большая картинка):
Изображение

СПАСИБО!!!! С передом все ок. Попробую так с задними и багажником. Диоды "can bus" я покупал на алишке. Но ошибка и остаточное свечение присутствуют.
oliv2
Участник клуба
 
Сообщения: 70
Зарегистрирован: 26.12.2015, 12:42
Откуда: Саласпилс
Машина: Volvo V70 II
Двигатель: D5244T
Трансмиссия: AW 55-50
Год: 2005
Баллы репутации: 2

След.


  • Реклама

Вернуться в Тюнинг, Акссесуары, Автозвук, RTI

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0

  • Реклама
cron