CANdid Server
A server that faciliates connections between remote TCP clients and a local CAN bus. Clients are sent frames read off the bus, and may send frames back to the server that are then written to the bus.
Getting Started
Prerequisites
Because the server uses the socketcan crate, a wrapper for the Linux SocketCAN kernel module, the server can only run on a Linux system with the relevant modules compiled and loaded.
Installing
To install the server:
$ cargo install candid_server
To run the server on a vcan0 interface and localhost:
# modprobe can can_raw vcan
# ip link add dev vcan0 type vcan
# ip link set up vcan0
$ candid_server 127.0.0.1:6556 vcan0
Use candid_client to connect to the server. There are examples in the repository for both sending and receiving frames.
Built With
- SocketCAN - The underlying kernel module.
- socketcan Crate - Rust bindings for the C library.
- clap - For command line argument parsing.
- byteorder - For writing frames
License
This project is licensed under the MIT License - see the LICENSE file for details