Skip to content

Scalable UDP Server for Low-Latency Humidity Data Transmission is an advanced open-source IoT solution that delivers real-time sensor data via a UDP server. Featuring modular design, extensive logging, simulation modes, containerization with Docker, and integrated CI/CD workflows.

Notifications You must be signed in to change notification settings

hari-vdh/Scalable-UDP-Server-for-Low-Latency-Data-Transmission

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Scalable UDP Server for Low-Latency Data Transmission 🚀

Scalable UDP Server

Welcome to the Scalable UDP Server for Low-Latency Data Transmission! This repository offers an advanced open-source IoT solution designed to deliver real-time sensor data efficiently. Our server focuses on low-latency humidity data transmission, ensuring that you receive your data when you need it most.

Download the latest release and start your journey with us!


Table of Contents

  1. Features
  2. Installation
  3. Usage
  4. Configuration
  5. Testing
  6. Contributing
  7. License
  8. Support

Features 🌟

  • Real-Time Data Transmission: Our server efficiently handles low-latency data transmission using UDP.
  • Modular Design: Easily extend the server with additional modules as your needs grow.
  • Extensive Logging: Track your server's performance and data flow with built-in logging capabilities.
  • Simulation Modes: Test your setup with simulated data before deploying to production.
  • Containerization with Docker: Simplify deployment and scaling with Docker support.
  • Integrated CI/CD Workflows: Streamline your development process with continuous integration and delivery.
  • Open Source: Contribute to our project and help us improve!

Installation ⚙️

To get started, follow these steps to install the server on your machine.

Prerequisites

  • Python 3.7 or higher
  • Docker (optional, but recommended)
  • Git

Clone the Repository

Open your terminal and run the following command:

git clone https://github.com/hari-vdh/Scalable-UDP-Server-for-Low-Latency-Data-Transmission.git
cd Scalable-UDP-Server-for-Low-Latency-Data-Transmission

Install Dependencies

Use pip to install the required Python packages:

pip install -r requirements.txt

Running with Docker

If you prefer to run the server using Docker, you can build and run the Docker image with:

docker build -t scalable-udp-server .
docker run -p 8080:8080 scalable-udp-server

Usage 📊

Once you have installed the server, you can start using it to transmit humidity data.

Starting the Server

To start the server, run the following command:

python server.py

The server will listen for incoming UDP packets on the specified port.

Sending Data

You can send data to the server using any UDP client. Here is a simple example using Python:

import socket

UDP_IP = "127.0.0.1"
UDP_PORT = 8080
MESSAGE = b"Humidity: 45%"

sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.sendto(MESSAGE, (UDP_IP, UDP_PORT))

Viewing Logs

Logs are saved in the logs directory. You can view the logs to monitor data transmission and server performance.


Configuration ⚙️

The server configuration is stored in a config.json file. You can modify the following settings:

  • host: The IP address the server will listen on.
  • port: The port number for incoming data.
  • log_level: The level of logging (e.g., DEBUG, INFO, WARNING).

Example config.json:

{
  "host": "0.0.0.0",
  "port": 8080,
  "log_level": "INFO"
}

Testing 🧪

We provide a set of tests to ensure the server operates as expected. To run the tests, use the following command:

pytest tests/

You can add your own tests in the tests directory.


Contributing 🤝

We welcome contributions! If you would like to contribute to the project, please follow these steps:

  1. Fork the repository.
  2. Create a new branch (git checkout -b feature/YourFeature).
  3. Make your changes.
  4. Commit your changes (git commit -m 'Add some feature').
  5. Push to the branch (git push origin feature/YourFeature).
  6. Open a Pull Request.

License 📜

This project is licensed under the MIT License. See the LICENSE file for details.


Support 💬

If you have any questions or issues, please check the Releases section for updates or create an issue in the repository.


Thank you for using the Scalable UDP Server for Low-Latency Data Transmission! We hope you find it useful for your IoT projects. Happy coding!

About

Scalable UDP Server for Low-Latency Humidity Data Transmission is an advanced open-source IoT solution that delivers real-time sensor data via a UDP server. Featuring modular design, extensive logging, simulation modes, containerization with Docker, and integrated CI/CD workflows.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published