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.
See the generated docs/index.html
for the documentation.
See LICENSE.md.
- ZeroMQ v4.1+
- Boost v1.54+
- zlib (for compressing payloads)
- lz4 (for compressing payloads)
- Doxygen (for generating documentation)
- Graphviz (for generating documentation)
- mscgen (for generating documentation)
Install the following apt packages:
- libzmq3-dev
- libboost-all-dev
Install the following apt packages:
- libboost-all-dev
The ZeroMQ apt package is too old. Compile and install it from the git repository:
Install the following vcpkg packages:
- cmake
- boost
- zlib
- zeromq
Install the following:
- cmake
- boost
- zlib
- zeromq
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