1. 物联网平台概述
1.1 物联网架构:感知层、网络层、应用层
物联网(IoT)平台通常采用经典的三层架构,每一层承担不同的职责,共同构成从数据采集到业务应用的完整链路。
核心要点: 理解三层架构是设计采集平台的基础,MQTT 协议主要工作在网络层,但它的设计直接影响感知层设备的功耗和应用层的数据实时性。
| 层级 | 主要职责 | 典型技术 | 与MQTT的关系 |
|---|---|---|---|
| 感知层 | 物理世界数据采集与信号转换 | 传感器、单片机、RFID | 设备作为 MQTT 客户端发布数据 |
| 网络层 | 数据传输、协议适配、消息路由 | MQTT、CoAP、HTTP、网关 | MQTT Broker 是网络层核心组件 |
| 应用层 | 数据存储、分析、展示与业务联动 | 数据库、Web 应用、规则引擎 | 应用订阅 MQTT 主题获取实时数据 |
1.2 常见物联网协议对比
物联网场景对通信协议有特殊要求:低带宽、低功耗、高并发、弱网络环境。以下对比三种主流协议:
| 特性 | MQTT | CoAP | HTTP |
|---|---|---|---|
| 传输层 | TCP | UDP | TCP |
| 通信模型 | 发布/订阅 | 请求/响应 | 请求/响应 |
| 报文开销 | 最小 2 字节 | 最小 4 字节 | 通常数百字节 |
| QoS 支持 | 0/1/2 三级 | 0/1 两级 | 无原生 QoS |
| 适用场景 | 传感器数据上报、远程控制 | 资源受限设备、低功耗网络 | Web 应用、REST API |
| 实时性 | 高(推送模式) | 中(轮询+观察) | 低(轮询) |
选型建议: 如果你的设备需要双向通信(如远程控制阀门)、设备数量超过 1000 台、或网络不稳定,MQTT 是首选。CoAP 更适合超低功耗的电池供电设备。HTTP 适合管理接口或非实时数据查询。
1.3 MQTT 在物联网中的核心优势
MQTT(Message Queuing Telemetry Transport)由 IBM 于 1999 年开发,2014 年成为 OASIS 标准。它在物联网领域占据主导地位,主要得益于以下优势:
- 极低带宽占用: 固定头部仅 2 字节,适合 NB-IoT、2G/3G、LoRa 等窄带网络。
- 发布/订阅解耦: 发送方与接收方无需直接连接,通过 Broker 中转,便于系统扩展。
- 三级 QoS 保障: 从“最多一次”到“仅一次”,灵活平衡性能与可靠性。
- 遗嘱消息(Will Message): 设备异常离线时自动通知其他订阅方,提升系统鲁棒性。
- 保留消息(Retained Message): 新订阅者立即获取设备最新状态,无需等待下次上报。
- 双向通信: 支持服务器向设备下发指令,实现远程控制与配置更新。
常见误区: MQTT 虽然基于 TCP,但并不意味着它不适合弱网环境。通过 QoS 0 和会话过期机制,MQTT 在 2G 网络下仍能稳定工作。不要因为“TCP 开销大”而放弃 MQTT,实际测试表明 MQTT 在同等条件下比 HTTP 节省 60% 以上的流量。
1.4 本章小结
- 物联网三层架构中,MQTT 是网络层的核心协议,连接感知层与应用层。
- 与 CoAP、HTTP 相比,MQTT 在实时性、双向通信、带宽效率方面优势明显。
- 发布/订阅模型、三级 QoS、遗嘱消息是 MQTT 在工业物联网中广泛采用的关键原因。