stevenjin 2023-10-26 18:40 采纳率: 97.6%
浏览 5
已结题

mqtt通配路径下某一个主题请教

有如下主题,只想订阅 device/192.168.1.1/10/home这一条要怎样写?
device/192.168.1.1/10/home/bedroom

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-10-26 20:04
    关注

    【以下回答由 GPT 生成】

    您可以使用通配符来订阅位于"device/192.168.1.1/10/home"路径下的某一个主题。在MQTT协议中,有两种通配符可供使用:+

    • : 用于匹配单个层级的任何主题名称

    : 用于匹配多层级的任何主题名称

    对于您的情况,如果您只想订阅"device/192.168.1.1/10/home"这一条,可以按照以下方式编写订阅规则:

    import paho.mqtt.client as mqtt
    
    def on_connect(client, userdata, flags, rc):
        print("Connected with result code " + str(rc))
        client.subscribe("device/192.168.1.1/10/home")
    
    def on_message(client, userdata, msg):
        print(msg.topic + " " + str(msg.payload))
    
    client = mqtt.Client()
    client.on_connect = on_connect
    client.on_message = on_message
    
    client.connect("broker.example.com", 1883, 60)
    
    client.loop_forever()
    

    在上述代码中,我们使用了Paho MQTT客户端库来实现MQTT通讯。首先,我们定义了一个回调函数on_connect(),在连接成功后,会自动订阅"device/192.168.1.1/10/home"主题。

    然后,我们定义了另一个回调函数on_message(),当收到消息时,会打印出消息的主题和负载。

    接下来,我们创建了一个MQTTClient对象,并指定了连接的服务器地址和端口号。

    最后,通过调用client.loop_forever()来保持与MQTT服务器的连接,并且会一直监听消息的到达。

    希望以上解决方案能够帮助到您,如果有任何问题,请及时向我提问。



    【相关推荐】



    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月4日
  • 已采纳回答 10月27日
  • 创建了问题 10月26日

悬赏问题

  • ¥15 微信会员卡接入微信支付商户号收款
  • ¥15 如何获取烟草零售终端数据
  • ¥15 数学建模招标中位数问题
  • ¥15 phython路径名过长报错 不知道什么问题
  • ¥15 深度学习中模型转换该怎么实现
  • ¥15 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向
  • ¥15 如何用python向钉钉机器人发送可以放大的图片?