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.
There are is an Ericsson Research blog post that gives a brief intro to what the IoT-Framework is and what can be done using it: A computational engine for the Internet of Things
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.
-
Download and compile the linux system dependencies, (only needed once per machine)
make install_linux_deps
-
Download and compile the project dependencies, and compile the project sources
make install
-
Run the application by using startup script (one of the commands below)
make run_all
or
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
make stop_all
or
sudo ./scripts/sensec.sh stop
-
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.
docker ps
-
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
make test