Программы для canbus android
Обновлено: 20.11.2024
Эта фиксация не принадлежит ни к одной из веток в этом репозитории и может принадлежать ответвлению за пределами репозитория.
Последняя фиксация
Статистика Git
Файлы
Не удалось загрузить последнюю информацию о коммите.
README.first
Инструменты CAN BUS в Python 3.
-
, KCD, SYM, ARXML 3&4 и анализ файлов CDD.
- Кодирование и декодирование сообщений CAN.
- Простое и расширенное мультиплексирование сигналов.
- Диагностическое кодирование и декодирование DID.
- выходной декодер candump.
- Тестер узла.
- Генератор исходного кода C.
- Мониторинг шины CAN.
- Графические графики сигналов.
Пример начинается с разбора небольшого файла DBC и вывода его сообщений и сигналов.
В примере продолжается кодирование сообщения и отправка его по шине CAN с помощью пакета python-can.
В качестве альтернативы сообщение можно закодировать с помощью метода encode_message() объекта базы данных.
Последняя часть примера получает и декодирует сообщение CAN.
Дополнительные примеры см. в примерах.
Инструмент командной строки
Подкоманда декодирования
Декодируйте кадры CAN, захваченные программой candump для Linux.
В качестве альтернативы расшифрованное сообщение можно напечатать в одной строке:
Подкоманда plot
Подкоманда plot аналогична подкоманде decode, но сообщения визуализируются с помощью библиотеки matplotlib, а не выводятся на стандартный вывод.
Если вы не хотите показывать все сигналы, вы можете выбрать нужные сигналы с помощью аргументов командной строки. * может обозначать любое количество любых символов, а ? ровно для одного произвольного символа. Сигналы, разделенные символом -, отображаются на отдельных подграфиках. При желании формат можно указать после сигнала, разделенного двоеточием.
Сигналы с разными диапазонами значений могут отображаться на одном и том же подграфике на разных вертикальных осях, разделяя их запятой.
Matplotlib поставляется с различными предустановленными стилями, которые вы можете использовать:
Вы можете попробовать все доступные стили
Дополнительную информацию см.
Обратите внимание, что по умолчанию matplotlib не устанавливается вместе с cantools. Но можно, указав при установке доп:
Подкоманда дампа
Дамп данной базы данных в удобочитаемом формате:
Подкоманда списка
Печатать всю информацию о данной базе данных в удобочитаемом формате. Это очень похоже на подкоманду "dump", но вывод менее красивый, немного более полный и его легче анализировать сценариями оболочки:
Подкоманда генерации исходного кода C
Сгенерировать исходный код C из заданной базы данных.
Сгенерированный код содержит:
- Структуры сообщений.
- Функции упаковки и распаковки сообщений.
- Функции кодирования и декодирования сигнала.
- Определяет идентификатор кадра, длину, тип, время цикла и выбор сигнала.
- Максимальный размер сигнала – 64 бита, который на практике никогда не превышается.
Ниже приведен пример создания исходного кода C из базы данных. База данных — тесты/файлы/dbc/motohawk.dbc .
Содержимое созданных файлов см. на motohawk.h и motohawk.c.
В этом примере мы используем --use-float, поэтому числа с плавающей запятой в сгенерированном коде имеют одинарную точность ( float ), а не двойную точность ( double ).
В следующем примере мы используем --database-name, чтобы установить пользовательское пространство имен для всех сгенерированных типов, определений и функций. Эта опция также изменяет имена выходных файлов.
См. my_database_name.h и my_database_name.c для ознакомления с содержимым сгенерированных файлов.
В последнем примере мы используем --no-floating-point-numbers для генерации кода без типов с плавающей запятой, т. е. float и double .
Другие генераторы кода C:
Подкоманда монитора
Отслеживайте трафик шины CAN в текстовом пользовательском интерфейсе.
Меню в нижней части монитора показывает доступные команды.
- Выход: выход из монитора. Также можно использовать Ctrl-C.
- Фильтр: отображать только сообщения, соответствующие заданному регулярному выражению. Нажмите, чтобы вернуться в меню из строки ввода фильтра.
- Воспроизведение/пауза: переключение между воспроизведением и паузой (или запуском и остановкой).
- Сброс: сброс монитора в исходное состояние.
Разветвить репозиторий.
Внедрить новую функцию или исправить ошибку.
Внедрите тестовые примеры, чтобы гарантировать, что будущие изменения не нарушат устаревшее.
RND_ASH интегрировал головное устройство Android в шину CAN своего Mercedes, чтобы контролировать все системы автомобиля и считывать их данные.
Стандартное головное стереоустройство в большинстве старых автомобилей представляло собой отдельное устройство, которое не взаимодействовало ни с чем другим в автомобиле. Это позволило очень легко заменить стереосистему, не затрагивая остальную часть автомобиля. Но новые автомобили часто имеют информационно-развлекательные системы, тесно интегрированные с остальной электроникой автомобиля. Например, информационно-развлекательный экран вашего автомобиля может содержать элементы управления системой климат-контроля. На рулевом колесе также могут быть кнопки для управления музыкой. Это означает, что установка вторичной стереосистемы может повлиять на многие другие функции. Чтобы обойти это, RND_ASH интегрировал головное устройство Android в шину CAN своего старого Mercedes .
Все современные автомобили оснащены шиной локальной сети контроллеров (CAN), которая позволяет всем различным электронным системам автомобиля взаимодействовать друг с другом. Как правило, все, от блока управления двигателем до управления стеклоподъемниками, подключено к шине CAN. В более старой машине ваши поворотники, вероятно, были подключены непосредственно к подрулевому переключателю через реле. Сегодня выключатель на складе может быть просто частью CAN-шины, которая затем отправляет сообщение о включении индикатора. Если вы можете подключиться к этой CAN-шине и понять протокол обмена сообщениями, вы сможете читать данные, отправляемые между системами, а также вводить свои собственные команды.
В этом случае RND_ASH одновременно считывает и отправляет данные по шине CAN. Его головное устройство Android обычно не способно на это, поэтому он подключил Arduino Uno к паре экранов CAN-шины. После много программирования он смог успешно читать сообщения с шины CAN. Затем он разработал специальный интерфейс для головного устройства Android для отображения этих данных. Например, он может отображать текущую температуру двигателя, обороты, расход топлива, настройки климат-контроля и даже положение окон.
Для управления системами автомобиля через головное устройство Android требовалось вводить сообщения в шину CAN. Во-первых, RND_ASH пришлось проделать большой обратный инжиниринг, чтобы расшифровать способ кодирования сообщений. Затем он смог отправлять свои собственные сообщения через этот экран Arduino и шины CAN. Это дало ему полный контроль над каждой системой, подключенной к шине CAN автомобиля. Например, он создал «световое шоу», включив и выключив внешнее освещение по шаблону. Последним шагом стала интеграция элементов управления мультимедиа на рулевом колесе и экрана состояния в центре приборной панели. Раньше этот экран даже не работал, а теперь, после всего этого взлома, он может показывать на дисплее все, что хочет. Специфика будет сильно различаться в зависимости от конкретной модели автомобиля, но работа RND_ASH — отличный пример того, что вы можете делать с шиной CAN.
Я сразу к делу. У меня есть VW Golf MK5 и Pumpkin MTCC/B HU с подключенным кабелем canbus.
Есть приложение Vehicle, которое предоставляет довольно интересную информацию о бензобаке, оборотах в минуту и т. д. Вся эта информация предоставляется декодером canbus.
Я подумал, что если эту информацию можно будет предоставить, может появиться приложение с интересными функциями, такими как анимированные датчики и т. д.
Возможно, вы знаете какие-то приложения для этого, поэтому я и спрашиваю. Я был бы очень заинтересован в них, как и, вероятно, многие люди (даже если они еще не знают об этом), так что заранее спасибо.
Хорошего дня
ПС. Нет подключения ODB2, только кабель Canbus (тот, который можно использовать с кнопками на рулевом колесе)
ЛейзДК
Старший участник
Здравствуйте, дорогие друзья,
Я сразу к делу. У меня есть VW Golf MK5 и Pumpkin MTCC/B HU с подключенным кабелем canbus.
Есть приложение Vehicle, которое предоставляет довольно интересную информацию о бензобаке, оборотах в минуту и т. д. Вся эта информация предоставляется декодером canbus.
Я подумал, что если эту информацию можно будет предоставить, может появиться приложение с интересными функциями, такими как анимированные датчики и т. д.
Возможно, вы знаете какие-то приложения для этого, поэтому я и спрашиваю. Я был бы очень заинтересован в них, как и, вероятно, многие люди (даже если они еще не знают об этом), так что заранее спасибо.
Хорошего дня
ПС. Нет подключения ODB2, только кабель Canbus (тот, который можно использовать с кнопками на рулевом колесе)
двоичный1
Старший участник
Вам нужен адаптер odb2 (Bluetooth или Wi-Fi), подключенный к порту odb2 вашего автомобиля, после чего вы можете использовать такие приложения, как крутящий момент, чтобы передавать данные о двигателе в режиме реального времени с помощью циферблатов. Если у вас есть передняя камера, вы можете использовать caroo pro, которая также предоставляет данные в режиме реального времени, а также запись с диска.
Отправлено с моего HTC One M9 с помощью Tapatalk
Зафод-Библброкс
Старший участник
Здравствуйте, дорогие друзья,
Я сразу к делу. У меня есть VW Golf MK5 и Pumpkin MTCC/B HU с подключенным кабелем canbus.
Есть приложение Vehicle, которое предоставляет довольно интересную информацию о бензобаке, оборотах в минуту и т. д. Вся эта информация предоставляется декодером canbus.
Я подумал, что если эту информацию можно будет предоставить, может появиться приложение с интересными функциями, такими как анимированные датчики и т. д.
Возможно, вы знаете какие-то приложения для этого, поэтому я и спрашиваю. Я был бы очень заинтересован в них, как и, вероятно, многие люди (даже если они еще не знают об этом), так что заранее спасибо.
Хорошего дня
ПС. Нет подключения ODB2, только кабель Canbus (тот, который можно использовать с кнопками на рулевом колесе)
Я не знаком с этим конкретным устройством, но одной из наиболее общих частей архитектуры для всех этих Android-радиостанций является использование платы MCU для управления вещами, внешними по отношению к Android-боксу (например, блоком питания, резервной камерой и т. д.). аналоговое радио, bluetooth HFP и т. д.). Эти элементы на самом деле не «видимы» для системы Android каким-либо «нормальным» способом.
Приставка Android взаимодействует с MCU посредством модификаций ядра (как правило, некоторого типа виртуального последовательного порта/канала) и через «родные» приложения на головном устройстве. К сожалению, ни один из производителей не открыл свой код, поэтому, кроме взлома smali, вы вряд ли получите доступ к чему-либо из этого.
И даже если вы вытащите APK-файл с этой функцией, он не будет работать ни на одном другом радио, кроме вселенной MTC.
Мати1231
Член
Конечно. Он во вложении.
Я не знаком с этим конкретным устройством, но одной из наиболее общих частей архитектуры для всех этих Android-радиостанций является использование платы MCU для управления вещами, внешними по отношению к Android-боксу (например, блоком питания, резервной камерой и т. д.). аналоговое радио, bluetooth HFP и т. д.). Эти элементы на самом деле не «видимы» для системы Android каким-либо «нормальным» способом.
Приставка Android взаимодействует с MCU посредством модификаций ядра (как правило, некоторого типа виртуального последовательного порта/канала) и через «родные» приложения на головном устройстве. К сожалению, ни один из производителей не открыл свой код, поэтому, кроме взлома smali, вы вряд ли получите доступ к чему-либо из этого.
И даже если вы вытащите APK-файл с этой функцией, он не будет работать ни на одном другом радио, кроме вселенной MTC.
Это точно. Тем не менее, могут быть еще приложения, которые общаются с этими сигналами. Это было моим настоящим желанием найти их.
Но если моя просьба выглядит безнадежной, я хочу поблагодарить вас за ответы.
Вложения
Кирттттт
Старший участник
Хотелось бы это знать! Я хочу считать пробег и уровень масла и отправить их в веб-интерфейс.
Кирттттт
Старший участник
Я сам поискал. Я попытался считать последовательные порты с помощью Busybox Microcom.
Я получил этот текст. В этот журнал добавляется около 10 строк в секунду:
Я не смог найти свой пробег или что-то полезное. Кто-нибудь знает, что делать с этим кодом? Может он закодирован?
Кирттттт
Старший участник
Хорошо, нужно расшифровать это. Похоже, это необработанные данные GPS. Так что это не ttyS3. Что бы это могло быть?
В журнале Dmesg есть несколько строк, говорящих о CAN. Может ли это быть?
[ 5917.664861] --mtc @@@ f 101700
[ 5917.725016] -mtc can --> 2e 41 02 01 a0 1b
[ 5917.741483] --mtc @@@ seek_chk 184 20
[ 5917.761485] --mtc @@@ seek_chk 184 20
[ 5917.781570] --mtc @@@ seek_chk 184 20
[ 5917.801476] --mtc @@@ seek_chk 184 20
[ 5917.821748] --mtc @@@ seek_chk 183 19
[ 5917.841474] --mtc @@@ seek_chk 184 20
[ 5917.844962] -mtc can --> 2e 24 02 00 00 d9< /p>
мигелито62
Член
Последовательный интерфейс, используемый для интеграции CAN, — ttyV0. По крайней мере, на моем устройстве MTCD - sofia3gr_car_64 (имхо на базе процессора Intel).
Я также заинтересован в сопряжении шины CAN со встроенным интерфейсом CAN головного устройства. Поскольку это позволяет интегрировать все виды приложений, визуализирующих данные об автомобиле. Поскольку я здесь новичок, я не могу сейчас создать специальную ветку для разработчиков - возможно, позже
Анализ системного приложения MTCCanbus моего устройства показал, что оно открывает ttyV0 со скоростью 38,4 кБод. Очевидно, для связи с аппаратным уровнем CAN (реализованным в MCU).
Следующий шаг – прослушивание этого порта на наличие протокола интерфейса между ЦП (Android) и MCU (насколько я где-то узнал, MCU является производным от 8051?).
Мне интересно, соответствует ли интерпретация CANopen, т.е. какие идентификаторы COB, какой функциональности находится в MCU или в ЦП:
Это либо MCU должен знать все, что зависит от транспортного средства (потому что все COB ни в коем случае не стандартизированы среди производителей!) и сообщает ЦП уже метаинформацию, такую как «Условие ВОЗДУХА установлено на 21 градус C» через последовательный интерфейс.
ИЛИ MCU собирает только кадры CAN и пересылает их в ЦП через последовательный интерфейс. И ЦП выполняет интерпретацию в зависимости от транспортного средства.
Во втором случае мы могли бы легко реализовать все виды пользовательских вещей. Например: мне особенно интересно отображать информацию об оригинальном радио, поскольку мое головное устройство Android заменяет только оригинальный ЖК-дисплей, тогда как оригинальное радио остается в автомобиле.
В первом случае мы зависим от реализации MCU, т. е. какие сообщения CAN (идентификаторы) отфильтровываются MCU, а какие передаются ЦП.
Но из очень краткого взгляда на реализацию приложения CANBus у меня возникло ощущение, что MCU делает все, что зависит от транспортного средства..
калуна
Член
Интеграция с CAN
Последовательный интерфейс, используемый для интеграции CAN, — ttyV0. По крайней мере, на моем устройстве MTCD - sofia3gr_car_64 (имхо на базе процессора Intel).
Я также заинтересован в сопряжении шины CAN со встроенным интерфейсом CAN головного устройства. Поскольку это позволяет интегрировать все виды приложений, визуализирующих данные об автомобиле. Поскольку я здесь новичок, я не могу сейчас создать специальную ветку для разработчиков - возможно, позже
Анализ системного приложения MTCCanbus моего устройства показал, что оно открывает ttyV0 со скоростью 38,4 кБод. Очевидно, для связи с аппаратным уровнем CAN (реализованным в MCU).
Следующий шаг – прослушивание этого порта на наличие протокола интерфейса между ЦП (Android) и MCU (насколько я где-то узнал, MCU является производным от 8051?).
Мне интересно, соответствует ли интерпретация CANopen, т.е. какие идентификаторы COB, какой функциональности находится в MCU или в ЦП:
Это либо MCU должен знать все, что зависит от транспортного средства (потому что все COB ни в коем случае не стандартизированы среди производителей!) и сообщает ЦП уже метаинформацию, такую как «Условие ВОЗДУХА установлено на 21 градус C» через последовательный интерфейс.
ИЛИ MCU собирает только кадры CAN и пересылает их в ЦП через последовательный интерфейс. И ЦП выполняет интерпретацию в зависимости от транспортного средства.
Во втором случае мы могли бы легко реализовать все виды пользовательских вещей. Например: мне особенно интересно отображать информацию об оригинальном радио, поскольку мое головное устройство Android заменяет только оригинальный ЖК-дисплей, тогда как оригинальное радио остается в автомобиле.
В первом случае мы зависим от реализации MCU, т. е. какие сообщения CAN (идентификаторы) отфильтровываются MCU, а какие передаются ЦП.
Но из очень краткого взгляда на реализацию приложения CANBus у меня возникло ощущение, что MCU делает все, что зависит от транспортного средства..
Я надеюсь, что вы или другие члены этого сообщества разработаете приложение, способное отображать информацию CANBUS на головном устройстве без использования порта OBD2. Если RoadNav S160 с Android 4.4.4 способен на это, я уверен, что нынешние разработчики смогут получить ту же информацию из CANBUS и отобразить ее на головном устройстве PX5.
Нет товаров в корзине.
Нет товаров в корзине.
Коммерчески поддерживаемое программное обеспечение
Передовые инструменты для управления технологиями Prohelion и системами на основе шины CAN.
Профинити
Profinity – это современный набор инструментов для управления шиной CAN и батареями, разработанный для поддержки сложных архитектур шины CAN. Написанный с нуля для удовлетворения потребностей профессионалов CAN-шины, Profinity обеспечивает простой, но мощный мониторинг, регистрацию, управление и поддержку DBC для общих сетей CAN-шины, а также инструменты управления для всех основных технологий Prohelion.
Дополнительную информацию см. в документации Profinity.
Программное обеспечение Tritium
Prohelion постоянно интегрирует новые продукты и функции в экосистему Profinity. Однако мы также предоставляем доступ к некоторым программным инструментам Tritium, которые больше недоступны на веб-сайте Tritium.
Инструмент настройки CanBridge
Инструмент конфигурации CanBridge позволяет обнаруживать и изменять настройки встроенного ПО на Ethernet-мосте CAN.
Инструмент настройки WaveSculptor
Инструмент настройки WaveSculptor обеспечивает возможность мониторинга, управления и настройки контроллера двигателя WaveSculptor22.
Программное обеспечение с открытым исходным кодом
Prohelion предоставляет программные решения для гонок на электромобилях, включая решения для стратегии и телеметрии, решения для управления батареями, инструменты CAN-Bus и приложение для планшета Android для управления автомобилем. Эти программные решения предоставляются по лицензии с открытым исходным кодом.
Телеметрия ArrowPoint
Решение ArrowPoint Telemetry Solution предназначено для сбора данных телеметрии и управления данными для управления гоночным автомобилем.
Стандартная реализация предназначена для использования в гоночных автомобилях на солнечной или электрической энергии, использующих технологии Prohelion или Tritium. Это решение было первоначально разработано TeamArrow и используется в гоночных средах с 2013 года. TeamArrow продолжает использовать это приложение в качестве основы своих решений для телеметрии и управления стратегией.
Решение собирает и сохраняет все данные телеметрии в среде гонки и использовалось для сбора более 60 000 000 точек данных в предыдущих событиях и тестировании, а также может управлять, отслеживать и хранить около 400 точек данных в секунду при работе на ноутбуке i7. Он предоставляет отчеты (через Splunk) по полным наборам данных через веб-интерфейс и позволяет командам создавать и отслеживать массивные наборы данных с помощью информационных панелей и динамически изменяемых поисковых запросов.
Дополнительную информацию см. в документации по телеметрии ArrowPoint.
Стрелка для Android
Решение ArrowPoint для Android – это приложение для Android, предназначенное для получения и отображения данных телеметрии от точки доступа Wi-Fi в режиме реального времени. Это очень полезный инструмент в условиях гонок, так как каждый член команды может установить копию на свой телефон или планшет и мгновенно получать информацию о характеристиках автомобиля.
Приложение предоставляет
- Панель управления водителем, показывающая всю ключевую информацию о водителе (мы используем ее в качестве приборной панели автомобиля в Arrow1)
- Панель мониторинга солнечной энергии, показывающая основные данные о солнечной энергии и информацию об аккумуляторе, которые можно использовать для оповещения команды или водителя о выходе систем из зоны действия или отключении для связи между автопарками, для которой не требуется радио.
- Графическая панель, которую можно использовать для отображения информации во времени.
Приложение совместимо с
- Аккумуляторы Prohelion
- Tritium WaveSculpters
- Тритиевые BMU и CMU
Дополнительную информацию см. на странице документации ArrowPoint Android.
Инструменты CAN-шины ArrowPoint
ArrowPoint CANbus Tools — это платформа на базе Windows, предназначенная для получения и отображения телеметрической информации от точки доступа WiFi в режиме реального времени.
Стандартная реализация предназначена для использования в гоночных автомобилях на солнечной или электрической энергии, использующих технологии Prohelion или Tritium. Это решение было первоначально разработано TeamArrow и используется в гоночных средах с 2015 года.
Приложение предоставляет
- Возможность просмотра и передачи пакетов CANbus
- Возможность регистрировать пакеты CANbus и воспроизводить их
- Имитация контроллера драйвера
- Смоделируйте контроллер мотора
Приложение совместимо с
- Аккумуляторы Prohelion
- Контроллеры драйверов Prohelion и Tritium
- Tritium WaveSculpters
- Тритиевые BMU и CMU
Дополнительную информацию см. на странице документации инструментов ArrowPoint CANBus.
Читайте также: