Skip to content
This repository has been archived by the owner on Apr 18, 2024. It is now read-only.

Latest commit

 

History

History
82 lines (60 loc) · 2.64 KB

README.md

File metadata and controls

82 lines (60 loc) · 2.64 KB

Signalbroker

Development tool to access CAN/LIN and other buses using gRPC which allows usage of preferred language.

Disclaimer

Documentation is still ongoing, Project is operational but custom dbc/ldf/human fields are required.

Teaser

Components keep reading...

Hardware

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

Real deal

In order to access real can the following hardware can be used.

Suggested hardware

Works is ongoing for CAN-FD support which is in experimental stage.

Accessing the server

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

Starting the server

  • 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

Playback for off line purposes

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

Running examples with fake data

Install can-utils as described above the generate fake data using:

cangen vcan0  -v -g 1

Todo

  • Provide pre build docker image.
  • Add default configuration.
  • Add gRPC sample code.
  • Publish repository for creating custom LIN hardware.