土木在线论坛 \ 电气工程 \ 工业自动化 \ MQTT是什么?MQTT协议简介

MQTT是什么?MQTT协议简介

发布于:2020-07-04 09:24:04 来自:电气工程/工业自动化 [复制转发]

MQTT



简介:MQTT由IBM公司开发,是一个即时通讯协议,也是一个物联网传输协议,主要用于轻量级的订阅/发布式的消息传输。其设计目的主要是为低带宽和不稳定网络环境下的物联网设备提供服务。


MQTT中的概念



订阅(Subscribtion): 

订阅包含主题筛选器(Topic Filter)和最大服务质量(QoS)。订阅会与一个会话(Session)关联。一个会话可以包含多个订阅。每一个会话中的每个订阅都有一个不同的主题筛选器。


会话(Session): 
每个客户端与服务器建立连接后就是一个会话,客户端和服务器之间有状态交互。会话存在于一个网络之间,也可能在客户端和服务器之间跨越多个连续的网络连接。
主题名(Topic Name): 
连接到一个应用程序消息的标签,该标签与服务器的订阅相匹配。服务器会将消息发送给订阅所匹配标签的每个客户端。 
需要注意的是,MQTT中消息主题按照层级命名,使用 ‘/’ 进行分割 
此外,主题中可以使用通配符进行多个主题或多层级的订阅,有两种常见的通配符: 
1. 单层通配符 :单层通配符只能匹配一层的主题,例如:China/Beijing/ ,可以匹配的只有Beijing这个主题下面一层的主题,例如Xicheng, DongCheng, Xuanwu等等。 
2. 多层通配符 #:顾名思义,多层通配符就是可以匹配多个层级的主题,例如:China/#,可以匹配到的主题可能有:China/Beijing/Dongcheng, China/Shanghai/PuDong,等等。
主题筛选器(Topic Filter): 
一个对主题名通配符筛选器,在订阅表达式中使用,表示订阅所匹配到的多个主题。
负载(Payload): 

消息订阅者所具体接收的内容。


MQTT中的角色


Publisher和Subscriber为客户端,Broker为服务器端,消息主题为消息类型,Broker根据Topic过滤消息,并将消息向客户端推送。


MQTT中用QoS表示服务质量,MQTT协议中有三种服务质量(QoS): 
QoS =0,至多一次,可能会出现丢包的情况,使用在对实时性要求不高的情况,例如,将此服务质量与通信环境传感器数据一起使用。 对于是否丢失个别读取或是否稍后立即发布新的读取并不重要。
QoS =1,至少一次,保证包会到达目的地,但是可能出现重包。

QoS =2, 刚好一次,保证包会到达目的地,且不会出现重包的现象。



客户端



Publisher和Subscriber都属于客户端。
发布应用消息给其它相关的客户端。
订阅以请求接受相关的应用消息。
取消订阅以移除接受应用消息的请求。

从服务端断开连接。


服务器端


服务器端即所谓的MQTT Broker服务器。
接受来自客户端的网络连接。
接受客户端发布的应用消息。
处理客户端的订阅和取消订阅请求。
转发应用消息给符合条件的已订阅客户端。
MQTT提供的公共服务器端(Broker)有: 
test.mosquitto.org
broker.hivemq.com
iot.eclipse.org

全部回复(0 )

只看楼主 我来说两句抢沙发
这个家伙什么也没有留下。。。

工业自动化

返回版块

17.92 万条内容 · 346 人订阅

猜你喜欢

阅读下一篇

西门子G120变频器F30001故障代码维修

西门子G120变频器F30001故障代码维修:4月11日,接到即墨客户的电话联系,对方是一家机加工公司,他们使用的西门子G120变频器报警显示F30001故障代码,F30001故障代码表示西门子变频器出现过电流故障。这是变频器维修过程中比较经常出现的故障。出现此种故障的原理是变频器内部的功率单元探测到过电流。西门子G120变频器F30001故障代码维修原因:①变频器的闭环控制参数设定错误。②变频器所连接的电机有短路或者接地。③V/f运行:设置的斜坡上升时间过小,或者是电机的额定电流远大于变频器的电流。④输入电压暂降时放电电流和补充充电电流很强。⑤当电机过载和直流母线电压扰动时补充充电电流很强。⑥缺少整流电抗器,在接通时有短路电流。⑦功率电缆连接不正确或者功率电缆超过允许的最大长度。⑧变频器的功率单元损坏或者是变频器电源相位中断。

回帖成功

经验值 +10