xk_005 2022-02-25 11:52 采纳率: 0%
浏览 161
已结题

python MQTT订阅消息提取

最近入门物联网项目,同过EMQ搭建MQTT服务端,python客户端进行发布和订阅,想将订阅的信息在web前段显示或者存入数据库,但是发现订阅到的信息无法提取,想问问订阅的信息“msg”如何return或者提取出来?订阅代码如下
# python3.6

from encodings import utf_8
from http import client
from multiprocessing.connection import Client
import random

from paho.mqtt import client as mqtt_client


broker = '127.0.0.1'
port = 1883
topic = "/LG210/up"
# generate client ID with pub prefix randomly
client_id = f'python-mqtt-{random.randint(0, 100)}'
# client_id = 'e2845cea-fa96-4ae1-8c50-9dab75781a1c1645090157775'

def connect_mqtt() -> mqtt_client:
    def on_connect(client, userdata, flags, rc):
        if rc == 0:
            print("Connected to MQTT Broker!")
        else:
            print("Failed to connect, return code %d\n", rc)

    client = mqtt_client.Client(client_id)
    client.on_connect = on_connect
    client.connect(broker, port)
    return client


def subscribe(client: mqtt_client):
    def on_message(client, userdata, msg):
        print(f"Received `{[msg.payload]}` from `{msg.topic}` topic")
        # return msg
    client.subscribe(topic)
    client.on_message = on_message



def run():
    client = connect_mqtt()
    data = subscribe(client)
    client.loop_forever()
    

if __name__ == '__main__':
    run()


尝试return,但是如法返回

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 3月5日
    • 创建了问题 2月25日

    悬赏问题

    • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
    • ¥15 有了解d3和topogram.js库的吗?有偿请教
    • ¥100 任意维数的K均值聚类
    • ¥15 stamps做sbas-insar,时序沉降图怎么画
    • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
    • ¥15 关于#Java#的问题,如何解决?
    • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
    • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
    • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
    • ¥500 火焰左右视图、视差(基于双目相机)