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.
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
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
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.
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)
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.
- 1.0.0
- Initial Release
- 0.2.0
- Software architecture implemented
- 0.0.1
- Work in progress
Yiannis Petsas - el05628@mail.ntua.gr
Distributed under the GPL license. See LICENSE
for more information.
https://github.com/petsasj/FIWAREHub
- Fork it (https://github.com/petsasj/FIWAREHub/fork)
- Create your feature branch (
git checkout -b feature/fooBar
) - Commit your changes (
git commit -am 'Add some fooBar'
) - Push to the branch (
git push origin feature/fooBar
) - Create a new Pull Request