--- title: Mqtt简介与使用 date: 2026-05-27 --- # 一、简介   MQTT(Message Queuing Telemetry Transport)​ 是一种 轻量级物联网通信协议,基于 发布 / 订阅(Pub/Sub)​ 模式。 ## 1.1 核心概念 1. Broker:消息服务器 2. Client:发布或订阅消息的设备 / 程序 3. Topic: 消息主题(路径形式) 4. Publish:发布消息 5. Subscribe:订阅消息 6. QoS:服务质量等级(0 / 1 / 2) ## 1.2 工作方式 ```text [设备A] --发布--> TopicA --> [Broker] --> TopicA --> [设备B] ``` # 二、安装   [EMQX](https://www.emqx.com/zh) Enterprise​ 是基于开源 EMQX 扩展的企业级 MQTT 物联网消息接入平台,完全兼容 MQTT v3.1.1 / v5.0。 ## 2.1 docker安装 ```yml services: emqx: image: emqx/emqx-enterprise:5.10.0 container_name: emqx ports: - "1883:1883" - "8083:8083" - "8084:8084" - "8883:8883" - "18083:18083" restart: always ```   启动容器后,输入ip:18083,默认账号密码为admin/public。 # 三、消息规范 ## 3.1 Topic ```text //// ```   例如`iot/thermostat/dev001/status/online`、`iot/thermostat/dev001/cmd/set_mode`。 ## 通配符 1. +:单层通配符,例如:iot/+/dev001/telemetry/+ 2. #:多层通配符,只能放在topic末尾,例如:iot/thermostat/dev001/# ::: tip 使用+通配符时,必须严格满足层级要求,例如,如果topic是5层,那么iot/+将无法匹配到消息 :::