Перейти к содержанию

Вопросы по разработке CAN-снифера от совсем чайника


Pajalkeen
Перейти к решению Решено mr_smit,

Рекомендуемые сообщения

Всем привет! Хочу разработать платку, которая расширяет возможности БК машины, не знаю с чего начать. В программировании опыта более 10 лет, но это серверное программирование

Вопросы


1) На чем лучше разработать CAN сниффер? чтобы недорого и удобно разрабатывать. У меня есть готовый образен на STM32, пока смотрю в его сторону, нашел еще варианты на Arduino
2) Как можно снять прошивку с STM32, или безопасно понять есть ли там защита?
3) Инструментарий: Что нужно для разработки кроме IDE? Какой-то переходник для прошивки? 
4) Кто печатает платы по проекту чтобы можно было на себя взять только разработку, а печать заказать?
5) может ли быть такое что плата что у меня в образце какая-то типовая и её просто надо купить по каталогу и прошить?

6) есть ли какие-то распространенные библиотеки для разработки в CAN?

7) как провести отладку? что для этого нужно? Как я понимаю надо одновременно и комп к плате подключить и плату к can-шине?

Снимок экрана 2022-08-24 в 12.30.43.png

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

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

27 минут назад, Pajalkeen сказал:

расширяет возможности БК машины

В чем заключается расширение?

 

20 минут назад, Pajalkeen сказал:

На чем лучше разработать CAN сниффер?

На том, с чем есть опыт работы. А лучше взять готовый свисток и видеть параметры на том же телефоне.

 

21 минуту назад, Pajalkeen сказал:

Как можно снять прошивку с STM32,

Программатором.

 

21 минуту назад, Pajalkeen сказал:

безопасно понять есть ли там защита?

Если есть защита, то прошивка просто не будет вычитываться. Только что вам прошивка даст, если это просто набор hex значений и адресов?

 

22 минуты назад, Pajalkeen сказал:

Что нужно для разработки кроме IDE?

Программатор.

 

22 минуты назад, Pajalkeen сказал:

Кто печатает платы по проекту

Да кто угодно, полно контор и в Китае и в РФ. Те же JLCPCB.

 

23 минуты назад, Pajalkeen сказал:

может ли быть такое

Может, плата же у вас, вам и знать.

 

23 минуты назад, Pajalkeen сказал:

есть ли какие-то распространенные библиотеки для разработки в CAN?

Поисковики в помощь. Сначала с железом определитесь.

 

24 минуты назад, Pajalkeen сказал:

как провести отладку?

Для начала купить USB to CAN адаптер и записать лог пакетов из сети авто, чтобы было понятно, с чем работать. А потом еще и понять, какой пакет за что отвечает. Да и в принципе странно, что программист с 10-летним стажем спрашивает, для чего нужна отладка.

 

От себя лишь могу добавить, что с наскока такое сваять не получится. Даже ели есть знания в программировании МК, CAN не самая простая вещь для освоения.

Ссылка на комментарий
Поделиться на другие сайты

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

48 минут назад, Pajalkeen сказал:

Хочу разработать платку, которая расширяет возможности БК машины

Ради спортивного интереса? Цена вопроса 2,5-3к на Али

Сергей.

Ссылка на комментарий
Поделиться на другие сайты

Организация питания на основе надежных литиевых аккумуляторов EVE и микросхем азиатского производства

Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Сравнительное тестирование аккумуляторов EVE Energy и Samsung типоразмера 18650

Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650. 

Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Литиевые аккумуляторы EVE Energy и решения для управления перезаряжаемыми источниками тока (материалы вебинара)

Опубликованы материалы вебинара Компэл, посвященного литиевым аккумуляторам EVE Energy и решениям для управления перезаряжаемыми источниками тока.

На вебинаре мы представили информацию не только по линейкам аккумуляторной продукции EVE, но и по решениям для управления ею, что поможет рассмотреть эти ХИТ в качестве дополнительной альтернативы для уже выпускающихся изделий. Также рассмотрели нюансы работы с производителем и сервисы, предоставляемые Компэл по данной продукции. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Спасибо всем за ответы, 
выложу тут, может какому новичку полезно будет - мне посоветовали так сделать. Вижу в этом много логики)

"Я бы посмотрел готовые проекты CAN-снифферов на гитхабах и поиском.  По-моему этого должно быть в достатке.  Годится любой микроконтроллер с CAN-интерфейсом, но лучше ориентироваться на майнстримный STM32

 В проектах ты увидишь к  какому железу они привязаны, к какой плате.
Микроконтроллер или готовую отладочную плату именно фирменную (но их естественно клонируют китайцы), от STM можно выбрать если установить "ST MCU Finder", он есть и на андройде под мобильный телефон.  Там необходимо поискать отладочную плату чтобы на ней сразу был разведен CAN.  Либо более хардкорный вариант но я бы предпочел именно его, это взять майнстримную отладочную плату на чипе F4, H7 (DISCOVERY  или NUCLEO  на чипах STM32F407 например)  и к ней отдельную платку - трансивер CAN (аппаратный интерфейс STM <-> CAN шина) .  И отладки, и платки трансиверов  CAN все и я в том числе покупают на Aliexpress у китайцев."

Я решил заказать такую плату STM32F429-DISC1 + can module 

Вот еще что-то написанное на русском, понятное как будто человек писал)) https://istarik.ru/blog/stm32/159.html

Ссылка на комментарий
Поделиться на другие сайты

Литиевые батарейки и аккумуляторы от мирового лидера  EVE в Компэл

Компания Компэл, официальный дистрибьютор EVE Energy, бренда №1 по производству химических источников тока (ХИТ) в мире, предлагает продукцию EVE как со склада, так и под заказ. Компания EVE широко известна в странах Европы, Америки и Юго-Восточной Азии уже более 20 лет. Недавно EVE была объявлена поставщиком новых аккумуляторных элементов круглого формата для электрических моделей «нового класса» компании BMW.

Продукция EVE предназначена для самого широкого спектра применений – от бытового до промышленного. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

7 минут назад, Pajalkeen сказал:

STM32F429-DISC1

Для задач сниффера - как из пушки по воробьям. И возьмете вы ее, а дальше что? Прошивка от этого не появится. Опишите подробно, что вы хотите в итоге получить.

 

8 минут назад, Pajalkeen сказал:

H7

Ну а чего сразу уже intel не взять? Да и STM сейчас вообще смысла брать нету, очень дорого. Выгоднее в машину магнитолу в Андроидом на борту поставить и подключить CAN к ней.

Ссылка на комментарий
Поделиться на другие сайты

15 минут назад, BARS_ сказал:

Опишите подробно, что вы хотите в итоге получить

Хочу вывести параметры, которые есть в кан (типа температуры коробки, двигателя) на доп. штатный экран. 

Прошу еще раз внимательно отнестись к моим словам - я полный ноль в этом и сравнения "Ну а чего сразу уже intel не взять?" мне непонятны от слова совсем.  Как и рекомендации сначала с железом определиться. Есть задача и под него прошу у более опытных помочь определиться с железом. Железо нужно такое чтобы написать на нем прошивку, а потом отладить и вывести. Пусть какая-то плата будет с большим количеством возможностей чем нужно, но можно же потом эту прошивку запечатать на сделанную под заказ плату(она же дешевле будет?)

У меня уже стоит магнитола на Андроиде, купил я её 58 000 руб - гораздо дороже чем эта плата, но дело не то что бы в деньгах. Дело в интересе.  OBD решения не интересны. Интересно подсоединиться к CAN шине и вывести на штатный экран БК нужную информацию

23 часа назад, BARS_ сказал:

На том, с чем есть опыт работы.

JetBrains Goland для этого не подходит. как и PHPStorm и Pycharm

" STM сейчас вообще смысла брать нету, очень дорого."

какие есть более дешевые варианты с CAN ? 

Изменено пользователем Pajalkeen
Ссылка на комментарий
Поделиться на другие сайты

  • Решение

Вы не с того начали. Выше вам правильно подсказали. Начать нужно с анализатора CAN шины. Когда вы отловите все необходимые вам пакеты, поймете в каких байтах находятся нужные вам значения (и формулы перевода) вот ТОЛЬКО ТОГДА можно говорить про железо. Возможно как раз на этом этапе от затеи вы и откажитесь... Выбор платы как раз самое простое в этой задаче. Читать CAN сможет и платка Arduino с Али. Готовые библиотеки есть. Там и новичку (вам) под силу будет разобраться.

https://www.drive2.ru/c/486832413771563406/

https://canhacker.ru/

Ссылка на комментарий
Поделиться на другие сайты

1 минуту назад, dolmatovva сказал:

как выведете на штатный экран авто показатели ?

есть уже подобные решения, значит можно. Плата с фото первого поста это делать умеет

Ссылка на комментарий
Поделиться на другие сайты

14 минут назад, Pajalkeen сказал:

на доп. штатный экран.

Как хотите связаться со штатным экраном? Мало информации.

 

14 минут назад, Pajalkeen сказал:

Есть задача и под него прошу у более опытных помочь определиться с железом.

Для начала требуется понять, что там за экран. Тем более он штатный и уже что-то выводит, так это придется штатное выкинуть и вкорячить туда свое. Выводить и штатное и сове на экран не получится никак.

 

14 минут назад, Pajalkeen сказал:

Железо нужно такое чтобы написать на нем прошивку, а потом отладить и вывести

Так купите сначала дешевую плату и научитесь программировать МК, а потом уже видно будет. Тут не получится дернуть пару библиотек, засунуть в код и все.

 

14 минут назад, Pajalkeen сказал:

JetBrains Goland для этого не подходит. как и PHPStorm и Pycharm

Нужен С/С++.

 

14 минут назад, Pajalkeen сказал:

какие есть более дешевые варианты с CAN ? 

Те же китайцы в виде GigaDevice. Кстати, вы же ведь все таки высокоуровневый программист. Возможно, вам будет проще взять мини ПК с полноценной ОС, тот же OrangePi, RockPi, RaspberryPi и реализовать хотелки на нем. А это сейчас еще и дешевле (тот же RockPi 3a можно в пределах 4к взять), чем брать плату с STM, да и возможностей больше намного. Там и CAN есть на борту, достаточно лишь трансивер подключить. ОС там Debian или Android. Можно и винду накатить, но смысла нет.

 

4 минуты назад, mr_smit сказал:

Читать CAN сможет и платка Arduino с Али.

Проще взять USB to CAN и сразу сливать пакеты на ПК.

4 минуты назад, Pajalkeen сказал:

есть уже подобные решения

Ну так покажите. Кроме вас ведь никто не знает, что там за экран и что за машина....

Изменено пользователем BARS_
Ссылка на комментарий
Поделиться на другие сайты

4 минуты назад, BARS_ сказал:

так это придется штатное выкинуть и вкорячить туда свое

Ну не совсем так. В интернете видел проект где на штатный экран мазды выводили показания парктроника. Суть в чем: штатный экран получает информацию по CAN (температура в салоне, радио станция и т.д.) и путем подмены значений в CAN шине там на экран выводилась своя информация. Устройство на МК ставится в разрыв CAN шины на экран. И если в экран летит строчка "10:30  FM 101.5" то ничто не мешает заменить ее на "< ---- 50 cm >" на время, например, движения задним ходом. А потом дальше пропускать пакеты по шине без изменений. Ну это грубо. Всё от авто и от реализации зависит.

Ссылка на комментарий
Поделиться на другие сайты

4 минуты назад, BARS_ сказал:

так это придется штатное выкинут

нет, там делается по другому, БК сам распознает вмешательство и экран мультимедии отдает под доп инфу - рисуй что хошь

5 минут назад, BARS_ сказал:

Нужен С/С++.

Норм, я в институте C изучал. Вспомню) Что из современного под разработку посоветуете? У меня был Борланд C,

кроме STM на такое Ардуино способен? 

вот так это выглядит.

Плата прикручена к кан проводам и проводу управления БК, плюс, минус

Снимок экрана 2022-08-25 в 13.34.27.png

Ссылка на комментарий
Поделиться на другие сайты

Повторюсь, начать нужно с анализа CAN шины. В вашем случае (без подобного опыта) на этом всё может и закончится. Вы просто не сможете понять где в шине нужные данные. The End. Либо повторить готовое если под ваше авто кто то уже делал такое. Это идеальный случай. Но тогда и форум не нужен, бери да повторяй.

Ссылка на комментарий
Поделиться на другие сайты

2 минуты назад, mr_smit сказал:

повторить готовое если под ваше авто кто то уже делал такое.

Если бы код был в свободном доступе, было бы прекрасно. я буду повторять саму идею, похоже с нуля

Ссылка на комментарий
Поделиться на другие сайты

2 минуты назад, Pajalkeen сказал:

кроме STM на такое Ардуино способен? 

Если это чисто подмена пакетов в CAN, то любой МК с CAN на борту способен. Вот только нафига там эта информация, вообще непонятно...

 

3 минуты назад, Pajalkeen сказал:

Вспомню

Вспомнить мало, программирование МК сильно отличается от программирования для ПК. Нужно учитывать многие вещи, о которых для ПК даже не задумываешься.

 

4 минуты назад, Pajalkeen сказал:

Что из современного под разработку посоветуете?

Зависит от МК. Лучший вариант, естественно, Visual Studio.

Ссылка на комментарий
Поделиться на другие сайты

12 минут назад, Pajalkeen сказал:

буду повторять саму идею, похоже с нуля

Это никак не отменяет разбора пакетов. Требуется записать лог обмена данными, найти в нем те пакеты, что интересны вам и разобраться в их структуре. И только после этого начинать делать железо. И еще раз советую взять мелкий одноплатный ПК и делать на нем. Есть версии Zero. Типа таких image.png.d124424ee8d8c18cef416513549b2a46.pngimage.png.069eb3cac46b10b933c54c9bd90003af.pngimage.png.305215251d4ea4601e09e90a1c2a5819.png

Ну или взять тот же RP2040, это МК от Raspberry. Плата с ним стоит в районе 300р (нужно две платы, одна из них прошивается под программатор), а производительность позволит особо не заморачиваться с быстродействием при написании кода.

Изменено пользователем BARS_
Ссылка на комментарий
Поделиться на другие сайты

1 час назад, mr_smit сказал:

Удачи. Кстати, какая машина?

MMC Pajero

Спасибо за ответы

54 минуты назад, BARS_ сказал:

е раз советую взять мелкий одноплатный ПК и делать на нем

Спасибо за ответы

Получил исчерпывающую инфу и направление куда копать сейчас!

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...