Development tool to access CAN/LIN and other buses using gRPC which allows usage of preferred language.
Documentation is still ongoing, Project is operational but custom dbc/ldf/human fields are required.
The software can execute on any Linux with SocketCAN. On hosts without hardware CAN interfaces, CAN be configured using:
sudo modprobe vcan
sudo ip link add dev vcan0 type vcan
sudo ifconfig vcan0 up
System is configured using interfaces.json
Extensive reference can be found here link
In order to access real can the following hardware can be used.
Suggested hardware
- Raspberry PI.
- Raspberry PI CAN shield.
- lin DYI
Works is ongoing for CAN-FD support which is in experimental stage.
Signalbroker is headless but can be accessed using the grpc-web frontend
To get aquainted to the system the easiest way to get going is by checking out the simple telnet guide
However, the preferred way of accessing the system is by using grpc. Follow this link to find the protofiles, and browse the examples to get inspiration
- Install elixir.
- Clone this repository.
- Make sure your
configuration/interfaces.json
makes sense (or try out of the box). - Start the software by doing.
mix deps.get
iex -S mix
On your Linux computer, install the following.
apt-get install can-utils
Record can from a real network:
candump -L can0 > myfile.log
Once you configured your interfaces.json to use virtual CAN interfaces by setting using vcan0
instead of can0
just play back your recorded file:
canplayer vcan0=can0 -I myfile.log
Install can-utils
as described above the generate fake data using:
cangen vcan0 -v -g 1
- Provide pre build docker image.
- Add default configuration.
- Add gRPC sample code.
- Publish repository for creating custom LIN hardware.