Команды шины can для night vision audi

Команды шины can для night vision audi

Современный автомобиль это не только средство передвижения, но и продвинутый гаджет с мультимедийными функциями и электронной системой управления агрегатами и кучей датчиков. Многие автопроизводители предлагают функции ассистентов движения, помощников при парковке, мониторинга и управления авто с телефона. Это возможно благодаря использованию в авто CAN шины к которой подключены все системы: двигатель, тормозная система, руль, мультимедиа, климат и др.

Мой автомобиль Skoda Octavia 2011 г. в. не предлагает возможностей управления с телефона, поэтому я решил исправить этот недостаток, а заодно и добавить функцию голосового управления. В качестве шлюза между CAN шиной и телефоном я использую Raspberry Pi с шилдом CAN BUS и WiFi роутер TP-Link. Протокол общения агрегатов авто закрытый, и на все мои письма предоставить документацию протокола Volkswagen отвечал отказом. Поэтому единственный способ узнать, как общаются устройства в авто и научиться ими управлять является реверс-инжиниринг протокола CAN шины VW.

  1. Разработка CAN шилда для Raspberry Pi
  2. Установка ПО для работы с CAN шиной
  3. Подключение к CAN шине авто
  4. Разработка сниффера и изучение протокола CAN шины
  5. Разработка приложения для телефона
  6. Голосовое управление с помощью Homekit и Siri

В конце видео голосового управления стеклоподъемником.

Видео:MCP2515, контроллер CAN шины с интерфейсом SPIСкачать

MCP2515, контроллер CAN шины с интерфейсом SPI

Разработка CAN шилда для Raspberry Pi

Схему шилда взял здесь lnxpps.de/rpie, там же и описание выводов, для общения с CAN используются 2 микросхемы MCP2515 и MCP2551. К шилду подключаются 2 провода CAN-High и CAN-Low. В SprintLayout 6 развел плату, может кому пригодится CANBoardRPi.lay (на заглавном фото прототип шилда на макетке).

Команды шины can для night vision audi

Видео:Установка Night Vision или ассистент ночного виденья на Audi Q74M Q8 AUDI-UPGRADE.RUСкачать

Установка Night Vision или ассистент ночного виденья на Audi Q74M Q8 AUDI-UPGRADE.RU

Установка ПО для работы с CAN шиной

На Raspbian 2-x годичной давность мне потребовалось пропатчить bcm2708.c, чтобы добавить поддержку CAN (возможно сейчас это не требуется). Для работы с CAN шиной нужно установить пакет утилит can-utils с github.com/linux-can/can-utils, после этого подгрузить модули и поднять can интерфейс:

Проверяем, что интерфейс CAN поднялся командой ifconfig:

Проверить, что все работает можно отправив команду и получив ее.

В одном терминале слушаем:

В другом терминале отправляем:

Более подробный процесс установки описан здесь lnxpps.de/rpie.

Видео:Установка системы ночного видения (Night Vision) на Audi Q7. Night Vision System Audi.Скачать

Установка системы ночного видения (Night Vision) на Audi Q7. Night Vision System Audi.

Подключение к CAN шине авто

Немного изучив открытую документацию на CAN шину VW я выяснил, что у меня используется 2 шины.

Шина CAN силового агрегата, передающая данные со скоростью 500 кбит/с, связывает все обслуживающие этот агрегат блоки управления.

Например, к шине CAN силового агрегата могут быть подключены следующие приборы:

  • блок управления двигателем,
  • блок управления АБС,
  • блок управления системой курсовой стабилизации,
  • блок управления коробкой передач,
  • блок управления подушками безопасности,
  • комбинация приборов.

Шина CAN системы «Комфорт» и информационнокомандной системы, позволяющая передавать данные со скоростью 100 кбит/с между обслуживающими эти системы блоками управления.

Например, к шине CAN системы «Комфорт» и информационно Исходники приложения управления авто для iOS

Есть способ не писать свое приложение для телефона, а воспользоваться готовым из мира умных домов, всего лишь потребуется установиться на Raspberry Pi систему автоматизации Z-Way командой:

Читайте также: Самая хорошая зимняя шина с шипами

После этого добавляем наши CAN устройства в Z-Way систему автоматизации

И управляем стеклоподъемником как обычным выключателем:

Мобильный приложения для Z-Way: ZWay Home Control и ZWay Control.

Видео:Audi Q7 - Night Vision SystemСкачать

Audi Q7 - Night Vision System

Голосовое управление с помощью Homekit и Siri

В одной из своих статей я описывал процесс установки Homebridge на Raspberry Pi для голосового управления домашней системой автоматизации Z-Way. После установки Homebridge вы получите возможность голосового управления с помощью Siri. Уверен, что для Android есть множество приложений позволяющих голосом отправлять HTTP запросы для управления Z-Way.

Видео голосовогу управления стеклоподъемником прилагаю.

Видео:Калибровка системы ночного видения NVS на Audi Q7 EuropeСкачать

Калибровка системы ночного видения NVS на Audi Q7 Europe

Использование шины CAN: как программно управлять автомобилем

Изменение температуры кондиционера Ford Fusion при помощи команд через шину CAN.

Команды шины can для night vision audi

Автор: Ariel Nuñez
Изменение температуры кондиционера Ford Fusion при помощи команд через шину CAN.
Команды шины can для night vision audi
Рисунок 1: Как при помощи приложения управлять ключевыми функциями автомобиля?
Недавно я вместе со своими друзьями из компании Voyage работал над реализацией программного управления системой кондиционирования в Ford Fusion. На данный момент Voyage занимается разработкой бюджетных самоуправляемых автомобилей. Конечная цель: чтобы каждый смог вызвать автомобиль к своей входной двери и безопасно путешествовать туда, куда вздумается. В компании Voyage считают крайне важной возможностью предоставление доступа к ключевым функциям автомобиля с заднего кресла, поскольку не за горами тот день, когда работа водителя будет полностью автоматизирована.
Зачем нужна шина CAN
Современные автомобили используют множество систем управления, которые во многих случаях функционируют подобно микро-службам в веб-разработке. Например, подушки безопасности, тормозные системы, регулирование скорости движения (круиз контроль), электроусилитель руля, аудиосистемы, управление окнами и дверями, подстройка стекл, системы зарядки для электрических автомобилей и т. д. Эти системы должны уметь осуществлять коммуникацию и считывать параметры друг друга. В 1983 в компании Bosch началась разработка шины CAN (Controller Area Network; Локальная сеть контролеров) для решения этой сложной задачи.
Можно сказать, что шина CAN представляет собой простую сеть, где каждая система автомобиля может считывать и отсылать команды. Эта шина интегрируется все сложные компоненты элегантным образом, что дает возможность реализовать всеми любимые функции автомобиля, которыми мы пользуемся.
Команды шины can для night vision audi
Рисунок 2: Впервые шина CAN стала использоваться в 1988 году в БМВ 8 серии
Самоуправляемые автомобили и шина CAN
Поскольку интерес к разработке самоуправляемых автомобилей серьезно вырос, соответственно, словосочетание «шина CAN» также становится популярным. Почему? Большинство компаний, создающих самоуправляемых автомобилей, не занимаются производством с нуля, а пытаются научиться программно управлять машинами после выхода с конвейера фабрики.
Понимание внутреннего устройства шины CAN, используемой в автомобиле, позволяет инженеру формировать команды при помощи программного обеспечения. Самые нужные команды, как вы можете догадаться, связаны с управлением рулем, ускорением и торможением.

Команды шины can для night vision audi

Рисунок 3: Введение в LIDAR (ключевой сенсор самоуправляемого автомобиля)
При помощи сенсоров наподобие LIDAR (light detecting and ranging; оптическая локационная система) машина способна смотреть на мир как суперчеловек. Затем компьютер внутри автомобиля на базе полученной информации принимает решения и посылается команды в шину CAN для управления рулем, ускорение и торможением.
Не каждый автомобиль способен стать самоуправляемым. И по некоторым причинам компания Voyage выбрала модель Ford Fusion (подробнее о причинах можно почитать в этой статье).
Исследование шины CAN в Ford Fusion
Перед началом исследования систем кондиционирования воздуха в Ford Fusion я открыл мою любимую книгу The Car Hacker’s Handbook. Перед погружением в суть вопроса заглянем в Главу 2, где описываются три важные концепции: протоколы шины, шина CAN и CAN-фреймы.
Шина CAN
Шина CAN начала использоваться в американских легковых машинах и небольших грузовиках с 1994 года и с 2008 года в обязательном порядке (в европейских автомобилях с 2001 года). В этой шине предусмотрено два провода: CAN high (CANH) и CAN low (CANL). Шина CAN использует дифференциальный сигналинг, суть которого заключается в том, что при поступлении сигнала на одном проводе вольтаж повышается, а на другом понижается на одну и ту же величину. Дифференциальный сигналинг используется в средах, которые должны быть малочувствительны к шуму, например, в автомобильных системах или при производстве.

Рисунок 4: Необработанный сигнал шины CAN, отображаемый на осциллографе
С другой стороны, пакеты, передаваемые по шине CAN, не стандартизированы. Каждый пакет содержит 4 ключевых элемента:

  • АрбитражныйID (ArbitrationID) представляет собой широковещательно сообщение, идентифицирующее устройство, которое пытается начать коммуникацию. Любое устройство может отсылать несколько арбитражных ID. Если в единицу времени по шине отсылаются два CAN-пакета, пропускается тот, у которого ниже арбитражный ID.
  • Расширение идентификатора (Identifierextension;IDE) – в случае с шиной CAN стандартной конфигурации этот бит всегда равен 0.
  • Код длины данных (Datalengthcode;DLC) определяет размер данных, который варьируется от 0 до 8 байт.
  • Данные. Максимальный размер данных, переносимых стандартной шиной CAN, может быть до 8 байт. В некоторых системах происходит принудительное дополнение пакета до размера 8 байт.

Читайте также: Шина для точечных светильников

Команды шины can для night vision audi
Рисунок 5: Формат стандартных CAN-пакетов
CAN фреймы
Для того чтобы включить / выключить климатическую систему мы должны найти нужную шину CAN (в автомобиле таких шин несколько). В Ford Fusion есть как минимум 4 задокументированные шины. 3 шины работают на высокой скорости 500 кбит/с (High Speed CAN; HS) и 1 шина на средней скорости 125 кбит/с (Medium Speed CAN; MS).
К порту OBD-II подключено две высокоскоростные шины HS1 и HS2, однако там стоит защита, которая не позволяет подделывать команды. Вместе с Аланом из компании Voyage мы вынули порт OBD-II и нашли места соединения со всеми шинами (HS1, HS2, HS3 и MS). На задней стенке OBD-II все шины подключались к модулю шлюза (Gateway Module).
Команды шины can для night vision audi
Рисунок 6: Homer – первое самоуправляемое такси от компании Voyage
Поскольку климатическая система управляется через медиа-интерфейс (SYNC), нам придется отсылать команды через среднескоростную шину (MS).
Чтение и запись CAN-пакетов осуществляется при помощи драйвера и сетевого стека SocketCAN, созданного исследовательским отделом компании Volkswagen для ядра в Linux.
Мы будем подсоединять три провода от машины (GND, MSCANH, MSCANL) к переходнику Kvaser Leaf Light HSv2 (можно купить за 300$ на Амазоне) или к CANable (продается за 25$ на Tindie) и загружать на компьютере со свежим Linux-ядром шину CAN в качестве сетевого устройства.

После загрузки запускаем команду candump can0 и начинаем отслеживать трафик:

Несмотря на то, что вышеуказанная информация эквивалентна амплитуде звукового сигнала, довольно трудно понять, что происходит, и обнаружить какие-либо закономерности. Нам нужно нечто похожее на частотный анализатор, и такой эквивалент есть в виде утилиты cansniffer. Cansniffer показывает список идентификаторов и позволяет отслеживать изменения в секции данных внутри CAN-фрейма. По мере того как мы будем изучать определенные идентификаторы, мы можем установить фильтр нужных ID, которые имеют отношение к нашей задаче.
На рисунке ниже показан пример информации, снятой при помощи cansniffer с шины MS. Мы отфильтровали все, что имеет отношение к идентификаторам 355, 356 и 358. После нажатия и отпускания кнопок, связанных с подстройкой температуры, в самом конце появляется значение 001C00000000.

Рисунок 7: Информация с шины MS, снятая при помощи утилиты cansniffer
Далее необходимо объединить функционал для управления климатической системой с компьютером, работающим внутри автомобиля. Компьютер работает на операционной системе ROS (Robot Operating System; Операционная система для роботов). Поскольку мы используем SocketCAN, то модуль socketcan_bridge серьезно упрощает задачу по преобразованию CAN-фрейма в блок информации, понимаемый операционной системой ROS.
Ниже показан пример алгоритма декодирования:

Читайте также: Шины корея летние роадстоун

Полученные данные хранятся в CelsiusReport.msg:

После нажатия всех нужных кнопок в машине, у нас появляется следующий список:

Затем эти строки отсылаются на узел под управлением операционной системы ROS и далее происходит трансляция в коды, понимаемые автомобилем:

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

Рисунок 8: Удаленное управление климатической системой автомобиля
Это лишь небольшой шаг при создании самоуправляемого такси вместе со специалистами компании Voyage. Я получил массу положительных эмоций во время работы над этим проектом. Если вы тоже интересуетесь этой темой, можете ознакомиться со списком вакансий в компании Voyage.

  • Свежие записи
    • Нужно ли менять пружины при замене амортизаторов
    • Скрипят амортизаторы на машине что делать
    • Из чего состоит стойка амортизатора передняя
    • Чем стянуть пружину амортизатора без стяжек
    • Для чего нужны амортизаторы в автомобиле
    • Правообладателям
    • Политика конфиденциальности


    💥 Видео

    CAN шина простыми словами на примере Nissan X-TrailСкачать

    CAN шина простыми словами на примере Nissan X-Trail

    Как управлять автомобилем через CAN-шину?Скачать

    Как управлять автомобилем через CAN-шину?

    Установка Night Vision или ассистент ночного виденья на Audi A6C8 , A7C8, Q74M,Q8. AUDI-UPGRADE.RUСкачать

    Установка Night Vision или ассистент ночного виденья на Audi A6C8 , A7C8, Q74M,Q8. AUDI-UPGRADE.RU

    AUDI Q7 - Система ночного видения - Night Vision SystemСкачать

    AUDI Q7 - Система ночного видения - Night Vision System

    Mercedes ночное видение и радарный круиз-контроль, на дальняке. Nightvision+Active radar (dСкачать

    Mercedes ночное видение и радарный круиз-контроль, на дальняке. Nightvision+Active radar  (d

    NightVisionСкачать

    NightVision

    Night Vision или ассистент ночного виденья AUDI Q74M , Q8 , A6C8 , A7C8 , audi-upgrade.ruСкачать

    Night Vision или ассистент ночного виденья AUDI Q74M , Q8 , A6C8 , A7C8 , audi-upgrade.ru

    CAN ШИНА || КАК ПОДКЛЮЧИТСЯ К АВТО? || КАК ОТПРАВЛЯТЬ ПАКЕТЫ? || ЧТО МОЖНО ПРОЧИТАТЬ? || RM3Скачать

    CAN ШИНА || КАК ПОДКЛЮЧИТСЯ К АВТО? || КАК ОТПРАВЛЯТЬ ПАКЕТЫ? || ЧТО МОЖНО ПРОЧИТАТЬ? || RM3

    Ассистент ночного видение на Audi Q7Скачать

    Ассистент ночного видение на Audi Q7

    Audi Q7 new 2 - incredible effect assistant night vision !!! 2Скачать

    Audi Q7 new  2 - incredible effect assistant night vision !!!  2

    Audi Night Vision AssistantСкачать

    Audi Night Vision Assistant

    Audi A8 D4 - Night Vision Assistant + Matrix LEDСкачать

    Audi A8 D4 - Night Vision Assistant + Matrix LED

    Система ночного видения для автомобиля - LanmodoСкачать

    Система ночного видения для автомобиля - Lanmodo

    Audi Q8 - Системы ночного видения - УстановкаСкачать

    Audi Q8 -  Системы ночного видения - Установка

    Вебинар: Как найти любые данные из CAN-шины любого автомобиля?Скачать

    Вебинар: Как найти любые данные из CAN-шины любого автомобиля?
Поделиться или сохранить к себе:
Технарь знаток