秦皇岛做网站优化价格惠州建设局网站
web/
2025/9/26 10:51:45/
文章来源:
秦皇岛做网站优化价格,惠州建设局网站,pc网站优化排名,孟州哪里可以做网站目录 Flask MQTT 实现消息订阅发布准备开始1.创建Flask项目2创建py文件#xff1a;mqtt_demo.py3.代码实现4.项目运行5.测试5.1 测试消息接收5.2 测试消息发布6、扩展 Flask MQTT 实现消息订阅发布
准备
本次项目主要使用到的库#xff1a;flask_mqtt
pip install flask… 目录 Flask MQTT 实现消息订阅发布准备开始1.创建Flask项目2创建py文件mqtt_demo.py3.代码实现4.项目运行5.测试5.1 测试消息接收5.2 测试消息发布6、扩展 Flask MQTT 实现消息订阅发布
准备
本次项目主要使用到的库flask_mqtt
pip install flask_mqtt开始
1.创建Flask项目
2创建py文件mqtt_demo.py
- *也可以直接在项目中的 app.py 文件进行代码编写*3.代码实现
from flask import Flask, request, jsonify
from flask_mqtt import Mqttapp Flask(__name__)# 代理地址
app.config[MQTT_BROKER_URL] broker.emqx.io
# 端口
app.config[MQTT_BROKER_PORT] 1883
# 当需要验证用户名和密码时请设置该项
app.config[MQTT_USERNAME] user
# 当需要验证用户名和密码时请设置该项
app.config[MQTT_PASSWORD] 123456
# 设置心跳时间单位为秒
app.config[MQTT_KEEPALIVE] 60
# 如果服务器支持 TLS则设置为 True
app.config[MQTT_TLS_ENABLED] False
# 主题
topic /flask/mqtt
# 实例化
mqtt_client Mqtt(app)app.route(/)
def index():# 初始路由return Welcome mqtt_flaskmqtt_client.on_connect()
def handle_connect(client, userdata, flags, rc):连接回调函数if rc 0:print(Connected successfully)# 订阅主题mqtt_client.subscribe(topic)else:# 连接失败print(Bad connection. Code:, rc)mqtt_client.on_message()
def handle_mqtt_message(client, userdata, message): 消息回调函数 # 定义接受到的消息data dict(# 主题topicmessage.topic,# 内容payloadmessage.payload.decode())# 打印输出接收到的消息print(Received message on topic: {topic} with payload: {payload}.format(**data))app.route(/publish, methods[POST])
def publish_message(): 消息发布接口实际应用中该接口可能需要处理一些复杂业务逻辑 # 格式化数据request_data request.get_json()# 发布消息publish_result mqtt_client.publish(request_data[topic], request_data[msg])return jsonify({code: publish_result[0]})if __name__ __main__:app.run()
4.项目运行
运行项目前可在Pycharm中设置host和port 设置好后直接运行项目
5.测试 使用MQTTX进行消息测试 5.1 测试消息接收 创建连接 Host为代码中定义好的 broker.emqx.ioPort为代码中定义好的 1883用户名、密码根据需要添加 添加订阅 主题为/flask/mqtt 在MQTTX中发布消息 主题/flask/mqtt Flask控制台中接收到的消息
5.2 测试消息发布
订阅使用消息接收的订阅 主题为/flask/mqtt 使用Postman调用 /publish 接口并发送消息到 /flask/mqtt 主题中 MQTTX 中接收到的消息
6、扩展 本次Flask项目在Win10下运行 MQTTX消息消息发送订阅在Ubuntu下进行 内网穿透 使用花生壳进行内网映射内网地址及端口为Flask项目所在主机IP端口为Flask运行端口使用协议HTTPS 参考 链接: https://www.emqx.com/zh/blog/how-to-use-mqtt-in-flask链接: https://blog.csdn.net/emqx_broker/article/details/124816126
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/82151.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!