1.5 KiB
1.5 KiB
title, date
| title | date |
|---|---|
| Mqtt简介与使用 | 2026-05-27 |
一、简介
MQTT(Message Queuing Telemetry Transport) 是一种 轻量级物联网通信协议,基于 发布 / 订阅(Pub/Sub) 模式。
1.1 核心概念
- Broker:消息服务器
- Client:发布或订阅消息的设备 / 程序
- Topic: 消息主题(路径形式)
- Publish:发布消息
- Subscribe:订阅消息
- QoS:服务质量等级(0 / 1 / 2)
1.2 工作方式
[设备A] --发布--> TopicA --> [Broker] --> TopicA --> [设备B]
二、安装
EMQX Enterprise 是基于开源 EMQX 扩展的企业级 MQTT 物联网消息接入平台,完全兼容 MQTT v3.1.1 / v5.0。
2.1 docker安装
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
<domain>/<product>/<device_id>/<msg_type>/<resource>
例如iot/thermostat/dev001/status/online、iot/thermostat/dev001/cmd/set_mode。
通配符
- +:单层通配符,例如:iot/+/dev001/telemetry/+
- #:多层通配符,只能放在topic末尾,例如:iot/thermostat/dev001/#
::: tip 使用+通配符时,必须严格满足层级要求,例如,如果topic是5层,那么iot/+将无法匹配到消息 :::