https://github.com/kaka-lin/canbus-tool
CAN bus tool that can send/dump data. GUI is implemented with Qt/PyQt and QML
https://github.com/kaka-lin/canbus-tool
cpp docker pyqt5 python-can python3 qml qml-applications qt5 socketcan
Last synced: 9 months ago
JSON representation
CAN bus tool that can send/dump data. GUI is implemented with Qt/PyQt and QML
- Host: GitHub
- URL: https://github.com/kaka-lin/canbus-tool
- Owner: kaka-lin
- License: mit
- Created: 2018-02-23T08:41:29.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2024-07-08T12:24:15.000Z (over 1 year ago)
- Last Synced: 2025-04-02T19:01:41.353Z (about 1 year ago)
- Topics: cpp, docker, pyqt5, python-can, python3, qml, qml-applications, qt5, socketcan
- Language: Python
- Homepage:
- Size: 1.05 MB
- Stars: 3
- Watchers: 0
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# CanBus Tool
This is a `CAN bus tool` that can send/dump CAN data.
- Frontend: The GUI is implemented with QML.
- Backend: CAN bus data headling with C/C++ (Qt) or Python (PyQt)

## Support
CAN Interface:
- [x] kvaser
- [x] SocketCAN
- [ ] pcan
- [ ] virtual
CAN bus data headling (Backend):
- Python: using [python-can](https://github.com/hardbyte/python-can) library
- [x] dump
- [x] send
- C/C++: using [SocketCAN API](https://www.kernel.org/doc/html/latest/networking/can.html) on Linux
- [x] dump
- [x] send
## Usage
### 0. Setup your CAN
Please setup your CAN devices. As SocketCAN for example:
```sh
# socketcan setup
$ sudo ip link set can0 type can bitrate 500000
$ sudo ip link set can0 up
```
> Using SocketCAN support for Kvaser interface please see:[SocketCAN Support for Kvaser Devices](https://github.com/kaka-lin/Notes/tree/master/Network/canbus/kvaser)
Through Socketcan, after finish setup you can, you will see `can0` show up by `ifconfig -a` as below:

### 1-1. Run with Docker (Recommend)
You can use the docker image that we already build, as below
```bash
$ docker pull kakalin/qt:5.12.0
```
> if you want to build if from scratch, please check [here](https://github.com/kaka-lin/qt-template/tree/master/docker)
And then running with docker:
```bash
$ ./run.sh
```
### 1-2. Run with local Qt
Please install Qt/QML on your local machine.
### 2. Choose the backend you want to use it
Going to [cpp](./cpp) or [python](./python/) folder and running it by following the related steps in the `README` file.
When you start sending/receiving can data would be like this: