Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/abshar-shihab/pc-based-mqtt-adhoc-mesh-networking
Connect PCs through MQTT Network using AdHoc Routing Protocol.
https://github.com/abshar-shihab/pc-based-mqtt-adhoc-mesh-networking
ip mesh-networks mqtt mqtt-broker mqtt-mesh mqtt-network mqtt-protocol tcp
Last synced: 4 months ago
JSON representation
Connect PCs through MQTT Network using AdHoc Routing Protocol.
- Host: GitHub
- URL: https://github.com/abshar-shihab/pc-based-mqtt-adhoc-mesh-networking
- Owner: Abshar-Shihab
- Created: 2024-07-23T05:33:02.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2024-08-01T12:37:06.000Z (6 months ago)
- Last Synced: 2024-10-10T14:02:29.827Z (4 months ago)
- Topics: ip, mesh-networks, mqtt, mqtt-broker, mqtt-mesh, mqtt-network, mqtt-protocol, tcp
- Language: Python
- Homepage:
- Size: 93.8 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# PC-Based MQTT AdHoc Mesh Networking
## Project Overview
We are a team of four members working on developing a PC-based MQTT AdHoc mesh networking protocol. Our primary goal is to establish a robust messaging system using MQTT and Mosquitto. This project serves as a precursor to implementing the protocol on IoT devices, ensuring that we thoroughly understand the underlying mechanisms and requirements.
## Project Goals
- **Understanding Mesh Networking**: Before transitioning to IoT devices, we aim to grasp the essentials of mesh networking and the MQTT protocol.
- **Testing and Validation**: By implementing and testing the protocol on PCs, we can validate our approach and troubleshoot any issues in a controlled environment.
- **Scalability**: Our setup will provide insights into the scalability of the network and its efficiency in message routing.## Why MQTT Mesh Network?
### Benefits of MQTT
- **Lightweight Protocol**: MQTT is designed for constrained devices and low-bandwidth, high-latency networks. Its lightweight nature makes it ideal for IoT applications.
- **Publish/Subscribe Model**: This model allows for efficient message distribution and decouples the producers and consumers of information.
- **Scalability**: MQTT can easily scale from small home networks to large industrial applications.### Benefits of Mesh Networking
- **Redundancy**: Mesh networks provide multiple paths for data to travel, ensuring reliability and redundancy.
- **Self-Healing**: In case of node failures, mesh networks can automatically reconfigure to maintain communication.
- **Scalability**: Adding more nodes to a mesh network is straightforward and doesn't require significant changes to the existing infrastructure.## Why AdHoc Routing Protocol?
### Advantages of AdHoc Routing
- **Dynamic Topology**: AdHoc routing protocols can handle frequent changes in network topology, which is common in IoT environments.
- **On-Demand Routing**: Routes are established on an as-needed basis, reducing the overhead of maintaining unused routes.
- **Flexibility**: AdHoc protocols are well-suited for scenarios where network infrastructure is unavailable or impractical.## Implementation Details
### Architecture
1. **MQTT Broker (Mosquitto)**: We use Mosquitto as our MQTT broker to facilitate message routing between nodes.
2. **PC Nodes**: Each PC in the network acts as a node, capable of sending and receiving messages.
3. **Routing Protocol**: We implement a custom AdHoc routing protocol to determine the best path for message delivery.### Message Sending Process
1. **Connection Establishment**: Each node establishes a connection with the MQTT broker.
2. **Topic Subscription**: Nodes subscribe to relevant topics for message routing.
3. **Message Publishing**: Messages are published to the broker, which forwards them to the appropriate nodes based on the routing protocol.### Testing and Validation
- **Simulation**: We simulate various network scenarios to test the resilience and efficiency of our protocol.
- **Debugging Tools**: We use tools to view and debug routing tables and monitor message flow between nodes.## Future Work
- **Transition to IoT Devices**: After validating the protocol on PCs, we plan to implement it on IoT devices.
- **Performance Optimization**: We will optimize the protocol for better performance and lower latency.
- **Security Enhancements**: Adding security features to ensure secure communication between nodes.## Conclusion
Our PC-Based MQTT AdHoc Mesh Networking project is a significant step towards creating a reliable and scalable messaging system for IoT applications. By thoroughly understanding and validating the protocol on PCs, we ensure a smoother transition to IoT devices in the future.
---