MQTT 协议 主题及通配符的使用方法

本文详细介绍了MQTT协议中主题的概念及其在消息传递中的作用,包括主题层级、通配符(#和+)的使用规则,并通过Device01至Device04的发布示例说明了通配符的实际应用。此外,还探讨了避免广播发送和智能家居交互模式的场景。
摘要由CSDN通过智能技术生成

目录

1. 概述

2. 示例说明

2.1 Device01发布

2.2 Device02发布

2.3 Device03发布

2.4 Device04发布

2.5 测试结果

3. 应用场景说明


1. 概述

协议详细描述:https://blog.csdn.net/XieWinter/article/details/101198750

MQTT通过“主题”实现将消息从发布者客户端送达至接收者客户端。“主题”是附加在应用消息上的一个标签,发布者客户端将“主题”和“消息”发送至代理服务器,代理服务器将该消息转发至每一个订阅了该“主题”的订阅者客户端。

一个主题名可以由多个主题层级组成,每一层通过“/”斜杠分隔开,例如:“topicRoot/F1”,“topicRoot/F2”。如果用户需要一次订阅多个具有类似结构的主题,可以在主题过滤器中包含通配符。通配符只可用在主题过滤器中,在发布应用消息时的主题名不允许包含通配符,主题通配符有两种:

  • #:表示匹配>=0个层次,比如a/#就匹配a,a/,a/b,a/b/c。单独的一个#表示匹配所有,不允许a#或a/#/c等形式。
  • +:表示匹配一个层次,例如a/+匹配a/b,a/c,不匹配a/b/c。单独的一个+是允许的,但a+为非法形式。

通配符可以应用在物接入策略中和实体设备的订阅主题中,通过以下示例我们可以进一步了解通配符的作用。

2. 示例说明

我们使用下表的配置在云端创建四个物接入用户。

测试环境为:百度天工物接入及PC端软件MQTT FX

项目名称

(Endpoint)

用户名称

身份名称

策略名称

主题

权限

endpoint01

thing01

principal01

policy0

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值