Коммуникация по шине CAN
О чём этот курс
В этом курсе вы шаг за шагом разберётесь, как работает коммуникация по шине CAN и CAN-FD, научитесь подключать устройства и управлять ими с помощью Python 3 и ROS 2.
Сначала вас ждёт небольшой теоретический блок о технологиях, которые применяются в этом курсе. Он нужен не для заучивания терминов, а для того, чтобы практические задания были понятнее: почему устройства обмениваются сообщениями, зачем нужна диагностика и как низкоуровневый обмен можно связать с программами робота.
После теории начнутся практические уроки: работа с оборудованием, подключение устройств, запуск примеров, отправка и приём CAN-FD-сообщений, написание программ на Python и использование ROS 2 для обмена данными между узлами.
Чему вы научитесь
После прохождения курса вы сможете:
- подключать и настраивать оборудование для работы с CAN-FD;
- работать с Raspberry Pi через терминал и SSH;
- использовать
can-utilsдля просмотра и отправки CAN-сообщений; - читать CAN-FD-сообщения и понимать, где в них идентификатор, длина и данные;
- писать простые Python-программы для отправки и приёма сообщений;
- использовать ROS 2 для передачи данных между программными узлами;
- проверять результат работы по сообщениям в терминале и ожидаемому поведению устройства.
Используемое программное обеспечение
Для выполнения практических заданий можно использовать компьютер с Ubuntu или Windows. Основная работа будет выполняться на Raspberry Pi, а подключение к ней чаще всего будет происходить удалённо по протоколу SSH. Поэтому операционная система на рабочем компьютере не так важна, если с неё можно открыть терминал, подключиться к Raspberry Pi и работать с файлами проекта.
На рабочем компьютере понадобится установить несколько инструментов:
- Arduino IDE с нужными библиотеками.
- Visual Studio Code.
Также в ходе курса будут использоваться инструменты, установленные на Raspberry Pi: терминал Linux, Python 3, can-utils и ROS 2.
Подробные инструкции по установке программного обеспечения — здесь.
Используемое оборудование
В курсе используется реальное оборудование, с которым вы будете работать напрямую:
- Raspberry Pi 5 с платой расширения для работы с CAN-FD и коммутационной платой CAN-FD Raspberry Pi — основной вычислительный узел и интерфейс для работы с CAN-шиной. Инструкция по настройке, инструкция по сборке.

- Модуль VBCore VB32G4 — микроконтроллерный модуль для обмена данными и управления периферией. Подготовка к работе.

- Отладочная плата для модуля VBCore VB32G4 — используется для подключения модуля, питания и удобного доступа к интерфейсам. Описание и настройка.

- Периферийные устройства: сервоприводы, кнопки, светодиоды и другие элементы для экспериментов.
Фокус курса
Основное внимание уделено практике. Теоретические разделы нужны для того, чтобы вы понимали, что происходит в примерах: как устройства обмениваются сообщениями, почему важны идентификаторы, как читать данные в терминале и как связать низкоуровневый обмен с программами на Python и ROS 2.
Каждый практический пример будет опираться на конкретную задачу: подключить устройство, отправить сообщение, принять ответ, проверить результат и разобраться, почему система работает именно так. Такой подход помогает не просто повторить команды, а постепенно собрать цельное понимание работы CAN-FD в робототехнической системе.
Структура практических примеров
Все примеры курса выстроены от простого к более сложному, чтобы вы могли постепенно осваивать материал:
- Arduino IDE + VBCore G4 — управление периферией напрямую с микроконтроллера.
- Python 3 + Raspberry Pi — работа с устройствами по CAN-FD без использования ROS 2.
- Python 3 + Raspberry Pi + ROS 2 — управление устройствами через CAN-FD с применением ROS 2.
Если каких-то знаний пока не хватает, это нормально: нужные понятия будут вводиться по мере работы с конкретными примерами.