Ich bin ein Student, der MQTT studiert und ich versuche, ein JPG-Bild mit MQTT Mosquitto Broker (Pub und Sub) in Raspberry Pi2 zu senden.Wie kann ich ein Bild mit mosquitto senden?
Ich habe viele Fehler gelöst, funktioniert jedoch nicht.
Das ist mein Python-Code pub.py (modifizierte)
import paho.mqtt.client as mqtt
def on_publish(mosq, userdata, mid):
mosq.disconnect()
client = mqtt.Client()
client.connect("test.mosquitto.org", 1883, 60)
client.on_publish = on_publish
f=open("b.jpg", "rb") #3.7kiB in same folder
fileContent = f.read()
byteArr = bytearray(fileContent)
client.publish("image",byteArr,0)
client.loop_forever()
und es ist sub.py (modifizierte)
import paho.mqtt.client as mqtt
def on_connect(client, userdata, rc):
print("Connect" + str(rc))
client.subscribe("image")
def on_message(client, userdata, msg):
print "Topic : ", msg.topic
f = open("/tmp/output.jpg", "w") #there is a output.jpg which is different
f.write(msg.payload)
f.close()
client = mqtt.Client()
client.on_connect = on_connect
client.on_message = on_message
client.connect("test.mosquitto.org", 1883, 60)
client.loop_forever()
Mein Python verson ist 2.7.9.
Nachdem ich einen Fehler gelöst habe, scheint es zu funktionieren, aber es tut es nicht.
Wenn ich die sub.py implementieren, verbindet es erfolgreich, also implementiere ich pub.py in anderen Terminal.
Es gibt jedoch keine Reaktion ohne Verbindungsmeldung, die „Verbindung mit Ergebniscode 0“ ist
Es gibt keine Fehlermeldung, damit ich weiß nicht, was mein Fehler ist.
Mein Code ist falsch? Ich denke es ist in Ordnung.
Es tut mir leid, wenn es nur eine grundlegende Codierung Fähigkeit ist.
Bitte helfen Sie mir, ich brauche deine Hand.
Ich recode nach Ihrer Antwort. Es funktioniert jedoch immer noch nicht. Irgendwann funktioniert pub.py nicht für immer. Ist meine Code-Reihenfolge falsch? – ahnstar
Definieren Sie "funktioniert nicht", es funktioniert einfach gut für mich – hardillb
Ich denke schon, wenn ich meinen Code lese ich denke, es gibt keinen logischen oder Syntaxfehler. Es scheint zu wokk tatsächlich Es funktioniert, aber ich sehe keine Thema Nachricht in sub.py Termial, wenn ich pub.py/sub.py implementieren. Ich denke, es veröffentlicht kein Bild. Ich kann nur Verbindungssatz sehen. – ahnstar