gpt4 book ai didi

python - 使用 Flask 从用 python 编写的网页发送 MQTT 消息

转载 作者:行者123 更新时间:2023-12-02 20:03:08 25 4
gpt4 key购买 nike

我正在尝试从使用 Flask 构建的网页发送 MQTT 消息。

我已经在主循环中建立了连接,并且可以在启动 Flask 之前发送消息

当我打电话时:

client.publish('all/camera/'+path, 'all') 

什么也没发生。没有错误,但没有发送消息。我最好的猜测是这是一个范围问题。 IE。对象“client”对该函数不可见。我尝试在主函数之外启动客户端,并且还尝试在 capture() 函数内将“客户端”声明为全局

flask 应用程序的代码如下:

#!/usr/bin/env python
from flask import Flask, render_template, request
import paho.mqtt.client as mqtt
from datetime import datetime

app = Flask(__name__)

@app.route('/', methods = ['POST', 'GET'])
def capture():
timestring=datetime.now().strftime("%Y%m%d-%H%M%S")
if 'sessionName' in request.form:
sessionName = request.form['sessionName']
path = sessionName + "_" + timestring
return render_template ('capture.html', path=path, timestring=timestring, sessionName=sessionName)
client.publish('all/camera/'+path, 'all')
else:
return render_template ('capture.html',timestring=timestring)


# paho callbacks

def on_connect(client, userdata, flags, rc):

#sub here will re subscribe on reconnection
client.subscribe("+/camera/#")
client.subscribe("+/led")



# Main Code


if __name__=='__main__':

client = mqtt.Client()
client.on_connect = on_connect
client.connect("scanserver.local",1883,60)
client.loop_start()
client.publish('debug', 'server running')

app.run(host = '0.0.0.0' , debug = True, port=5001)

最佳答案

正如rmn所说。我把返回单放在了错误的地方。现在工作完美。谢谢

关于python - 使用 Flask 从用 python 编写的网页发送 MQTT 消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32920225/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com