Mqtt kullanan var mı?

Merhabalar. Aranızda mqtt kullanan var mı?
ben paho-mqtt modülünü kullanarak bir proje yapmaya calısıyorum. Basit IOT denilebilir. paho-mqtt dmkümantasyonunda yer alan kodlarla broker a veri yolluyorum ama bu veriler sürekli gitmez ise hemen siliniyor çok kalıcı olmuyor. Aynı zamanda konu1/baslik1 den 1 kere veri geldiyse onu okuyamıyorum. sadece sürekli veri gelince okuyabiliyorum. tek seferlik veriler hep kayboluyor. ancak o kanaldan okumayı sürekli yaparken kaybolmuyor. nedenini bilen var mı acaba?
kullandığım kodlar:

import paho.mqtt.client as mqtt

# The callback for when the client receives a CONNACK response from the server.
def on_connect(client, userdata, flags, rc):
    print("Connected with result code "+str(rc))

    # Subscribing in on_connect() means that if we lose the connection and
    # reconnect then subscriptions will be renewed.
    client.publish(topic="konu1/baslik1", payload="deneme lvl=1", qos=1)
    client.subscribe("konu1/baslik1")

# The callback for when a PUBLISH message is received from the server.
def on_message(client, userdata, msg):
    client.publish(topic="konu1/baslik1", payload="deneme lvl=1", qos=1)
    print(msg.topic+" "+str(msg.payload))

client = mqtt.Client()
client.on_connect = on_connect
client.on_message = on_message

client.connect("mqtt.eclipse.org", 1883, 60)

# Blocking call that processes network traffic, dispatches callbacks and
# handles reconnecting.
# Other loop*() functions are available that give a threaded interface and a
# manual interface.
client.loop_forever()

broker olarak eclipse’yi kullanmıyorum. tanıdığım birisine ait olduğundan adresi paylaşmadım. Yardım ederseniz memnun olurum

Eger paketlerin icerigini degistirirsen olayin sureklilik/tek-seferliklik olmadigini gorebilirsin: subscriber yokken publish edilen mesajlar kayboluyor. Kalicilik az degil, hic; protokol geregi.

Mesajlari RETAIN etmen gerekebilir.

dediğiniz tekrar tekrar gmndermek mi?

publish den baska gönderme biçimi var mı?

Degil, MQTT standardinda gecen bir ifade.

Biraz zayif kalmis sanirim:

Sorunun dogrudan cozumu RETAIN. Duckduckgo’da “mqtt retain” aratiniz.

1 Beğeni

evet sorunum çözüldü çok telekkür ederim. :slight_smile: