Меню

Приложения андроид для can шины

Приложения андроид для can шины

Прежде чем задать вопрос, вы можете самостоятельно попытаться найти свою тему на форуме через ПОИСК по ключевым словам либо посетив соответствующий подфорум раздела Автомобильные устройства.

МиниFAQ:
В: Хочу выбрать автомагнитолу на ОС android, помогите в выборе!
О: Помощь в выборе автомагнитол на ОС android — тема

В: Как найти свою тему на форуме? Где найти прошивку? Что у меня за аппарат?
Для автомагнитол Android смотрим СЮДА
Для автомагнитол на ОС WINCE и других платформах смотрим СЮДА

В: Как мне подключить камеру заднего вида? Как подключить кнопки на руле? Куда синий, красный . провод, для чего он нужен?
О: Все ответы в этом посте >>>

В: Как мне запустить автомагнитолу на столе?
О: Красный провод магнитолы ACC скрутить с желтым толстым проводом B+ и на плюс блока питания, черный толстый провод магнитолы GND на минус блока питания.

В: Я разбил тач. Помогите найти замену!
О: Обратитесь в эту тему.

В: Помогите найти распиновку на мою штатную магнитолу!
О: Распиновка на различные авто

TPMS (датчики давления шин): >>>

Видеокамеры для автомобилей: >>>

CanBus-декодер:

  • Распиновка кана Toyota, Nissan — здесь
  • Nissan — здесь
  • Распиновка canbus производителя Raise здесь

В теме нет куратора. По вопросам наполнения шапки обращайтесь к модераторам раздела через кнопку «Жалоба» под сообщениями, на которые необходимо добавить ссылки.

Сообщение отредактировал ES. — 08.11.21, 18:28

Спасибо за ссылку.
То что мой NISSAN работает по протоколу CAN ISO 15765-4 я знаю уже давно.
Вопрос был о том куда подсоедениться в машине чтобы к ГУ подать сигнал с CAN шины автомобиля ,потому что этих контактов в разъёме к ГУ у меня нет.
Или нужна ссылка на электросхемы MAZDA 5 2014г. (после рейсталинга)

Работа практически любой системы TPMS организована двухэтапно:
1. Датчики в колесах общаются с блоком сопряжения с датчиками TPMS (назовем его так для понимания). Это м.б. отдельный блок (для нештатных систем) или, в случае штатной системы авто, например: блок комфорта (BCM). Передача информации от датчиков идет по радиоканалу на частоте 433МГц (340 — для штатов).
2. Полученную с датчиков информацию блок сопряжения с датчиками TPMS передает потребителю (ГУ, приборке и т.п.) для отображения информации. Передача может осуществляться по разным протоколам (в зависимости от того, что выступает потребителем и будет принимать информацию): BT, USB, Wi-Fi, CAN-шина и т.п. И это только транспортный протокол. Внутри него еще м.б. свой протокол (формат) обмена данными. Зависит это исключительно от того, как это программно реализовано в конкретном «блоке TPMS». Потребитель так же умеет принимать только по тем протоколам и форматам данных, которые заложены в его софт и не иначе.

«Андроидная программа TPMS» — это абстрактное понятие. 🙂 Их очень много: дайте запрос «TPMS» в ГуглПлей — увидите.
Все они работают по разному, но все общаются только с «блоком TPMS» (не с датчиками), при этом умеют работать только с совместимыми «блоками TPMS». Нет универсальной программы о которой можно было бы говорить в общем, а не конкретно. Все они заточены на конкретный «блок TPMS» 😉

Штатные системы TPMS — это, как правило, так (упрощенно): Блок комфорта (BCM) принимает информацию с датчиков TPMS в колесах и через CAN-шину передает ее на БК (на приборку) для отображения.

Сообщение отредактировал dmitry_j — 27.03.17, 08:43

В качестве пояснения принципов работы ГУ с информацией Кан-шины авто. 😉

ГУ не работает с CAN-шиной напрямую!

Принцип обмена такой: Кан-шина авто КанБас-декодер процессор MCU процессор Андроид

Как видите — Кан-шина на ГУ не приходит даже на MCU. :yes2:
Несмотря на то, что на некоторых ГУ в распиновках указано CAN+ CAN- или что-то подобное, на самом деле подключать сюда Кан-шину авто бесполезно. Т.к. это контакты последовательной шины UART (Rx, Tx), идущие на MCU, и работать по протоколам CAN он естественно не будет.
Подключать Кан-шину авто надо на контакты Кан-Бас декодера.
Ну и, естественно, не получится подключить Кан-шину к ГУ если у вас нет КанБас-декодера.

В результате, чтобы изменить стандартный обмен, реализованный в софте КанБас-декодера, MCU, приложений Андроида: например считать что-то свое с Кан-шины или передать что-то свое в Кан-шину авто возможно потребуется перелопатить всю цепочку 😉
Поэтому как правило: что уж умеет КанБас-декодер, MCU, Андроид — то и пользуем.

Есть конечно альтернативный вариант для самодельщиков: сделать свой КанБас-декодер и подключить его на USB-порт например. Тогда можно, по идее, написать свою программу на Андроид для обмена с Кан-шиной авто. 😉

Сообщение отредактировал dmitry_j — 27.03.17, 09:08

Машина NISSAN LAFESTA 4 WD 2013 г.с правым рулем сделана на базе MAZDA 5(с левым рулём ).Полный аналог MAZDA только бампера разные.А везде стоит штамп MAZDA.

Читайте также:  Шина виленского или стремена павлика что лучше

Так значит на Can bus адаптер завести сигналы от разьёма OBD?

Так получаеться что на каждое устройство нужен отдельный блок «BCM»?

Сообщение отредактировал soling64 — 27.03.17, 13:52

Добрый день .
Если можно про can bas адаптер подробнее :1)что и как работает
2)где находиться

Источник

Приложения андроид для can шины

Краткое описание:
Наблюдайте за работой Вашего автомобиля в режиме реального времени, считывайте ошибки, стоп-кадры и другие данные диагностики, замеряйте разгон и многое другое!

Описание:
Приложение для диагностики и контроля автомобиля через адаптер ELM327.

Возможности программы:
1) Настраиваемая приборная панель с множеством экранов. Выводите те данные, которые вам нужны в том виде, который вам удобен.
2) Чтение ошибок (быстрое и углубленное).
3) Сброс ошибок (быстрый и углубленный).
4) Наблюдение за результатами самодиагностики ЭБУ.
5) Чтение стоп-кадров (состояние параметров двигателя в момент регистрации ошибки)
6) Проверка готовности автомобиля к тестам экологичности выхлопа.
7) Поддержка всех автомобилей, совместимых со стандартом OBD2 (перейдите по адрес carscanner.info, чтобы получить больше информации).
8) Car Scanner включает в себя заранее настроенные профили подключения для самых разных автомобилей.
Некоторые профили подключения предоставят вам дополнительные возможности (особенно для автомобилей Toyota, Mitsubishi, GM, Opel, Vauxhal, Chevrolet, Nissan, Infinity, Renault, Hyundai, Kia, Mazda).
9) Режим приборной панели можно использовать как проектор на лобовое стекло вашего автомобиля. Получите бесплатно то, что раньше было доступно только премиальным автомобилям!
10) Вы можете производить точные замеры разгона с помощью Car Scanner!
11) Car Scanner умеет записывать отображаемые данные для последующего анализа.
12) Car Scanner может следить за расходом топлива и вести подробную статистику расхода топлива и трат на топливо.
13) Кодирование автомобилей VAG на платформах MQB и PQ26 и MLB-EVO. Так как поступает очень много вопросов, подчеркиваю: в данный момент поддерживаются ТОЛЬКО АВТОМОБИЛИ НА ПЛАТФОРМАХ MQB и PQ26. Другие марки и платформы пока что не поддерживаются. Пожалуйста, не надо спрашивать у меня «а когда будет ххх?». Я не знаю. Будет тогда, когда будет готово.

ПОЖАЛУЙСТА, ОБРАТИТЕ ВНИМАНИЕ: список отображаемых параметров различен для каждого автомобиля и на 100% зависит не от программы Car Scanner, а от блока управления автомобилем.

Для работы программы необходим адаптер, совместимый с ELM327.

PS. А теперь неофициальная часть 🙂
Это мое первое приложение для Android, но сначала Car Scanner вышел на платформе Windows Phone и набрал там очень неплохую популярность (довольно много загрузок на «мертвой» платформе + рейтинг 4.7 из 5), потом для iOS, где тоже имеет некоторый успех (рейтинг 4.6 из 5) так что я надеюсь, что программа понравится и Вам. Я всегда открыт для общения и новых предложений, так что если у вас есть замечания, предложения, пожелания или дополнения — милости прошу.
В приложении есть встроенные покупки, но большая всего функционала доступно бесплатно.

Требуется Android: 5.0 и выше
Русский интерфейс: Да

Google Play: https://play.google.com/store/apps/details?id=com.ovz.carscanner
ВНИМАНИЕ! Я РЕКОМЕНДУЮ СКАЧИВАТЬ ПРИЛОЖЕНИЕ ИМЕННО ИЗ GOOGLE PLAY! GOOGLE PLAY САМ ВЫБЕРЕТ НАИБОЛЕЕ ПОДХОДЯЩИЙ ВАРИАНТ ДЛЯ ВАШЕГО ТЕЛЕФОНА.
Huawei AppGallery (для владельцев Huawei/Honor без сервисов Google): https://appgallery.cloud.huawei.com/ag/n/app/C102007367

Бета-тестирование для доступа к еще не опубликованным версиям программы: https://play.google.co…ing/com.ovz.carscanner

Скачать:
версия 1.86.4
com.ovz.carscanner-armeabi-v7a.apk ( 87.79 МБ )

бета версия 1.86.5
com.ovz.carscanner-armeabi-v7a.apk ( 87.82 МБ )

Редактор пидов в формате CSP: CarScannerPidEditorV2.zip ( 472.54 КБ )

Редактор кодировок (для версий 1.76.0 и выше): CarScannerPublicCodingEditor_v0.2.zip ( 264.06 КБ )

В случае возникновения каких-либо проблем с программой:
1) Cвяжитесь с разработчиком по электронной почте из программы: Настройки (шестеренка в правом верхнем углу) — Связаться с разработчиком. Android может спросить какую программу использовать, надо выбрать ваш почтовый клиент. Рекомендуется выбирать стандартный клиент GMail. В созданном письме ничего не удаляйте, просто опишите свою проблему и укажите параметры автомобиля.
2) В личные сообщения напишите мне ваш адрес электронной почты, с которого вы отправили письмо, чтобы ваше письмо не потерялось.

Сообщение отредактировал 0vZ — 21.11.21, 18:46

Источник

Хакаем CAN шину авто. Мобильное приложение вместо панели приборов

Я продолжаю изучать CAN шину авто. В предыдущих статьях я голосом открывал окна в машине и собирал виртуальную панель приборов на RPi. Теперь я разрабатываю мобильное приложение VAG Virtual Cockpit, которое должно полностью заменить приборную панель любой модели VW/Audi/Skoda/Seat. Работает оно так: телефон подключается к ELM327 адаптеру по Wi-Fi или Bluetooth и отправляет диагностические запросы в CAN шину, в ответ получает информацию о датчиках.

По ходу разработки мобильного приложения пришлось узнать, что разные электронные блоки управления (двигателя, трансмиссии, приборной панели и др.) подключенные к CAN шине могут использовать разные протоколы для диагностики, а именно UDS и KWP2000 в обертке из VW Transport Protocol 2.0.

Читайте также:  Что выделяется при горении шин

Программный сниффер VCDS

Чтобы узнать по какому протоколу общаются электронные блоки я использовал специальную версию VCDS с программным сниффером в комплекте. В этот раз никаких железных снифферов на Arduino или RPi не пришлось изобретать. С помощью CAN-Sniffer можно подсмотреть общение между VCDS и автомобилем, чтобы затем телефон мог прикинуться диагностической утилитой и отправлять те же самые запросы.

Я собрал некоторую статистику по использованию диагностических протоколов на разных моделях автомобилей:

VW/Skoda/Seat (2006-2012) — приборная панель UDS. Двигатель и трансмиссия VW TP 2.0

Audi (2006-2012) — приборная панель VW TP 2.0. Двигатель UDS. Трансмиссия VW TP 2.0

VW/Skoda/Seat/Audi (2012-2021) — везде UDS

Протокол UDS

Unified Diagnostic Services (UDS) — это диагностический протокол, используемый в электронных блоках управления (ЭБУ) автомобильной электроники. Протокол описан в стандарте ISO 14229-1 и является производным от стандарта ISO 14230-3 (KWP2000) и ныне устаревшего стандарта ISO 15765-3 (Diagnostic Communication over Controller Area Network (DoCAN)). Более подробно в википедии.

Диагностические данные от двигателя по протоколу UDS (Skoda Octavia A7)

В моей машине (Skoda Octavia A5) приборка использует UDS протокол, это дало мне легкий старт разработки, т.к. данные были в простом формате Single Frame SF (фрейм, вся информация которого умещается в один CAN пакет) и большинство значений легко поддавались расшифровке. Volkswagen не дает документацию на формат значений, поэтому формулу расшифровки для каждого датчика приходилось подбирать методом логического мышления. Про UDS протокол очень хорошо и с подробным разбором фреймов написано на canhacker.ru.

Разбор UDS пакета в формате Single Frame

Пример запроса и ответа температуры моторного масла:

Запрос температуры моторного масла:

7E0 — Адрес назначения (ЭБУ двигателя)

Байт 0 (0x03) — Размер данных (3 байта)

Байт 1 (0x22) — SID идентификатор сервиса (запрос текущих параметров)

Байт 2, 3 (0x11 0xBD) — PID идентификатор параметра (температура моторного масла)

Байт 4, 5, 6, 7 (0x55) — Заполнитель до 8 байт

Ответ температуры моторного масла:

7E8 — Адрес источника (Диагностический прибор)

Байт 0 (0x05) — Размер данных (5 байт)

Байт 1 (0x62) — Положительный ответ, такой SID существует. 0x22 + 0x40 = 0x62. (0x7F) — отрицательный ответ

Байт 2, 3 (0x11 0xBD) — PID идентификатор параметра (температура моторного масла)

Байт 4, 5 (0x0B 0x74) — значение температуры моторного масла (20.1 °C формулу пока что не смог подобрать)

Байт 6, 7 (0x55) — Заполнитель до 8 байт

Первая версия мобильного приложения VAG Virtual Cockpit умела подключаться только к приборной панели по UDS.

VAG Virtual Cockpit — экран с данными от приборной панели по протоколу UDS

VW Transport Protocol 2.0

Volkswagen Transport Protocol 2.0 используется в качестве транспортного уровня, а данные передаются в формате KWP2000. Keyword Protocol 2000 — это протокол для бортовой диагностики автомобиля стандартизированный как ISO 14230. Прикладной уровень описан в стандарте ISO 14230-3. Более подробно в википедии.

Т.к. KWP2000 использует сообщения переменной длины, а CAN шина позволяет передавать сообщения не больше 8 байт, то VW TP 2.0 разбивает длинное сообщение KWP2000 на части при отправке по CAN шине и собирает заново при получении.

Диагностические данные от двигателя по протоколу KWP2000 (Skoda Octavia A5)

ЭБУ двигателя моей машины использует протокол VW TP 2.0, поэтому мне пришлось изучить его. Видимо Volkswagen разрабатывала транспортный протокол не только для работы по надежной CAN шине, но и для менее надежных линий связи, иначе нет объяснения для чего требуется такая избыточная проверка целостности данных. Главным источником информации по VW TP 2.0 является сайт https://jazdw.net/tp20.

Разбор протокола VW TP 2.0 на примере подключения к первой группе двигателя:

Настраиваем канал с двигателем. Байт 0: 0x01 — двигатель, 0x02 — трансмиссия. Байт 5,4: 0x300 — адрес источника

Получили положительный ответ. Байт 5,4: 0x740 — к двигателю обращаемся по этому адресу

Настраиваем ЭБУ на отправку сразу 16 пакетов и выставляем временные параметры

Получили положительный ответ

Отправляем команду KWP2000 startDiagnosticSession. Байт 0: 0x10 = 0b0001 — последняя строка данных + 0x0 счетчик отправляемых пакетов 0 (0x0 — 0xF)

Получили положительный ответ. Байт 0: 0x10 — cчетчик принимаемых пакетов 0

Мы отправили первый ACK, что получили ответ

Делаем запрос. Байт 0: 0x11 — счетчик отправляемых пакетов 1. Байт 3: 0x21 — запрос параметров. Байт 4: 0x01 — из группы 1

300 22 00 1A 61 01 01 C8 13

Байт 0: 0x22 — 0b0010 (не последняя строка данных) + 0x02 (cчетчик принимаемых пакетов 2). Байт 1,2: 0x00 0x1A длина 26 байт. Байт 3,4: 0x61 0x01 — положительный ответ на команду запроса параметров 0x21+0x40=0x61 из 0x1 группы. Байт 5: 0х01 — Запрос RPM (соответсвует протоколу KW1281). Байт 6,7: (0xC8 * 0x13)/5 = 760 RPM (формула соответствует протоколу KW1281)

Читайте также:  Как вставить золотник в диск для бескамерной шины

300 23 05 0A 99 14 32 86 10

Байт 1: 0x05 — запрос ОЖ. Байт 2,3: (0x0A * 0x99)/26 = 57.0 C. Байт 4: 0x14 = запрос лямбда контроль %. Байт 5,6: 0x32*0x86; Байт 7: 0х10 — двоичная настройка

300 24 FF BE 25 00 00 25 00

0x25 0x00 x00 — Заполнитель, до 8 параметров

300 15 00 25 00 00 25 00 00

Байт 0: 0x15 — 0b0001 (последняя строка данных) + 0x5 (счетчик принимаемых пакетов 5)

Отправляем ACK. Прибывляем к нашему предыдущему ACK количество полученных пакетов 0xB1 + 0x4 = 0xB5

Запрос KeepAlive, что мы еще на связи

ЭБУ в ответ тоже разрывает связь

Во второй версии мобильного приложения VAG Virtual Cockpit появилась возможность диагностировать двигатель и трансмиссию по протоколу VW TP 2.0.

VAG Virtual Cockpit — экран с данными от двигателя по протоколу VW TP 2.0

Диагностический адаптер ELM327

Для меня некоторое время было вопросом, как получить данные из CAN шины и передать на телефон. Можно было бы разработать собственный шлюз с Wi-Fi или Bluetooth, как это делают производители сигнализаций, например Starline. Но изучив документацию на популярный автомобильный сканер ELM327 понял, что его можно настроить с помощью AT команд на доступ к CAN шине.

Копия диагностического сканера ELM327 Не все ELM327 одинаково полезны

Оригинальный ELM327 от компании elmelectronics стоит порядка 50$, в России я таких не встречал в продаже. У нас продаются только китайские копии/подделки, разного качества и цены 10-30$. Бывают полноценные копии, которые поддерживают все протоколы, а бывают и те которые умеют отвечать только на несколько команд, остальные игнорируют, такие адаптеры не имеют доступ к CAN шине. Я например пользуюсь копией Viecar BLE 4.0, который поддерживает 100% всех функций оригинала.

Для работы с протоколом UDS через ELM327 нужно указать адреса назначения, источника и разрешить длинные 8 байтные сообщения, по умолчанию пропускается максимум 7 байт.

Последовательность ELM327 AT команд для работы с UDS по CAN шине:

Для работы с протоколом KWP2000 через ELM327 нужно только указать адреса назначения и источника.

Последовательность ELM327 AT команд для работы с VW TP 2.0 по CAN шине:

Мобильное приложение VAG Virtual Cockpit

Для разработки мобильного приложения подключаемого к автомобилю требовалось:

Сниффером собрать трафик от диагностической утилиты VCDS

Изучить работу протоколов UDS, VW TP 2.0, KWP2000

Настроить диагностический сканер ELM327 на работу с UDS и VW TP 2.0

Изучить новый для меня язык программирования Swift

Мобильное приложение VAG Virtual Cockpit для iOS

В итоге получилось приложение, которое сочетает в себе функции отображения точных данных панели приборов и диагностика основных параметров двигателя и трансмиссии.

Пару слов про точность данных. Штатная панель приборов не точно показывает скорость — завышает показания на 5-10 км/ч, стрелка охлаждающей жидкости всегда на 90 °C, хотя реальная температура может быть 80 — 110 °C, стрелка уровня топлива до середины идет медленно, хотя топлива уже меньше половины и при нуле на самом деле топливо еще есть в баке. Производитель это делает для удобства и безопасности водителя.

На данный момент приложение показывает следующие параметры:

Приборная панель

Трансмиссия (температура)

1) Какая дверь открыта
2) Скорость
3) Обороты
4) Температура масла
5) Температура ОЖ
6) Топливо в баке в л.
7) Запас хода в км.
8) Средний расход
9) Время в машине
10) Пробег
11) Температура за бортом

1) Обороты
2) Массовый расход воздуха
3) Температура забора воздуха
4) Температура выхлопа (рассчитанная)
5) Критический уровень масла
6) Уровень масла
7) Наддув турбины (реальный)
8) Наддув турбины (ожидаемый)
9) Пропуски зажигания в цилиндрах
10) Углы откатов зажигания в цилиндрах

1) ATF AISIN (G93)
2) DSG6 (G93)
3) Блок управления DSG6 (G510)
4) Масло диска сцепления DSG6 (G509)
5) Мехатроник DSG7 (G510)
6) Процессор DSG7
7) Диск сцепления DSG7

Я стремлюсь чтобы приложение поддерживало как можно больше моделей автомобилей. Пока что поддерживаются производители: Volkswagen, Skoda, Seat, Audi. На разных комплектациях могут отображаться не все параметры, но это поправимо.

Сейчас я провожу тестирование версии 3.0. Приложение доступно только на iOS, после релиза 3.0 перейду к разработке версии для Android.

Если интересно потестировать и есть желание принять участие в проекте, то установить приложение можно по ссылке. Также я веду бортжурнал на drive2.ru, где делюсь полезной информацией и новостями о VAG Virtual Cockpit.

Источник

Adblock
detector