ich will Nachrichten via MQTT über das Netz schicken und zwischen einem Ubuntu Server 18.04.5 und einem RaspberryPi 3 mit Rasperian 10 austauschen. Der Broker läuft und der Client auch. Ich kann Nachrichten über die Console verschicken, aber wenn ich das aber mit Python versuche, dann bekomme ich den Fehler:
Code: Alles auswählen
1622369636: New connection from 192.168.0.11 on port 1883.
1622369636: New client connected from 192.168.0.11 as SMS_Daemon (c1, k60).
1622369636: Sending CONNACK to SMS_Daemon (0, 0)
1622369706: Socket error on client SMS_Daemon, disconnecting.
Ich habe den Code aus einem Tutorial und habe, nachdem das nicht funktioniert hat, anderen Code aus einem anderen Tutorial verwendet, mit dem demselben Ergebnis. Jetzt ist mir aufgefallen, dass die Mosquitto Version auf dem Server eine 1.4.15 und auf dem Raspberry eine 1.5.7 ist, wobei auf dem Server Mosquitto Server und Mosquitto Client installiert sind, auf auf dem Raspberry nur Mosquitto Client. Beide Versionen sind die aktuellen aus dem Standard Repository.
Der Python Code ist:
Code: Alles auswählen
# -*- coding: utf8' -*-
import paho.mqtt.client as mqtt
mqttTopic = 'RaspberryPi1/SMS_Daemon'
# Funktionen für MQTT CLient
def connect_msg():
print("Connect to broker")
def publish_msg():
print("Message published")
#MQTT Client generieren
mqttClient = mqtt.Client(client_id='SMS_Daemon') #MQTT Client erzeugen
mqttClient.on_connect = connect_msg #Das Event das bei Connect zum Broker ausgelöst wird
mqttClient.on_publish = publish_msg #Das Event das bei publish ausgelöst wird
mqttClient.connect("192.168.0.1",1883) #Connect zum Broker
Vielen Dank im Voraus