centralroot banner

End Unit Sensor
Data Accumulation
and Visualization

Get Started Features UI
icterra logo ctis logo bilkent logo

About Project

We are Team 12 in CTIS Department at Bilkent University and we developed the senior project CentralRoot which is sponsored by ICterra.


With the emerging demand and popularity of IoT devices, many sectors are seeking to integrate their existing devices to cloud based technologies. Therefore, we are initiating a proof-of-concept project that makes use of a Raspberry Pi transmitting sensor values with timestamps to a centralized system via MQTT and REST API to demonstrate integration of such IoT devices.

In this PoC project, the aim is to accumulate sensor data with timestamp in real-time over the Internet, visualize the data on a web interface, view it in real-time, create alarm conditions and manage IoT devices.

centralroot poster original size

Click for the original size (120x112.5 cm) ~8.3MB

System Architecture

Microservice architecture is implemented for the central system and the schema shows the current arhitecture. The communication between services is provided by RabbitMQ. A Mosquitto Broker is running to get sensor data via MQTT and a REST Service was implemented to receive sensor data from edge devices.

The data going to the Backend Service is sent to the relevant operator via WebSocket and visualized live on the dashboard. Sensor data is processed live in Alarm Service to check if custom alarm conditions are satisfied. If a condition is true, an alarm message is created.

Future Enhancements

VPN server, heartbeat, new alarm condition types, support for IEC104 protocol, detailed logging and log management, detailed report. Future architecture (PDF)

Major Features

Real-time Sensor Data

CentralRoot is able to gather, process and visualize sensor data via MQTT and REST API in real-time without delay.

Visualize Data Trends

The system enables operators to access, visualize and analyze historical sensor data for up to one year and more based on custom time range.

Custom Alarm Configurations

Operators can create custom alarm conditions and the system ensures that alarm notifications are analyzed and never missed by operators.

Manage Devices and Operators

Admin can register operators and edge devices, and assign the devices to the operators. Same device can be assigned to different operators.

Microservice Architecture

The system ensures that if one or more services are down, data is processed lossless after the service is up or with another instance.

NTP Server Time Sync

It synchronizes time in IoT devices and enables analysis of error chain among devices since sensor data timestamps are synced and accurate.

Project Web Interface

  • All
  • Operator UI
  • Admin UI
Operator Dashboard UI (Desktop)

Operator Dashboard Desktop

Operator Dashboard UI (Mobile)

Operator Dashboard Mobile

Operator Data Trends UI (Desktop)

Operator Data Trends

Admin Dashboard UI (Mobile)

Admin Dashboard Mobile

Admin Edge Device Operations UI (Desktop)

Admin Edge Device Op

Operator Edge Devices UI

Operator Edge Devices

Admin User Operations UI (Desktop)

Admin User Operations

Admin User Operations UI (Mobile)

Admin User Operations

Operator Alarms UI (Desktop)

User Alarms Desktop

Operator Alarms UI (Mobile)

User Alarms Mobile

Operator Custom Alarm Configurations UI (Mobile)

User Custom Alarm

Operator Custom Alarm Configurations UI (Desktop)

User Custom Alarm

Major Technologies Used


faruk eryılmaz

Faruk Eryılmaz

Team Leader
Faruk Eryılmaz
Team Leader
Team Member 2

Team Member 2

(Name removed at request)
Team Member 3

Team Member 3

(Name removed at request)
Team Member 4

Team Member 4

(Name removed at request)