Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/301.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 每10秒发布一次MQTT消息…并在需要时重新连接_Python_Mqtt_Paho - Fatal编程技术网

Python 每10秒发布一次MQTT消息…并在需要时重新连接

Python 每10秒发布一次MQTT消息…并在需要时重新连接,python,mqtt,paho,Python,Mqtt,Paho,此代码建议每10秒处理一次消息发布。但如果需要,如何处理重新连接 import paho.mqtt as mqtt import time mqttc=mqtt.Client("ioana") mqttc.connect("127.0.0.1" 1883, 60, True) #mqttc.subscribe("test/", 2) # <- pointless unless you include a subscribe callback mqttc.loop_start() whi

此代码建议每10秒处理一次消息发布。但如果需要,如何处理重新连接

import paho.mqtt as mqtt 
import time

mqttc=mqtt.Client("ioana")
mqttc.connect("127.0.0.1" 1883, 60, True)
#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
将paho.mqtt导入为mqtt
导入时间
mqttc=mqtt.Client(“ioana”)
mqttc.connect(“127.0.0.1”1883,60,真)

#subscribe(“test/”,2)#脚本是所需内容的绝对基础,可以反复发送MQTT消息,但如果断开连接,它将自动重新连接

您可以让它在断开和重新连接后打印消息,通过如下修改来跟踪此消息:

import paho.mqtt.client as mqtt 
import time

def onDisconnect(client, userdata, rc):
  print("disonnected")

def onConnect(client, userdata, rc):
  print("connected")

mqttc=mqtt.Client("ioana")
mqttc.on_connect = onConnect
mqttc.on_disconnect = onDisconnect
mqttc.connect("127.0.0.1", port=1883, keepalive=60)
mqttc.loop_start()
while True:
  mqttc.publish("test","Hello")
  time.sleep(10)# sleep for 10 seconds before next call
编辑: 测试。如果您使用mosquitto作为代理,那么您可能已经安装了mosquitto_pub命令,您可以使用该命令通过使用相同的客户机id强制python断开连接

mosquitto_pub -t test -i 'ioana' -m foo