Skip to main content

How to Configure RemotiveBroker for Your Project?

Your First Configuration (in-car)

Using this configuration, you will be able to subscribe to or record live signals in a real vehicle (or any operational CAN bus).

info

This example requires that you have equipment which can be connected to the vehicle. You also need the proper matching DBC file which corresponds to the bus you are connecting to.

Once the RemotiveBroker is operational with a license, you can use the web-client to generate a configuration that the RemotiveBroker can use.

There are two ways to configure the RemotiveBroker. One is to use the UI wizard, and the other way is to upload a configuration directory containing the required files. Here we will use the wizard.

  1. In the menu in the web app, choose "Configuration," and you should see something like this.

    alt text

  2. Under "Don't have a configuration?", press "Create configuration here" to start the wizard.

    Pick your DBC file, and then you can click through all steps without any changes. The last step "Reconfigure" will upload the configuration to the broker.

  3. Your RemotiveBroker is now ready to subscribe to signals in your car.

tip

If it's quiet on the bus, you can try enabling/disabling the terminator on your CAN adapter (shield or connected using USB).

In-depth Look at Configuration interfaces.json File

The following is a typical and very simple configuration.

{
"chains": [
{
"namespace": "my_can0",
"type": "can",
"database": "signal_databases/MyCAN.dbc",
"device_name": "can0"
},
{
"namespace": "my_can1",
"type": "can",
"database": "signal_databasesignal_databases/MyOtherCAN.dbc",
"device_name": "can1"
}
]
}
  • namespace is your given name, which you can choose freely. Suggestions would be: BodyCAN, VehicleCan
  • type suggests what kind of physical link we are connecting to. This could be can, canfd, vcan, lin, flexray, udp
  • database holds information on how to encode and decode the traffic on the link. Typically, a file with an extension ldf, dbc, xml
  • device_name is the physical socket representation on your host computer. These names are controlled by your Linux kernel and can be listed by doing ip a. On our prebuilt images, valid names are [can0..can1], [vcan0..vcan3]

The example above contains two namespaces for the sake of clarity. Your configuration can hold any number of namespaces depending on your hardware setup.

Upload Your Custom Configuration

You can upload your custom configuration in the web-client by choosing "Configuration" and selecting "Pick directory." For the example above, the directory that should be selected should contain the following:

alt text

Once uploaded, the RemotiveBroker will verify that the configuration is valid. If not, please verify that your interfaces.json and the relative database paths are correct.

info

An advanced reference for interfaces.json is located here.

Additional Interfaces

As the configuration above suggests, additional interfaces can be added to the existing setup. Some of these setups require SSH and custom configuration of the host, in this scenario, the Raspberry Pi 4.

Typical USB to Ethernet adapter here

In this case, host refers to Raspberry Pi 4

LIN Interfaces

Connect a secondary USB to ETH adapter to the host. Here you can connect a single LIN transceiver box alternatively a switch with a number of LIN transceivers. Each LIN transceiver is identified and configured according to its unique device_identifier.

This ID needs to reflect and be present in interfaces.json. The following configuration shows two LIN devices, 8 and 7. Note that 8 has been configured to operate as master, whereas 7 operates as a slave.

Each LIN transceiver needs a unique set of target_port and server port, which can be selected freely. Once the transceivers get powered, their configurations will be distributed.

{
"chains": [
{
"namespace": "ecu_A",
"type": "lin",
"config": {
"device_identifier": 8,
"server_port": 2014,
"target_port": 2013
},
"node_mode": "master",
"database": "ldf/test.ldf",
"schedule_file": "ldf/test.ldf",
"schedule_table_name": "DEVMLIN01Schedule01",
"schedule_autostart": true
},
{
"namespace": "ecu_B",
"type": "lin",
"config": {
"device_identifier": 7,
"server_port": 2015,
"target_port": 2016
},
"node_mode": "slave",
"database": "ldf/test.ldf"
}
]
}
info

The prebuilt image will host a DHCP server on the added adapter. LIN transceivers and the RemotiveBroker need to reside on the same subnet. Other custom topologies are supported and sometimes preferred.

CAN Interfaces (Additional)

Any SocketCAN-compatible USB dongle can be added when physical interfaces are required. Amongst others, PEAK-System does provide such devices.

It is possible to configure the baud rate of the CAN interfaces. For type can, use the optional parameter baud_rate to control CAN data rate, and for type canfd, there is also dbaud_rate to control the flexible data rate. Notice that for canfd, either none or both parameters must be specified.

The following is a typical and very simple configuration where baud rate is configured for the CAN interfaces.

{
"chains": [
{
"namespace": "my_can0",
"type": "can",
"database": "can/MyCAN.dbc",
"device_name": "can0",
"baud_rate": 50000
},
{
"namespace": "my_can1",
"type": "canfd",
"database": "can/MyOtherCAN.dbc",
"device_name": "can1",
"baud_rate": 50000,
"dbaud_rate": 500000
}
]
}

Flexray Interfaces

info

Write is currently not supported out of the box and requires customizations.

Using Flexray with Techn

ica CM CAN COMBO

info

Make sure that your Techinca devices are configured to use PLP headers and also make sure to note the specified Destination MAC (available by clicking SPY), typically 01:00:5e:00:00:00.

Connect your Technica device to the secondary USB ethernet interface eth1, which is mentioned above. As the multicast address, provide Destination MAC.

{
"chains": [
{
"type": "flexray",
"device_name": "flexray0",
"namespace": "MyFlexrayNamespace",
"config": {
"target_host": "127.0.0.1",
"target_port": 51112,
"hardware": "Technica_CM_CAN_COMBO",
"target_config": {
"interface": "eth1",
"multicast": "01:00:5e:00:00:00"
}
},
"database": "fibex_files/flexray.xml"
}
]
}

Using Flexray with Host Mobility MX-4 T30 FR

Host Mobility MX-4 T30 FR can be used as a host for RemotiveBroker, alternatively, it can be configured to forward Flexray traffic.

Check out the bootstrap repository for more information on how to get going.