Initial Commit

This commit is contained in:
2025-02-19 19:09:25 +00:00
commit 2d1fdda152
3 changed files with 57 additions and 0 deletions

5
Dockerfile Normal file
View File

@@ -0,0 +1,5 @@
FROM python:latest
WORKDIR /usr/local/bin
COPY mqtt-log.py .
RUN pip install --no-cache-dir paho-mqtt
CMD ["python","-u","mqtt-log.py"]

12
docker-compose.yaml Normal file
View File

@@ -0,0 +1,12 @@
version: '3.8'
services:
meshmqtt:
build:
context: .
ports:
- "777:777" # Adjust to your needs
environment:
- ENV_VAR=value # Optional environment variables
volumes:
- ./app:/app # Optional volume mount

40
mqtt-log.py Executable file
View File

@@ -0,0 +1,40 @@
import paho.mqtt.client as mqtt
import logging
# Configure logging
logging.basicConfig(filename="mqtt_messages.log", level=logging.INFO, format="%(asctime)s - %(message)s")
# MQTT Broker details
BROKER = "bonnie.pattinson.org" # Change to your broker address
PORT = 1883 # Default MQTT port
TOPIC = "msh/EU_868/2/json/#" # Change to your topic
USERNAME = "mesh" # Change to your MQTT username
PASSWORD = "Welcome123" # Change to your MQTT password
print("Script Loaded!")
def on_connect(client, userdata, flags, reason_code, properties):
if reason_code == 0:
print("Connected to MQTT Broker!")
client.subscribe(TOPIC)
else:
print(f"Failed to connect, return code {reason_code}")
# Callback when a message is received
def on_message(client, userdata, msg):
message = msg.payload.decode("utf-8", errors="replace")
log_entry = f"Topic: {msg.topic}, Message: {message}"
print(log_entry) # Print to console
logging.info(log_entry) # Log to file
# Setup MQTT client
client = mqtt.Client(callback_api_version=mqtt.CallbackAPIVersion.VERSION2)
client.username_pw_set(USERNAME, PASSWORD)
client.on_connect = on_connect
client.on_message = on_message
# Connect to the broker
client.connect(BROKER, PORT, 60)
# Keep listening for messages
client.loop_forever()