MQTT(消息队列遥测传输)作为一种轻量级发布/订阅消息协议,广泛应用于物联网设备通信。其设计目标在于实现高效、低开销、可靠和易于实现的通信,尤其适用于移动设备或卫星通信等受限网络环境。

MQTT 服务架构

MQTT 协议采用客户端-服务器架构,主要包含发布者、订阅者和代理(Broker)三个部分。发布者将消息发送至特定主题,订阅者则根据自身关注的主题接收消息。代理负责接收、存储和转发消息,确保消息的正确传递。

EMQ X:开源企业级 MQTT Broker

EMQ X 是一款开源、企业级的 MQTT Broker,支持大规模连接,并提供丰富的功能和高度可扩展性。以下,我们将以 EMQ X Broker 的 Windows 版本 emqx-windows-v4.1.0 为例,演示如何搭建 MQTT 服务。

安装步骤

  1. 下载 emqx-windows-v4.1.0 并解压缩。
  2. 在解压缩后的文件夹中,双击 emqx.exe 启动 EMQ X Broker。
  3. EMQ X 默认监听 1883 端口(MQTT 协议默认端口)和 8083 端口(Web 管理界面)。首次启动后,可通过浏览器访问 http://localhost:18083 登录管理界面,初始用户名和密码均为 admin

EMQ X 配置

  1. 监听端口: 可在管理界面修改 EMQ X 监听的端口,以适应网络需求。
  2. 访问控制: 可设置用户权限、添加或修改用户,以及控制发布和订阅权限。
  3. 集群设置: 若需高可用性,可将 EMQ X 配置为集群模式。
  4. 主题策略: 可定义主题的生存时间和最大消息数量,以控制消息存储和清理策略。
  5. 日志管理: 可配置日志级别和路径,便于监控和调试。

使用 MQTT 客户端

MQTT 客户端可以是软件或代码实现,例如 Mosquitto_pub/sub、HiveMQ MQTT Client 等。用户可使用客户端连接至已搭建的 MQTT 服务,进行消息的发布和订阅。