BlueZero v2
BlueZero (in short, "B0") is a cross-platform middleware which provides tools for interconnecting pieces of software running in multiple threads, processes or machines.
It has some similarities with ROS, although it only focuses on providing communication paradigms (client/server and publisher/subscriber) and message transport (based on ZeroMQ), while being agnostic to message serialization format or common protocols and data structures.
This project uses semantic versioning.
Documentation
See the generated docs/index.html
for the documentation.
License
See LICENSE.md.
Dependencies
Required Libraries
- ZeroMQ v4.1+
- Boost v1.54+
Optional Libraries
- zlib (for compressing payloads)
- lz4 (for compressing payloads)
- Doxygen (for generating documentation)
- Graphviz (for generating documentation)
- mscgen (for generating documentation)
Ubuntu 16
Install the following apt packages:
- libzmq3-dev
- libboost-all-dev
Ubuntu 14
Install the following apt packages:
- libboost-all-dev
The ZeroMQ apt package is too old. Compile and install it from the git repository:
Windows (vcpkg)
Install the following vcpkg packages:
- cmake
- boost
- zlib
- zeromq
macOS (homebrew)
Install the following:
- cmake
- boost
- zlib
- zeromq
Compiling
git clone --branch v2 --recursive https://github.com/CoppeliaRobotics/bluezero
cd bluezero
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Debug -DBUILD_GUI=ON -DBUILD_EXAMPLES=ON ..
make
Optionally, generate the documentation (requires Doxygen, Graphviz and mscgen installed):
make doc
Optionally, run unit tests:
make test