每10秒发布一次消息mqtt
我刚接触mqtt这个有趣的协议,还在慢慢了解它。
我想用python创建一个客户端,每10秒发布一次消息。到目前为止,我只成功发布了一条消息,并且让客户端保持连接到服务器。
我该怎么把发布消息的部分做成一个循环呢?
下面是我的客户端代码:
import mosquitto
mqttc=mosquitto.Mosquitto("ioana")
mqttc.connect("127.0.0.1",1884,60,True)
mqttc.publish("test","Hello")
mqttc.subscribe("test/", 2)
while mqttc.loop() == 0:
pass
谢谢。
2 个回答
4
我建议:
import paho.mqtt.client as mqtt # mosquitto.py is deprecated
import time
mqttc = mqtt.Client("ioana")
mqttc.connect("127.0.0.1", 1883, 60)
#mqttc.subscribe("test/", 2) # <- pointless unless you include a subscribe callback
mqttc.loop_start()
while True:
mqttc.publish("test","Hello")
time.sleep(10)# sleep for 10 seconds before next call
3
你可以在调用之间暂停一下:
import mosquitto
import time # import time module
mqttc=mosquitto.Mosquitto("ioana")
mqttc.connect("127.0.0.1",8000,60,True)
mqttc.subscribe("test/", 2)
while mqttc.loop() == 0:
mqttc.publish("test","Hello")
time.sleep(10)# sleep for 10 seconds before next call