82 lines
1.8 KiB
Python

import paho.mqtt.client as mqtt
import sys
# ===== KONFIGURATION =====
# BROKER = "141.75.215.233"
PORT = 1883
TOPIC = "PREDICTION"
MESSAGE = "sad gummy bitches"
USERNAME = None
PASSWORD = None
QOS = 0
# ==========================
import socket
def get_local_ip():
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
try:
s.connect(("8.8.8.8", 80))
ip = s.getsockname()[0]
finally:
s.close()
return ip
def on_connect(client, userdata, flags, rc):
if rc == 0:
print("✅ Erfolgreich mit Broker verbunden")
# Subscribe
client.subscribe(TOPIC, qos=QOS)
print(f"📡 Abonniert Topic: '{TOPIC}'")
# Publish
client.publish(TOPIC, MESSAGE, qos=QOS)
print(f"📤 Nachricht gesendet an Topic '{TOPIC}': {MESSAGE}")
else:
print(f"❌ Verbindung fehlgeschlagen mit Code {rc}")
def on_message(client, userdata, msg):
try:
payload = msg.payload.decode()
except:
payload = msg.payload
print("📥 Nachricht empfangen:")
print(f" Topic: {msg.topic}")
print(f" QoS: {msg.qos}")
print(f" Payload: {payload}")
print("-" * 40)
def on_disconnect(client, userdata, rc):
print("⚠ Verbindung getrennt")
def main():
client = mqtt.Client()
BROKER = get_local_ip()
if USERNAME and PASSWORD:
client.username_pw_set(USERNAME, PASSWORD)
client.on_connect = on_connect
client.on_message = on_message
client.on_disconnect = on_disconnect
try:
client.connect(BROKER, PORT, 60)
client.loop_forever()
except Exception as e:
print("Fehler:", e)
sys.exit(1)
if __name__ == "__main__":
main()