【问题标题】:publish a message every 10 seconds mqtt每 10 秒发布一条消息 mqtt
【发布时间】:2014-05-28 10:37:18
【问题描述】:

我是 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

谢谢。

【问题讨论】:

    标签: python mqtt


    【解决方案1】:

    我建议:

    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
    

    【讨论】:

    • 第 1 行应为“import paho.mqtt.client as mqtt”(带客户端)然后 mqttc.connect 行在第一个参数后缺少逗号,并且 True 是无效的绑定地址,这应该是字符串或省略
    【解决方案2】:

    你可以在通话之间睡觉:

    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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-06-14
      • 1970-01-01
      • 2011-06-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-16
      • 2018-06-14
      相关资源
      最近更新 更多