Giter Club home page Giter Club logo

automotive-message-broker's Introduction

Automotive Message Broker is a vehicle network abstraction system.  It brokers information from the vehicle
to applications.

Automotive Message Broker is built using CMake and requires libltdl (libtool), json-glib, and boost packages.  


About the Git Tree:
master is expected to be unstable and may not even compile.  If you want something more stable, checkout one of the 
release branches (ie, 0.9.0, 0.10.0, etc)


To build:

cd automotive-message-broker
mkdir build
cd build
cmake ..
make

To install:

sudo make install

To run:

ambd

ambd can load different plugins.  The config file specifies what plugins to use.  The default config located in
/etc/ambd/config.  You can change this or use your own config to have ambd use your own plugins.  For example:

# copy the config to your own config
cp /etc/ambd/config myconfig

# edit myconfig and specify the path to your plugin:
# change the line: 
"sources" : [ { "path" : "../plugins/examplesourceplugin.so" } ],
# to:
"sources" : [ { "path" : "/path/to/mysourceplugin.so" } ],

Now you can run ambd with:

ambd -c /path/to/myconfig

also see ambd -h


Running on multiple machines

ambd can run on multiple machines and share data across a network.  This is primarily done through the websocket
sink and source plugins.  The server machine, the machine with physical access to data, runs the 
websocket sink plugin and the client, the machine elsewhere on the network, runs the websocket source plugin.

There are example configurations in the source called "configwebsocketsink" and "configwebsocketsource" that
show how to configure ambd.  These are found in the examples folder.

Here's an example on how to run:

cd automotive-message-broker/examples
ambd -c configwebsocketsink

(in another terminal)
ambd -c configwebsocketsource



Running with other plugins

To learn about running AMB with other plugins, please see the plugins/*/README.  



Running with the Qt mainloop:

Some source and sink plugins may want to use the Qt-based mainloop.  To enable the Qt mainloop, run cmake
with -Duse_qtcore=On:

cmake .. -Duse_qtcore=On

Alternatively, the Qt-based mainloop will be enabled if you enable an Qt-based
source or sink plugin at compile time.

You will also need to edit your config to enable the Qt-based mainloop:

{
	"mainloop" : "/usr/lib/automotive-message-broker/qtmainloopplugin.so",
	"sources" : [...],
	"sinks" : [...]
}

NOTE: by default the glib mainloop will be used.



Questions/Issues/Comments:

Questions or Comments can be emailed to:
[email protected]

Issues can be submitted on our github page:
https://github.com/otcshare/automotive-message-broker/issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.