This project provides a bridge between MQTT (Message Queuing Telemetry Transport) and TCP (Transmission Control Protocol) communication. It allows you to forward messages between MQTT topics and TCP clients seamlessly. The project includes a graphical user interface (GUI) for easy configuration and management.
-
MQTT to TCP Forwarding: Forward messages received on an MQTT topic to connected TCP clients.
-
TCP to MQTT Forwarding: Forward data received from TCP clients to an MQTT topic.
-
GUI Configuration: Configure MQTT broker details, TCP server settings, and topics through a user-friendly GUI.
-
TLS/SSL Support: Secure your MQTT connections with TLS/SSL encryption.
-
Multi-Client Support: Handle multiple TCP client connections simultaneously.
-
Configuration Persistence: Save and load configuration settings from a JSON file.
-
Python 3.x
-
paho-mqtt
library -
Pillow
library (for GUI image handling) -
tkinter
(for GUI) -
pyinstaller
(for compiling to .exe)
-
Clone the repository:
git clone https://github.com/SAMMYBOOOOM/mqtt-tcp-bridge.git cd mqtt-tcp-bridge
-
Install the required Python packages:
pip install -r requirements.txt
-
Run the application:
- To run the Python script directly:
python MQTT_tcp_gui.py
- To use the compiled
.exe
file, navigate to thebuild
directory and run:./MQTT_tcp_gui.exe
- To run the Python script directly:
-
Launch the Application:
- Run the
MQTT_tcp_gui.exe
from thebuild
directory.
- Run the
-
Configure Settings:
-
Enter the MQTT broker details (server, port, username, password).
-
Specify the MQTT topics for call and response.
-
Set the TCP server IP and port.
-
Enable or disable TLS/SSL as needed.
-
-
Submit Configuration:
- Click the "Submit" button to save the configuration and start the MQTT client and TCP server.
-
Monitor Connections:
- The application will print connection and message forwarding details to the console.
This project is licensed under the GNU General Public License Version 2 (GPL-2.0). See the LICENSE file for more details.
Contributions are welcome! Please fork the repository and submit a pull request with your changes.
If you encounter any issues, please open an issue on the GitHub repository.
- Developed by Sam.
With this setup, you can seamlessly transfer MQTT messages to Mission Planner via TCP, enabling integration with MAVLink-based systems. 🚀