Ускоритель can своими руками

Продублирую тут.Некоторое время назад занялся CAN шиной. Наконец созрела статья, как сделать простейший кан сниффер для Астры (легко адаптировать к любой другой марке, конечно).
Начнём сразу со схемы!

Схема соединения


Все компоненты подписаны и легко находятся на Али. Могу потом добавить конкретные ссылки, где брал я.
Соответственно, понадобится плата с контроллером STM32F103C8T6, плата стабилизированного регулятора напряжения, плата CAN трансивера MCP2551. По желанию можно добавить блютус модуль — очень удобно для записи логов на смартфон.
Программируется и прошивается с помощью АрдуиноIDE. Для прошивки придется купить USB-TTL преобразователь (пригодится для отладки) или, что проще, ST-Link V2.
Предварительная подготовка платы — см. известный источник на гиктайме.
Сама библиотека для работы с кан-шиной появилась недавно, и в основном репозитории её нет, поэтому выкладываю архив Arduino IDE, гарантированно работающий (сохранял для себя).
Ну и, конечно, файл программы: cloud.mail.ru/public/GX5y/9g61ucVCY
Работает следующим образом: после подачи питания сниффер пытается по очереди подключиться к MS CAN, в случае неудачи — к LS CAN, и далее по кругу. Как только подключение успешно, все пойманные пакеты печатаются в UART (или, проще говоря, в ком-порт).
В случае подключения к компу Вы ловите данные через терминал. А в случае с блютусом — через замечательную программу для андроида BlueTerm2.
Затем полученный файл дербаним любимым эксэлем.
На этом всё! Не очень литературно, но суть, надеюсь, изложил понятно.
П.С. Позже добавлю скриншот из блютерма, соберу тестовый образец в более менее приличном виде.

Добавлено:
По многочисленным вопросам.
Цели следующие.
ЛС кан:
оповещение о выключенных фарах во время движения,
отображение температуры мотора и напряжения на одометре или на стрелках приборов,
функция "спасибо" — моргнуть только задними аварийками,
отображение реальной скорости на одометре
отображение, какая дверь открыта (на одометре?)
другие плюшки – см "кан адаптер" и "мини кан адаптер"
МС кан:
включение и отключение компрессора одним нажатием (климат контроль)
ввод команд цифровыми кнопками магнитолы д команд цифровыми кнопками магнитолы

Реализация — неспешная.

Добавлено: пример лога
Hello World!
Starting sniffer v0 program
Time (ms) ; ID ; Length ; B0 ; B1 ; B2 ; B3 ; B4 ; B5 ; B6 ; B7
8; 110; 5; 0; 48; 16; 4A; E; 0; 0; 0
29; 108; 8; 13; C; 34; 0; 0; 0; 0; 0
79; 625; 8; 0; 48; 50; 0; 0; 0; 0; 0
83; 108; 8; 13; C; 38; 0; 0; 0; 0; 0
108; 110; 5; 0; 48; 16; 4A; E; 0; 0; 0
112; 130; 7; 0; DB; 28; 0; 0; 0; 0; 0
129; 108; 8; 13; C; 38; 0; 0; 0; 0; 0
179; 625; 8; 0; 48; 50; 0; 0; 0; 0; 0
183; 108; 8; 13; C; 38; 0; 0; 0; 0; 0
208; 110; 5; 0; 48; 16; 4A; E; 0; 0; 0

И после импорта данных в эксель:

данные в экселе — делай что хочешь!


А уж там полная свобода анализа. Например, разобрать сообщение побитово и смотреть нули и единицы.
Источник: https://www.drive2.ru/c/486832413771563406/

Предыдущая статья: лебедя своими руками игра

Следущая статья: слив своими руками купить

Лучшие статьи: