提交 d882e8d0 authored 作者: zxd's avatar zxd

死循环连接问题

上级 162d1848
......@@ -94,14 +94,14 @@ def connect_mqtt(ip, port):
client.username_pw_set(username, password)
client.on_connect = on_connect
client.connect(ip, port)
client.connect(ip, port, keepalive=60)
return client
# 连接MQTT服务器
def on_mqtt_connect(serverClient, ip, port):
serverClient.connect(ip, port)
serverClient.connect(ip, port, keepalive=60)
serverClient.loop_start()
......@@ -140,7 +140,24 @@ def publish(client, msg, topicSn):
print(f"Failed to send message to topic {topicSn}")
def run(ip, port, msg, topicSn, sn):
def run(client, data):
while True:
tel = getTelemetry(data.get("measurements"))
cmd = cmdTemplate.format(devSN=data.get("serial_no"), telemetry=tel, time=str(int(time.time())),
devSn1=data.get("serial_no"), topic=topic, devName=data.get("serial_no"))
cmdJson = json.loads(cmd)
topicSn = cmdJson.get("mqttTopic")
publish(client, cmd, topicSn)
time.sleep(10)
def test(data):
# while True:
# print(cmd)
ip = data.get("emq_host")
port = data.get("emq_port")
sn = data.get("serial_no")
# 订阅
serverClient = connect_mqtt(ip=ip, port=port)
on_mqtt_connect(serverClient=serverClient, ip=ip, port=port)
......@@ -149,19 +166,9 @@ def run(ip, port, msg, topicSn, sn):
client = connect_mqtt(ip=ip, port=port)
client.loop_start()
publish(client, msg, topicSn)
def test(data):
while True:
tel = getTelemetry(data.get("measurements"))
cmd = cmdTemplate.format(devSN=data.get("serial_no"), telemetry=tel, time=str(int(time.time())),
devSn1=data.get("serial_no"), topic=topic, devName=data.get("serial_no"))
cmdJson = json.loads(cmd)
topicSn = cmdJson.get("mqttTopic")
# print(cmd)
run(data.get("emq_host"), data.get("emq_port"), cmd, topicSn, data.get("serial_no"))
time.sleep(10)
run(client, data)
# time.sleep(10)
if __name__ == '__main__':
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论