生如夏花

专注于工业物联网行业数据采集,嵌入式Linux系统裁剪,5G智慧网关软件开发等

扩展唯一标识符(EUI)、组织唯一标识符(OUI)和公司ID(CID)的使用指南

本教程涵盖了由IEEE注册机构(IEEE RA)分配的组织标识符以及基于它们的扩展标识符

它涵盖了与受让人和标准开发人员相关的标识符格式、分配、指导方针和政策。

本教程包括与组织标识符(如组织唯一标识符(OUI)和公司ID(CID))和扩展标识符(如扩展唯一标识符(EUI)和扩展本地标识符(ELI))相关的信息。

MQTT保活机制

MQTT保持活动机制是MQTT协议定义的一项功能。

MQTT客户端通过向代理发送为PINGREQ报文来维持与代理的连接。

MQTT代理通过接收PINGREQ来检测客户端是否无响应或断开连接,同理MQTT客户端通过接收PINGRESP响应来判断代理是否可用。

MQTT遗嘱

MQTT遗嘱(Last Will and Testament, LWT),允许客户端指定一条消息,在发生意外断开连接时,代理自动发布该消息到已订阅的其他客户端。

MQTT遗嘱 (LWT) 功能对于确保高效通信和在客户端意外断开时保持系统完整性至关重要。

MQTT保留消息

MQTT的保留消息可以为订阅者提供指定主题上的最新状态(前提是最新消息发布时保留标志设置为true)。

保留消息是保留标志设置为true的普通MQTT消息

每个订阅带有保留消息的主题的客户端在订阅后都会立即接收保留消息

当客户端向指定主题发送多条保留消息时,代理仅存储最后的保留消息以及相应的QoS级别。

代理为每个主题仅存储一条保留消息

MQTT持久会话

MQTT中的持久会话允许客户端在断开连接时维护其会话状态,包括订阅的主题和未传递的消息。

非持久会话在断开连接时丢弃会话状态,要求客户端重新连接上再次订阅主题,并可能错过在断开连接期间发布的消息。

持久会话和非持久会话的选择取决于应用程序对会话连续性和消息持久性的要求。

MQTT服务质量

MQTT Quality of Service(QoS,服务质量)是消息发送者和接收者之间的协议,用于定义消息的传递保证级别。

QoS具有3个级别,分别是:

  1. 最多一次(QoS 0)
  2. 至少一次(QoS 1)
  3. 确定一次(QoS 2)

其中涉及的MQTT报文有四种,分别是PUBLISH、PUBACK、PUBREC以及PUBCOMP。

MQTT主题

MQTT主题是MQTT客户端和代理之间进行通信的关键。

根据主题可以对消息进行有效的过滤和路由。

与消息队列相比,MQTT主题非常轻量。

客户端在发布或订阅所需的主题之前不需要创建该主题。代理接受每个有效的主题,而不需要事先进行任何初始化。

MQTT建立连接

MQTT协议的两个主要组件是客户端和代理。

MQTT客户端可以是任何运行MQTT库并通过网络连接到MQTT代理的设备。

MQTT代理负责接收、过滤以及向已订阅的客户端发送消息,并处理客户端身份验证和授权。