The edge-IoT-server
repository is designed to provide a minimalistic yet effective edge node server based on a four-layer architecture, functioning as a gateway for field nodes in IoT deployments. This project draws inspiration from the IOTstack project, aiming to offer a streamlined solution for edge computing needs.
This project is mainly focused on Linux-based systems and has been specifically tested on Ubuntu 24 LTS. However, for Windows users, XAMPP is recommended for easy setup.
- Layered Architecture 🏗️: Implements a four-layer model for modularity and scalability.
- LAMP Stack Integration (Linux) 🖥️: Utilizes the Linux, Apache, MySQL, and PHP stack to ensure a robust and scalable server environment.
- XAMPP Compatibility (Windows) 💻: Allows easy setup on Windows using XAMPP.
- Data Acquisition (DAQ) 📡: Implements mechanisms for collecting and processing data from various IoT sensors and devices.
- Stream Synchronization ⏳: Ensures real-time data streaming and synchronization between devices and the server.
- SQL Data Download 💾: Facilitates efficient retrieval and management of data stored in SQL databases.
- Dashboard Web UI 📊: Provides a user-friendly web interface for monitoring and managing connected devices and data streams.
-
Perception Layer 📡: Includes all field nodes and sensors that collect data.
-
Network Layer 🌐: Handles communication protocols like MQTT, HTTP, and WebSockets.
-
Edge Processing Layer ⚡: Processes and filters data before sending it to the cloud or database.
-
Application Layer 🎛️: Web dashboard and API endpoints for user interaction.
To set up the edge-IoT-server
, follow these steps:
git clone https://github.com/855princekumar/edge-IoT-server.git
cd edge-IoT-server
- Install LAMP stack (Linux, Apache, MySQL, PHP):
sudo apt update sudo apt install apache2 mysql-server php libapache2-mod-php php-mysql
- Install any additional dependencies required by the project.
- Download and install XAMPP from Apache Friends.
- Start Apache and MySQL from the XAMPP control panel.
- Set up configuration files as needed, ensuring that database connections and other settings are correctly specified.
sudo systemctl start apache2
sudo systemctl enable apache2
- Start Apache and MySQL from the XAMPP control panel.
- Open a web browser and navigate to
http://localhost
(or the appropriate IP address) to access the dashboard interface.
- Perception Layer (Sensors & Nodes) 📡: Houses data acquisition modules.
- Network Layer (Communication) 🌐: Handles data transmission between devices and the server.
- Edge Processing Layer ⚡: Includes real-time processing and filtering mechanisms.
- Application Layer (Dashboard & API) 🎛️: Contains front-end web dashboard and API components.
This project is inspired by:
While IOTstack provides a comprehensive Docker-based solution for IoT on Raspberry Pi, edge-IoT-server
focuses on delivering a minimalistic and efficient edge server tailored for specific IoT gateway applications.
Contributions are welcome! If you'd like to contribute to this project:
- Fork the repository.
- Create a new branch.
- Submit a pull request.
Ensure that your code adheres to the project's coding standards and includes appropriate tests.
By providing a lightweight and structured four-layer edge server solution, edge-IoT-server
aims to simplify the deployment and management of IoT devices in various environments. 🚀