combined deduCtiOn and abduCtiOn (CoCo) reasoner.
CoCo relies on CLIPS for reacting to the dynamic changes which happen into the urban environment.
- Download CLIPS v6.4.2 and unzip the zip file into the
clips_core_source_642folder. - Reach the
clips_core_source_642/corefolder and compile CLIPS throughmake release_cpp. - Copy all the header files into the
/usr/local/include/clipsfolder throughsudo cp *.h /usr/local/include/clips/. - Copy the library into the
/usr/local/libfolder throughsudo cp libclips.a /usr/local/lib/.
CoCo relies on MongoDB for storing the data. It is required, in particular, to install the cxx drivers for connecting CoCo to a MongoDB database.
Installig OpenSSL
sudo apt-get install libssl-devInstalling MongoDB cxx drivers
Download and configure the mongo-cxx driver.
curl -OL https://github.com/mongodb/mongo-cxx-driver/releases/download/r3.10.1/mongo-cxx-driver-r3.10.1.tar.gz
tar -xzf mongo-cxx-driver-r3.10.1.tar.gz
cd mongo-cxx-driver-r3.10.1/buildConfigure the driver.
cmake .. -DCMAKE_BUILD_TYPE=Release -DMONGOCXX_OVERRIDE_DEFAULT_INSTALL_PREFIX=OFFBuild and install il.
cmake --build .
sudo cmake --build . --target installInstalling MongoDB (optional)
For installation of MongoDB refer to the official documentation.
CoCo allows to integrate with MQTT brokers for receiving data from IoT devices. To enable this feature, it is required to install the Paho MQTT C++ library.
Installing Paho MQTT C++ library
sudo apt-get install libssl-devDownload and configure the Paho MQTT C++ library.
git clone https://github.com/eclipse/paho.mqtt.cpp
cd paho.mqtt.cpp
git checkout v1.4.0
git submodule init
git submodule update
cmake -Bbuild -H. -DPAHO_WITH_MQTT_C=ON
sudo cmake --build build/ --target install