kapsali29 / FIWAREHub

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

FIWAREHub

FIWARE as a means of big data analysis.

FIWAREHub was released as a dissertation for my academic studies. It serves the purpose of creating a FIWARE ecosystem in order to analyze big data. In my case, FIWARE IoT agents were provisioned as a simulation layer for big data, fed from a dataset store. The data was later imported into a SQL Database and analyzed further via the use of Business Intelligence software.

Prerequisites

This solution has been developed using Microsoft dotnet Core. Dotnet core in itself is cross-platform and should run on all OS environments. There are no extra requirements, other than the Docker-Engine

Installation

OS X & Linux:

git clone https://github.com/petsasj/FIWAREHub.git

Windows: Download repository via Github and unzip.

Download the Dataset files and place the archives in the FIWAREHub.Datasets folder.
Weather Dataset
Accidents Dataset

Open terminal/console targetting the root folder.

docker-compose build
docker-compose up -d

Usage example

After verifying that you are meeting all the installation requirements (and downloaded the datasets from the above links), proceed below.

To get started, after cloning the git repository do the following:

  • Navigate into the root folder.
  • Modify the .env file according to your needs.
  • Make sure that you modify the NETWORKMODE attribute. In its default setting it is setup for use in a custom Docker network. Default values are host or bridge.
  • Set Database passwords according to your needs
  • Run docker-compose build
  • Run docker-compose up -d
  • Using the POSTMAN Collections below, provision both JSON and UltraLight devices
  • That's it!

Any measurement posted in either of the JSON Devices or UltraLight Devices will be synchronized both into Microsoft SQL Server and Apache-Superset.

In order to access Apache-Superset:

  • Run docker-compose exec superset superset-init
  • Create a new user
  • Add datasources (both Database and Tables)
  • Visit {localhost}:8088.
  • Import Dashboards from the corresponding folder.

POSTMAN Collections

The following POSTMAN Collection corresponds to the Web API Actions within the application FIWAREHub.Web

Namely the most useful actions are:

  • Provision JSON Devices
  • Provision Ultralight Devices
  • Test Weather Measurement (via JSON)
  • Test Road Measurement (via Ultralight)

Run in Postman

The following POSTMAN Collection summarizes all requests for FIWARE IoT Agents and Orion. The names are pretty explanatory and descriptions have been added within them.

Run in Postman

Release History

  • 1.0.0
    • Initial Release
  • 0.2.0
    • Software architecture implemented
  • 0.0.1
    • Work in progress

Meta

Yiannis Petsas - el05628@mail.ntua.gr

Distributed under the GPL license. See LICENSE for more information.

https://github.com/petsasj/FIWAREHub

Contributing

  1. Fork it (https://github.com/petsasj/FIWAREHub/fork)
  2. Create your feature branch (git checkout -b feature/fooBar)
  3. Commit your changes (git commit -am 'Add some fooBar')
  4. Push to the branch (git push origin feature/fooBar)
  5. Create a new Pull Request

About


Languages

Language:C# 53.6%Language:JavaScript 22.6%Language:HTML 15.6%Language:CSS 6.4%Language:Dockerfile 0.9%Language:Python 0.5%Language:Shell 0.4%