The IoT-Framework is a computational engine for the Internet of Things (IoT). It was developed jointly by Ericsson Research, the Swedish Institute of Computer Science (SICS) and Uppsala University in the scope of Project CS 2013. This repository contains the server side of the system, while IoT-Framework-GUI contains the graphical user interface.
Moreover, there is a publication which describes the inner workings of the engine along with how to measure its performance. This publication has title "Performance Evaluation of an IoT Platform" and can be found here.
You can check out a demo of the IoT-Framework here: IoT-Framework demo. Please mind that the demo assumes that you are using both the IoT-Framework Engine and the IoT-Framework-GUI.
Installing the project
Download and compile the linux system dependencies, (only needed once per machine)
Download and compile the project dependencies, and compile the project sources
Running the project
Run the application by using startup script (one of the commands below)
sudo ./scripts/sensec.sh start
Alternative run (type each in separate shells)
make run_rabbit make run_es make run_nodejs % don't forget to export R_HOME for example export R_HOME="/usr/lib/R" make run
To shutdown either close each individual shell or run one of the commands below
sudo ./scripts/sensec.sh stop
Running the project via Docker
Retrieve the Dockerfile
Build the docker image
docker build -t username/image_name:version home_directory (or more concretely) docker build -t costa@iot-f:v1 .
Run the image
docker run -p 8080 -dti username/image_name:version (or more concretely) docker run -p -dti costa@iot-f:v1
Check if the system is running. This command should show if the system is running properly and also the port mapping that has been made for port 8080.
There are two ways of setting up the environment for testing. Either run the startup script by one of the below commands.
make test_setup sudo ./scripts/sensec.sh test_setup
Or run each of the following commands in a separate shell
make run_rabbit make run_es make run_nodejs make run_fake_resource
Run the tests