CAN Sniffer

May 12, 2025 · View on GitHub

Translate

Код для AVR (Arduino) и ESP8266 с использованием PlatformIO.

Статья о проекте

Приложение-компаньон для компьютера

Возможности

  • Изменение скорости подключения к CAN-шине во время работы
  • Передача данных на компьютер через последовательный порт или Wi-Fi
  • Встроенный симулятор пакетов для отладки (умеет отвечать на запросы)

Описание

Используется VSCode + PlatformIO - более гибкая, удобная и современная среда разработки по сравнению с Arduino IDE.

Настройки платформ, используемых библиотек и параметры компиляции находятся в файле platformio.ini. Формат простой и понятный.

Для AVR работает передача через последовательный порт. Для ESP работает передача данных через последовательный порт и Wi-Fi.

В ESP8266 крайне медленно работает передача данных через Wi-Fi маленькими пакетами, поэтому данные собираются по несколько пакетов в буфер и только после этого отправляются в сеть.

Схемы подключения находятся в папке ./images. На практике проверялись варианты подключения AVR и ESP с микросхемой сдвига уровней сигналов 5В ↔ 3,3В.

PS: Но если, всё же, необходим исходник для Arduino IDE, то INO-файл находится в папке ./ino.

Проверялась работа

  • Arduino UNO
  • Arduino Nano
  • ESP-12F (D1 mini)
  • ESP8266 (совместимый с NodeMCU 1.0)