About Project
We are Team 12 in CTIS Department at Bilkent University and we developed the senior project CentralRoot which is sponsored by ICterra.
Objectives
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.
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