Прошивка can шины на Приоре 2 установка альтменю
Панель приборов «Итэлма» с навигацией может быть двух видов (внешне ничем не отличаются):
- 2170-3801010-50 без CAN-шины;
- 2170-3801010-60 с CAN-шины.
Они не взаимозаменяемы, поэтому перед покупкой следует определить, используется ли на вашем автомобиле CAN-шина или нет.
- до 06.2012 года выпускались машины без CAN-шины;
- снять комбинацию приборов и посмотреть артикул или на колодку с проводами (см. распиновку разъемов ниже).
Для Калины (ВАЗ 1117, 1118, 1119) — все машины без CAN-шины.
- Правый подрулевой переключатель с джойстиком (каталожный номер: 1118-3709340-20);
- Антенна (для установки на крышу): 1118-7903074.
Также можно купить готовые комплекты (приборка + антенна + переключатель):
- для Лада Приора — 2170-3801010-55;
- для Лада Калина 1 — 1118-3801010-55.
Что такое CAN шина
CAN-шина – это одно из устройств в электронной автоматике автомобиля, на которое возлагается задача по объединению различных датчиков и процессоров в общую синхронизированную систему. Она обеспечивает сбор и обмен данными, посредством чего в работу различных систем и узлов машины вносятся необходимые корректировки.
Аббревиатура CAN расшифровывается как Controller Area Network, то есть сеть контроллеров. Соответственно, CAN-шина – это устройство, принимающее информацию от устройств и передающее между ними. Данный стандарт был разработан и внедрён более 30 лет назад компанией Robert Bosch GmbH. Сейчас его используются в автомобилестроении, промышленной автоматизации и сфере проектирования объектов, обозначаемых «умными», например, домов.
Установка
Замена старой панели приборов без CAN на щиток с навигацией без CAN (2170-3801010-50) выполняется без доработок. Снимаем старую панель и вместо нее устанавливаем новую, вставляем разъем с проводами, подключаем антенну (закрепляем ее на крыше) и при необходимости меняем правый подрулевый переключатель.
Если старая комбинация приборов без навигации, но с CAN и вместо нее планируется установить новый щиток с навигацией с CAN (2170-3801010-60), тогда нужно переставить контакты 10-11 на 28-29 (если после подключения все равно не работает, меняем 28 и 29 местами).
После установки новой панели приборов пробег обнулится.
Для чего CAN шина в автомобиле
Распространение интерфейса КАН в автомобильной сфере связано с тем, что он выполняет ряд важных функций:
- упрощает алгоритм подсоединения и функционирования дополнительных систем и приборов;
- снижает влияние внешних помех на работу электроники;
- обеспечивает одновременное получение, анализ и передачу информации к устройствам;
- ускоряет передачу сигналов к механизмам, ходовым узлам и иным устройствам;
- уменьшает количество необходимых проводов;
В современном автомобиле цифровая шина обеспечивает работу следующих компонентов и систем:
- центральный монтажный блок и замок зажигания;
- антиблокировочная система;
- двигатель и коробка переключения передач;
- подушки безопасности;
- рулевой механизм;
- датчик поворота руля;
- силовой агрегат;
- электронные блоки для парковки и блокировки дверей;
- датчик давления в колёсах;
- блок управления стеклоочистителями;
- топливный насос высокого давления;
- звуковая система;
- информационно-навигационные модули.
Этот не полный список, так как в него не включаются внешние совместимые приборы, которые тоже можно соединить с шиной. Часто таким образом подключается автомобильная сигнализация. CAN-шина также доступна для подключения внешних устройств для мониторинга рабочих показателей и диагностики на ПК. А при подключении автосигнализации вместе с маяком можно управлять отдельными системами извне, например, со смартфона.
Разработка сниффера и изучение протокола CAN шины
После того как я получил доступ к прослушиванию CAN шины, мне нужно расшифровать кто кому и что передает. Формат пакета CAN показан на рисунке.
Все утилиты из набора can-utils сами умеют разбирать CAN пакеты и отдают только полезную информацию, а именно:
- Идентификатор
- Длина данных
- Данные
Данные передаются в не зашифрованном виде, это облегчило изучение протокола. На Raspberry Pi я написал маленький сервер который перенаправляет данные с candump в TCP/IP, чтобы на компьютере разобрать поток данных и красиво показать их.
Для macOS я написал простое приложение, которое для каждого адреса устройства добавляет ячейку в табличку и в этой ячейке я уже вижу какие данные меняются.
Нажимаю кнопку стеклоподъемника я нашел ячейку в которой меняются данные, затем я и определил какие команды соответствуют нажатию вниз, нажатию вверх, удержанию вверх, удержанию вниз.
Проверить, что команда работает, можно отправив из терминала, например команду поднять левое стекло вверх:
cansend can0 181#0200 Команды, которые передают устройства по CAN шине в автомобилях VAG (Skoda Octavia 2011), полученные методом реверс-инжиниринг: // Front Left Glass Up 181#0200 // Front Left Glass Down 181#0800 // Front Right Glass Up 181#2000 // Front Right Glass Down 181#8000 // Back Left Glass Up 181#0002 // Back Left Glass Down 181#0008 // Back Right Glass Up 181#0020 // Back Right Glass Down 181#0080 // Central Lock Open 291#09AA020000 // Central Lock Close 291#0955040000 // Update Light status of central lock (Когда отправляешь команду открыть/закрыть замок то на кнопке управления замком светодиод не изменяет состояние, чтобы он показал реальное состояние центрального замка, нужно отправить команду обновления) 291#0900000000 Мне было лень изучить все остальные устройства, поэтому в этом списке, только то что мне было интересно.
Разработка CAN шилда для Raspberry Pi
Схему шилда взял здесь lnxpps.de/rpie, там же и описание выводов, для общения с CAN используются 2 микросхемы MCP2515 и MCP2551. К шилду подключаются 2 провода CAN-High и CAN-Low. В SprintLayout 6 развел плату, может кому пригодится CANBoardRPi.lay (на заглавном фото прототип шилда на макетке).
Распиновка щитка приборов Лада Приора/Калина
№ | Подключение КП «Итэлма» с навигацией без CAN | Подключение КП «Итэлма» с навигацией и CAN |
1 | К электроусилителю руля | К электроусилителю руля |
2 | MUTE | MUTE |
3 | К датчику давления масла | Резерв |
4 | Выключатель стояночного тормоза | Выключатель стояночного тормоза |
5 | К блоку управления иммобилайзера (электропакета) | К блоку управления иммобилайзера (электропакета) |
6 | К блоку управления подушкой безопасности | Резерв |
7 | К модулю управления светом (сигнализатор вкл. освещения) | К модулю управления светом (сигнализатор вкл. освещения) |
8 | Переключатель указателя поворота (правая сторона) | Переключатель указателя поворота (правая сторона) |
9 | Переключатель указателя поворота (левая сторона) | Переключатель указателя поворота (левая сторона) |
10 | К блоку системы управления двигателем | Резерв |
11 | AUDIO OUT — «Aк.атареи» | AUDIO OUT — «Aк.атареи» |
12 | К датчику непристегнутых ремней | Резерв |
13 | К блоку ABS (неисправность EBD) | Резерв |
14 | Подрулевой переключатель «Buttons» | Подрулевой переключатель (Влево, ОК) |
15 | Датчик уровня тормозной жидкости | Датчик уровня тормозной жидкости |
16 | К блоку ABS (неисправность ABS) | Резерв |
17 | К выключателю дальнего света фар | К выключателю дальнего света фар |
18 | К модулю управления светом (регулятор освещения шкал) | К модулю управления светом (регулятор освещения шкал) |
19 | Корпус | Корпус |
20 | Клемма «30» АКБ | Клемма «30» АКБ |
21 | Клемма «15» выключателя зажигания | Клемма «15» выключателя зажигания |
22 | К блоку управления (сигнал расхода топлива) | Резерв |
23 | К подрулевому переключателю «UP» | К подрулевому переключателю (вниз, меню) |
24 | К подрулевому переключателю «DOWN» | К подрулевому переключателю (вправо, вверх) |
25 | К радиоприемнику «AUDIO OUT «+» | К радиоприемнику «AUDIO OUT «+» |
26 | К датчику наружной температуры | К датчику наружной температуры |
27 | К датчику уровня топлива | К датчику уровня топлива |
28 | К датчику скорости | CAN-L |
29 | К датчику температуры охл. жидкости | CAN-H |
30 | К блоку упр. двигателем (сигнал тахометра) | Резерв |
31 | Служебная диагностика | Служебная диагностика |
32 | К клемме «L» реле-регулятора генератора | Резерв |
Разъем приборной панели Приора/Калина:
Навигация в панели приборов работает на Windows CE 6.0 вместе с ПО Navitel. Предусмотрено обновление ПО и загрузка навигационных карт с USB-карты через специальный USB вход. Эксплуатация автомобиля станет на много приятней, единственный недостаток — высокая цена.
А вам приходилось ставить на Приору или Калину щиток приборов нового образца с навигацией? Какие трудности у вас возникали в ходе этой доработки? Напомним, на сайте лада.онлайн можно найти другие инструкции по тюнингу и доработке автомобилей Лада Приора или Калина, например, как отрегулировать электронную педаль газа или улучшить тормоза без переделок.
В связи с отсутствием лобового стекла, решил наконец таки установить новую панель. Особых сложностей в установке нету, снял старую, установил новую.
Цена вопроса: 10 000 ₽
Подключение к CAN шине авто
Немного изучив открытую документацию на CAN шину VW я выяснил, что у меня используется 2 шины.
Шина CAN силового агрегата
, передающая данные со скоростью 500 кбит/с, связывает все обслуживающие этот агрегат блоки управления.
Например, к шине CAN силового агрегата могут быть подключены следующие приборы:
- блок управления двигателем,
- блок управления АБС,
- блок управления системой курсовой стабилизации,
- блок управления коробкой передач,
- блок управления подушками безопасности,
- комбинация приборов.
Шина CAN системы «Комфорт» и информационнокомандной системы
, позволяющая передавать данные со скоростью 100 кбит/с между обслуживающими эти системы блоками управления.
Например, к шине CAN системы «Комфорт» и информационно<�командной системы могут быть подключены следующие приборы:
- блок управления системой Climatronic или климатической установкой,
- блоки управления в дверях автомобиля,
- блок управления системой «Комфорт»,
- блок управления с дисплеем для радио и навигационной системы.
Получив доступ к первой можно у управлять движением (в моем варианте на механике, как минимум можно управлять круиз контролем), получив доступ ко второй можно управлять магнитолой, климатом, центральным замком, стеклоподъемниками, фарами и др.
Обе шины связаны через шлюз, который находится в области под рулем, так же к шлюзу подключен диагностический OBD2 разъем, к сожаление через OBD2 разъем нельзя послушать трафик от обеих шин, можно только передать команду и запросить состояние. Я решил, что буду работать только с шиной «Комфорт» и самым удобным местом подключения к шине оказался разъем в водительской двери.
Теперь я могу слушать, все что происходит в CAN шине «Комфорт» и отправлять команды.
Установка ПО для работы с CAN шиной
На Raspbian 2-x годичной давность мне потребовалось пропатчить bcm2708.c, чтобы добавить поддержку CAN (возможно сейчас это не требуется). Для работы с CAN шиной нужно установить пакет утилит can-utils с github.com/linux-can/can-utils, после этого подгрузить модули и поднять can интерфейс: # initialize insmod spi-bcm2708 insmod can insmod can-dev insmod can-raw insmod can-bcm insmod mcp251x # Maerklin Gleisbox (60112 and 60113) uses 250000 # loopback mode for testing ip link set can0 type can bitrate 125000 loopback on ifconfig can0 up Проверяем, что интерфейс CAN поднялся командой ifconfig
:
Проверить, что все работает можно отправив команду и получив ее.
В одном терминале слушаем:
# candump any,0:0,#FFFFFFFF В другом терминале отправляем: [email protected]
Хакаем CAN шину авто для голосового управления
Современный автомобиль это не только средство передвижения, но и продвинутый гаджет с мультимедийными функциями и электронной системой управления агрегатами и кучей датчиков. Многие автопроизводители предлагают функции ассистентов движения, помощников при парковке, мониторинга и управления авто с телефона. Это возможно благодаря использованию в авто CAN шины к которой подключены все системы: двигатель, тормозная система, руль, мультимедиа, климат и др.
Мой автомобиль Skoda Octavia 2011 г. в. не предлагает возможностей управления с телефона, поэтому я решил исправить этот недостаток, а заодно и добавить функцию голосового управления. В качестве шлюза между CAN шиной и телефоном я использую Raspberry Pi с шилдом CAN BUS и WiFi роутер TP-Link. Протокол общения агрегатов авто закрытый, и на все мои письма предоставить документацию протокола Volkswagen отвечал отказом. Поэтому единственный способ узнать, как общаются устройства в авто и научиться ими управлять является реверс-инжиниринг протокола CAN шины VW.
Я действовал поэтапно:
- Разработка CAN шилда для Raspberry Pi
- Установка ПО для работы с CAN шиной
- Подключение к CAN шине авто
- Разработка сниффера и изучение протокола CAN шины
- Разработка приложения для телефона
- Голосовое управление с помощью Homekit и Siri
Разработка CAN шилда для Raspberry Pi
Схему шилда взял здесь lnxpps.de/rpie, там же и описание выводов, для общения с CAN используются 2 микросхемы MCP2515 и MCP2551. К шилду подключаются 2 провода CAN-High и CAN-Low. В SprintLayout 6 развел плату, может кому пригодится CANBoardRPi.lay (на заглавном фото прототип шилда на макетке).
Установка ПО для работы с CAN шиной
На Raspbian 2-x годичной давность мне потребовалось пропатчить bcm2708.c, чтобы добавить поддержку CAN (возможно сейчас это не требуется). Для работы с CAN шиной нужно установить пакет утилит can-utils с github.com/linux-can/can-utils, после этого подгрузить модули и поднять can интерфейс:
Проверяем, что интерфейс CAN поднялся командой ifconfig:
Проверить, что все работает можно отправив команду и получив ее.
В одном терминале слушаем:
В другом терминале отправляем:
Более подробный процесс установки описан здесь lnxpps.de/rpie.
Подключение к CAN шине авто
Немного изучив открытую документацию на CAN шину VW я выяснил, что у меня используется 2 шины.
Шина CAN силового агрегата, передающая данные со скоростью 500 кбит/с, связывает все обслуживающие этот агрегат блоки управления.
Например, к шине CAN силового агрегата могут быть подключены следующие приборы:
- блок управления двигателем,
- блок управления АБС,
- блок управления системой курсовой стабилизации,
- блок управления коробкой передач,
- блок управления подушками безопасности,
- комбинация приборов.
Например, к шине CAN системы «Комфорт» и информационно<командной системы могут быть
подключены следующие приборы:
- блок управления системой Climatronic или климатической установкой,
- блоки управления в дверях автомобиля,
- блок управления системой «Комфорт»,
- блок управления с дисплеем для радио и навигационной системы.
Обе шины связаны через шлюз, который находится в области под рулем, так же к шлюзу подключен диагностический OBD2 разъем, к сожаление через OBD2 разъем нельзя послушать трафик от обеих шин, можно только передать команду и запросить состояние. Я решил, что буду работать только с шиной «Комфорт» и самым удобным местом подключения к шине оказался разъем в водительской двери.
Теперь я могу слушать, все что происходит в CAN шине «Комфорт» и отправлять команды.
Разработка сниффера и изучение протокола CAN шины
После того как я получил доступ к прослушиванию CAN шины, мне нужно расшифровать кто кому и что передает. Формат пакета CAN показан на рисунке.
Все утилиты из набора can-utils сами умеют разбирать CAN пакеты и отдают только полезную информацию, а именно:
- Идентификатор
- Длина данных
- Данные
Для macOS я написал простое приложение, которое для каждого адреса устройства добавляет ячейку в табличку и в этой ячейке я уже вижу какие данные меняются.
Нажимаю кнопку стеклоподъемника я нашел ячейку в которой меняются данные, затем я и определил какие команды соответствуют нажатию вниз, нажатию вверх, удержанию вверх, удержанию вниз.
Проверить, что команда работает, можно отправив из терминала, например команду поднять левое стекло вверх:
Команды, которые передают устройства по CAN шине в автомобилях VAG (Skoda Octavia 2011), полученные методом реверс-инжиниринг:
Мне было лень изучить все остальные устройства, поэтому в этом списке, только то что мне было интересно.
Разработка приложения для телефона
Используя полученные команды я написал приложение для iPhone, которое открывает/закрывает стекла и управляет центральным замком.
На Raspberry Pi я запустил 2 маленьких сервера, первый отправляет данные с candump в TCP/IP, второй принимает команды от iPhone и передает их cansend.
Есть способ не писать свое приложение для телефона, а воспользоваться готовым из мира умных домов, всего лишь потребуется установиться на Raspberry Pi систему автоматизации Z-Way командой:
После этого добавляем наши CAN устройства в Z-Way систему автоматизации
И управляем стеклоподъемником как обычным выключателем:
Мобильный приложения для Z-Way: ZWay Home Control и ZWay Control.
Голосовое управление с помощью Homekit и Siri
В одной из своих статей я описывал процесс установки Homebridge на Raspberry Pi для голосового управления домашней системой автоматизации Z-Way. После установки Homebridge вы получите возможность голосового управления с помощью Siri. Уверен, что для Android есть множество приложений позволяющих голосом отправлять HTTP запросы для управления Z-Way.
Источник https://avto-lover.ru/drugoe/kan-shina-priora-2.html
Источник https://habr.com/ru/post/399043/
Источник
Источник