Ich versuche, ein Raspberry Pi (Raspbian, Jessie) zu konfigurieren, um Temperaturdaten von einem DS18B20-Sensor an meinen MQTT-Broker zu senden.Veröffentlichen von MQTT-Nachrichten aus einem Python-Skript auf einem Raspberry Pi
Ich habe Moskitos, Moskitokunden und Python-Moskitos installiert. Ich habe auch paho-mqtt installiert.
Mosquitto scheint gut zu funktionieren; Ich kann über die Befehlszeile veröffentlichen, aber ich kann kein Python-Skript, das ich geschrieben oder gefunden habe, veröffentlichen oder abonnieren.
Warum diese Arbeit von der Kommandozeile,
mosquitto_pub -h 192.168.0.21 -d -t test/test -m "Hello world!"
während dieses Skript nicht der Fall ist?
#!/usr/bin/env python
import paho.mqtt.client as mqtt
# set up the mqtt client
mqttc = mqtt.Client("python_pub")
# the server to publish to, and corresponding port
mqttc.connect("192.168.0.21", 1883)
# the topic to publish to, and the message to publish
mqttc.publish("test/test", "Hello world!")
# establish a two-second timeout
mqttc.loop(2)
Vielen Dank im Voraus!
EDIT: Experimentieren, ich fand, dass durch Ändern der IP im Skript zu dem des Pi selbst, ich MQTT veröffentlichen kann, die vom Pi empfangen wird. Der Pi kann auch Nachrichten empfangen, die ihm veröffentlicht wurden. Ich kann jedoch immer noch nicht von einem Skript zu einem externen Broker veröffentlichen. So, jetzt ich denke, es ist ein Broker Ausgabe ...
was meinst du Das Skript funktioniert nicht? Was genau passiert? – Nik
Der Code wie gepostet funktioniert für mich (es ist nicht großartig, aber es funktioniert). Bitte aktualisieren Sie die Frage mit weiteren Details darüber, was nicht funktioniert, wenn Sie es versuchen – hardillb
Beim Veröffentlichen über die Befehlszeile wird die Nachricht von meinem MQTT-Broker empfangen. Beim Versuch, von diesem (oder einem anderen) Skript zu veröffentlichen, werden jedoch keine Nachrichten von meinem Broker empfangen. Auch wenn "mosquitto_sub -h 192.168.0.21 -d -t test/test" von einem separaten SSH-Fenster ausgeführt wird, empfängt das Raspberry Pi selbst die Nachrichten von den Skripten nicht. – KingOfSleep