Skip to content

KruFFT/wxCAN-Sniffer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

62 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CAN Sniffer (приложение для компьютера)

Translate

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

Код для микроконтроллера


Возможности

  • Подключение через последовательный порт или Wi-Fi
  • Отображение передаваемых в CAN-шине пакетов
  • Отображение выбранных данных в двоичном и десятичном виде
  • Построение графика по выбранному пакету + следующий байт/байты
  • Сохранение всех данных в журнал
  • Отправка своего пакета в CAN-шину

Сборка приложения в Windows

Используя CMake

  1. Понадобится Visual Studio 2022 Community (используется компилятор и SDK) и CMake
  2. Запустить Developer Command Prompt for VS 2022 и перейти в директорию с исходниками
  3. Запустить подготовку проекта к сборке, будет автоматически скачан и подготовлен пакет wxWidgets в директорию ./build:
cmake -S . -B build
  1. Запустить сборку (результат будет в ./build/Release):
cmake --build build -j --config Release
  1. Если необходима отладочная сборка (результат будет в ./build/Debug):
cmake --build build -j

Если по каким-либо причинам подготовка завершается с ошибкой, то в файле CMakeLists.txt можно указать версию wxWidgets убрав комментарий со строки GIT_TAG v3.2.8 и задав в ней номер версии.

Используя Visual Studio 2022 Community

Сначала необходимо собрать wxWidgets в static-режиме и потом само приложение.

Сборка wxWidgets
  1. Понадобится Visual Studio 2022 Community
  2. Запустить Developer Command Prompt for VS 2022 и перейти в директорию с исходниками
  3. Загрузить wxWidgets из GitHub:
git clone --recurse-submodules https://github.com/wxWidgets/wxWidgets.git
  1. Создать переменную окружения WXWIN и присвоить ей значение директории %your_path%/wxWidgets
  2. Запустить последовательно сборку отладочной и релизной версии:
cd wxWidgets/build/msw
nmake /f makefile.vc RUNTIME_LIBS=static TARGET_CPU=X64 BUILD=debug
nmake /f makefile.vc RUNTIME_LIBS=static TARGET_CPU=X64 BUILD=release
Сборка приложения в Visual Studio
  1. Открыть файл решения wxCAN-Sniffer.sln
  2. Выбрать необходимую конфигурацию Release или Debug
  3. Произвести сборку нажав F7 (результат будет в ./x64/Release или ./x64/Debug соответственно)

Сборка приложения в Linux

Используя CMake

  1. Понадобится установить следующие пакеты:
sudo apt-get install build-essential libgtk-3-dev libglu1-mesa-dev freeglut3-dev mesa-common-dev cmake
  1. Запустить подготовку проекта к сборке, будет автоматически скачан и подготовлен пакет wxWidgets в директорию ./build-release:
cmake -S . -B build-release -DCMAKE_BUILD_TYPE=Release

или отладочной сборки в ./build-debug:

cmake -S . -B build-debug -DCMAKE_BUILD_TYPE=Debug
  1. Запустить сборку Release (результат будет в ./build-release):
cmake --build build-release -j

или Debug (результат будет в ./build-debug):

cmake --build build-debug -j

PS: По каким-то причинам, сборка через CMake в Linux требует огромных ресурсов памяти. На компьютере с 8 ГБ оперативной памяти сборка не завершалась. Помогло увеличение размера swap-файла до 64 ГБ:

sudo swapoff /swapfile
sudo fallocate -l 64G /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

Если по каким-либо причинам подготовка завершается с ошибкой, то в файле CMakeLists.txt можно указать версию wxWidgets убрав комментарий со строки GIT_TAG v3.2.8 и задав в ней номер версии.

Используя Visual Studio Code

Сборка wxWidgets
  1. Понадобится Visual Studio Code и установить следующие пакеты:
sudo apt-get install build-essential libgtk-3-dev libglu1-mesa-dev freeglut3-dev mesa-common-dev
  1. Скачать и установить wxWidgets:
git clone --recurse-submodules https://github.com/wxWidgets/wxWidgets.git
  1. Подготовить директорию ./gtk-build для сборки, запустить настройку и сборку (использовать 8 потоков):
cd wxWidgets; mkdir gtk-build; cd gtk-build; ../configure --with-gtk=3 --with-opengl --disable-shared; make -j8
  1. Установить собранный пакет в систему:
sudo make install; sudo ldconfig
  1. Скопировать файл setup.h (обратите внимание на номер версии в директориях, если версия отличается от 3.3, то её надо поправить):
sudo cp ./lib/wx/include/gtk3-unicode-static-3.3/wx/setup.h /usr/local/include/wx-3.3/wx
Сборка приложения в Visual Studio Code
  1. Открыть директорию проекта ./wxCAN-Sniffer/wxCAN-Sniffer в редакторе Visual Studio Code
  2. Открыть файл Application.cpp
  3. В меню Terminal выбрать пункт Run Build Task, выбрать необходимую конфигурацию C/C++: G++ build release или C/C++: GCC build debug (результат будет в этой же директории)
  4. Будет необходимо добавить пользователя в группу с правами доступа к последовательному порту:
sudo addgroup $USERNAME dialout

Сборка приложения в macOS

Сборка и работа приложения возможна.


License

MIT

About

CAN bus sniffer (PC side)

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages