bleh
[profile/ivi/automotive-message-broker.git] / README
1 Automotive Message Broker is a vehicle network abstraction system.  It brokers information from the vehicle
2 to applications.
3
4 Automotive Message Broker is built using CMake and requires libltdl (libtool), json-glib, and boost packages.  
5
6 To build:
7
8 cd automotive-message-broker
9 mkdir build
10 cd build
11 cmake ..
12 make
13
14 To install:
15
16 sudo make install
17
18 To run:
19
20 ambd
21
22 ambd can load different plugins.  The config file specifies what plugins to use.  The default config located in
23 /etc/ambd/config.  You can change this or use your own config to have ambd use your own plugins.  For example:
24
25 # copy the config to your own config
26 cp /etc/ambd/config myconfig
27
28 # edit myconfig and specify the path to your plugin:
29 # change the line: 
30 "sources" : [ { "path" : "../plugins/examplesourceplugin.so" } ],
31 # to:
32 "sources" : [ { "path" : "/path/to/mysourceplugin.so" } ],
33
34 Now you can run ambd with:
35
36 ambd -c /path/to/myconfig
37
38 also see ambd -h
39
40
41 Running on multiple machines
42
43 ambd can run on multiple machines and share data across a network.  This is primarily done through the websocket
44 sink and source plugins.  The server machine, the machine with physical access to data, runs the 
45 websocket sink plugin and the client, the machine elsewhere on the network, runs the websocket source plugin.
46
47 There are example configurations in the source called "configwebsocketsink" and "configwebsocketsource" that
48 show how to configure ambd.  These are found in the examples folder.
49
50 Here's an example on how to run:
51
52 cd automotive-message-broker/examples
53 ambd -c configwebsocketsink
54
55 (in another terminal)
56 ambd -c configwebsocketsource
57
58
59
60 Running with other plugins
61
62 To learn about running AMB with other plugins, please see the plugins/*/README.  
63
64
65
66 Running with the Qt mainloop:
67
68 Some source and sink plugins may want to use the Qt-based mainloop.  To enable the Qt mainloop, run cmake
69 with -Duse_qtcore=On:
70
71 cmake .. -Duse_qtcore=On
72
73 Alternatively, the Qt-based mainloop will be enabled if you enable an Qt-based
74 source or sink plugin at compile time.
75
76 You will also need to edit your config to enable the Qt-based mainloop:
77
78 {
79         "mainloop" : "/usr/lib/automotive-message-broker/qtmainloopplugin.so",
80         "sources" : [...],
81         "sinks" : [...]
82 }
83
84 NOTE: by default the glib mainloop will be used.
85
86
87
88 Questions/Issues/Comments:
89
90 Questions or Comments can be emailed to:
91 tripzero.kev@gmail.com
92
93 Issues can be submitted on our github page:
94 https://github.com/otcshare/automotive-message-broker/issues