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