物联网(IoT)中常用的通信协议

物联网(IoT)中常用的通信协议,用于设备与设备、设备与服务器之间的数据传输和控制。

以下是常见协议的简要说明:


1. MQTT (消息队列遥测传输)

  • 特点轻量级发布/订阅 模式、基于 TCP
  • 工作原理: 设备(发布者)将消息发送到一个称为"代理"(Broker)的中间服务器,其他设备(订阅者)从代理订阅它们关心的主题(Topic)来接收消息。
  • 优势: 非常节省电量和网络带宽,非常适合网络不稳定或资源受限的嵌入式设备。
  • 典型应用: 远程传感器数据采集、移动应用消息推送、智能家居设备控制。

2. HTTP (超文本传输协议)

  • 特点请求/响应 模式、基于 TCP、是互联网上最广泛使用的协议。
  • 工作原理: 客户端(如设备)向服务器发起一个请求(Request),服务器处理后再向客户端返回一个响应(Response)。
  • 优势: 通用性强,标准统一,开发简单,有大量成熟的工具和库支持。
  • 典型应用: 设备通过 RESTful API 与云平台进行数据交换(尤其是需要与现有Web系统集成时)。

3. CoAP (受限应用协议)

  • 特点专为受限设备设计 (如低功耗、低内存)、基于 UDP、语法与 HTTP 类似。
  • 工作原理: 也采用请求/响应模型,但非常轻量。它支持多播、低开销,并且有重传机制来弥补UDP的不可靠性。
  • 优势: 在保证类似HTTP功能的同时,极大地降低了功耗和协议开销。
  • 典型应用: 无线传感器网络(WSN)、NB-IoT/LoRaWAN等低功耗广域网设备。

4. SNMP (简单网络管理协议)

  • 特点专用于网络设备管理 、基于 UDP
  • 工作原理: 通过"管理器"(Manager)来轮询(Poll)"代理"(Agent,即被管理的设备),获取或设置其状态信息(如CPU使用率、端口状态等)。也支持"陷阱"(Trap),即代理主动向管理器报告异常事件。
  • 优势: 是网络设备管理的行业标准,功能强大且成熟。
  • 典型应用: 路由器、交换机、打印机等网络设备的监控和管理,现在也广泛应用于服务器和IoT网关的监控。

5. LwM2M (轻量级机器对机器协议)

  • 特点一个设备管理协议 ,而不仅仅是通信协议。它通常使用 CoAP 作为传输协议。
  • 工作原理 : 定义了一套标准的对象和资源模型,用于对IoT设备进行远程管理,包括:固件升级、连接管理、数据上报、故障诊断等。
  • 优势: 提供了一套完整的端到端设备管理解决方案,而无需自己设计管理接口。
  • 典型应用: 需要对大规模部署的IoT设备(如智能电表、共享单车)进行远程监控、配置和软件更新的场景。

总结与关系

协议 主要用途 传输层 模型
MQTT 通用数据采集与发布 TCP 发布/订阅
HTTP 通用数据交互与集成 TCP 请求/响应
CoAP 受限环境下的数据交互 UDP 请求/响应
SNMP 网络设备监控与管理 UDP 请求/响应 + 陷阱
LwM2M IoT设备生命周期管理 通常基于CoAP(UDP) 对象模型

可以这样理解:

  • MQTT、HTTP、CoAP 更像是"数据传输 "的高速公路,负责把数据从A点送到B点。
  • SNMPLwM2M 则是在这些"高速公路"上跑的"专用车辆 ",它们不仅运送数据,还定义了数据的具体格式和用途(主要是设备管理)。其中,LwM2M 这辆"车"经常选择跑在 CoAP 这条"高速"上。

这些协议共同构成了物联网生态系统中的通信骨干,我们根据设备能力、网络条件和应用场景来选择最合适的协议或协议组合。


另外,还有我们还经经常听到的Modbus 与上面提到的协议(MQTT, HTTP, CoAP, SNMP, LwM2M)有本质的区别,但它们又可以在物联网系统中协同工作。

简单来说,它们的关系是:Modbus 是用于"现场"设备通信的"工业语言",而上面那些协议是用于"云端"或"远方"数据传输的"互联网语言"。


Modbus 的核心特点(与上图协议的根本区别)

  1. 应用领域不同:工业 vs 互联网

    • Modbus : 诞生于1979年,是工业自动化领域老祖宗 级协议。它专门用于连接PLC(可编程逻辑控制器)、传感器、电机、阀门等工业设备。
    • MQTT/HTTP等 : 是互联网时代的协议,旨在让设备通过以太网、Wi-Fi、4G/5G等IP网络连接到云端平台或应用程序。
  2. 网络层次不同:现场总线 vs IP网络

    • Modbus : 最初是一种串行通信协议 (Modbus RTU,跑在RS-485/RS-232物理层上),后来有了基于以太网TCP/IP的版本(Modbus TCP)。但即使是Modbus TCP,它也只定义了传输层和应用层,其目的非常单纯:读写寄存器。
    • MQTT/HTTP等 : 是纯粹基于IP网络(TCP/IP协议栈)的应用层协议,天生就是为了在局域网或互联网上进行远程通信。
  3. 通信模型不同:主从式 vs 对等/发布订阅

    • Modbus : 严格的主从(Master-Slave)架构 。只有一个主设备(如工控机、网关)可以发起请求,从设备(如传感器、执行器)只能被动响应。从设备之间不能直接通信
    • MQTT发布/订阅(Pub/Sub)架构,设备可以自由地发布或订阅消息。
    • HTTP/CoAP客户端-服务器(Client-Server)架构,比主从式更对等,任何一方都可以作为客户端发起请求。
  4. 数据模型不同:寄存器 vs 主题/资源

    • Modbus : 数据模型极其简单和固定。设备的数据被映射到四种类型的"寄存器"上:
      • 线圈(Coils): 可读可写的开关量(1位)
      • 离散输入(Discrete Inputs): 只读的开关量(1位)
      • 输入寄存器(Input Registers): 只读的模拟量(16位)
      • 保持寄存器(Holding Registers) : 可读可写的模拟量(16位)
        通信内容就是"读/写某个地址的寄存器"。
    • MQTT : 数据模型是灵活的主题(Topic)消息体(Payload),内容通常是JSON、二进制等自定义格式。
    • HTTP : 数据模型是URL资源,内容格式无限自由(JSON, XML, HTML等)。

它们如何协同工作?

第四层: 云端处理与应用 第三层: 协议转换与上传 第二层: 数据采集与转换 采集原始寄存器数据
如: 40001=2560 转换为应用数据
如: '温度': 25.6 MQTT/HTTP/CoAP
发布至云端Topic/API 接收并触发规则链 持久化数据 提供查询接口 Modbus RTU/RS-485
或 Modbus TCP 通过HTTP/REST API
提供数据服务 第五层: 应用呈现 Web可视化大屏 手机App 监控中心 物联网云平台
ThingsBoard/AWS IoT 规则链
处理/存储/告警 数据存储 协议适配器
MQTT/HTTP Client 物联网网关
Modbus Master 数据解析与转换引擎 第一层: 现场层 Field Level OT PLC 传感器 执行器 智能电表

这幅图清晰地展示了数据从工厂车间的传感器到用户屏幕的五个关键层级:

1. 现场层 (Field Level - OT)

  • 设备:PLC、传感器、执行器、智能电表等。
  • 协议 :使用Modbus(RTU over RS-485或TCP)进行通信。
  • 角色 :这些设备作为Modbus从站(Slave),被动地等待被网关采集数据。

2. 数据采集与转换层

  • 核心部件物联网网关
  • 角色1 (Modbus主站) :网关充当Modbus主站(Master),主动轮询采集所有从站设备的原始寄存器数据。
  • 角色2 (数据转换) :网关内的转换引擎将原始数据(如:寄存器40001的值2560)解析并转换成有物理意义的应用数据(如:"温度": 25.6)。

3. 协议转换与上传层

  • 核心部件 :网关内的协议适配器(如MQTT Client)。
  • 动作 :将转换好的结构化数据(通常是JSON格式),通过MQTTHTTP等适用于互联网的协议,发布到云端平台。

4. 云端处理与应用层

  • 核心平台物联网云平台(如ThingsBoard, AWS IoT)。
  • 处理流程 :平台接收数据后,由规则链 进行处理(如计算、分析)、生成告警、并最终将数据存储到时序数据库或其他存储中。

5. 应用呈现层

  • 最终呈现 :处理后的数据通过平台提供的HTTP REST API ,被各种客户端应用获取并展示给用户,如Web大屏手机App监控中心软件等。

整个流程体现了从OT(运营技术) 领域到IT(信息技术) 领域的完美融合,而物联网网关则是连接这两个世界、完成协议与数据转换的核心桥梁


总结对比

特性 Modbus MQTT / HTTP / CoAP
领域 工业自动化 (OT) 物联网/互联网 (IT)
主要作用 现场设备控制与数据采集 远程数据通信与集成
架构 主从式 发布订阅 / 客户端-服务器
数据模型 寄存器(线圈、保持寄存器等) 主题、资源、JSON消息等
关系 生于工厂,用于现场 生于云端,用于远方
协作方式 通过物联网网关进行协议转换,将数据汇聚并上传至使用MQTT/HTTP的云平台

所以,Modbus和上图协议不是竞争关系,而是互补关系。Modbus负责最后一段的"现场通信",而MQTT等协议负责"远程传输",共同构成一个完整的工业物联网解决方案。

相关推荐
一袋米扛几楼984 小时前
【物联网】MQTT / Broker / Topic 是什么?
网络·物联网
云望无线图传模块1 天前
突破视界的边界:16公里远距离无人机图传模块全面解析
网络·物联网·无人机
清风6666661 天前
基于STM32单片机的OneNet物联网云平台农业土壤湿度控制系统
stm32·单片机·物联网·毕业设计·课程设计
神一样的老师1 天前
面向 6G 网络的 LLM 赋能物联网:架构、挑战与解决方案
网络·物联网·架构
jz-炸芯片的zero1 天前
【Zephyr炸裂知识系列】11_手撸内存泄露监测算法
驱动开发·算法·iot·rtos·内存泄露·zephyr
一袋米扛几楼981 天前
【物联网】BLE 系统架构全景图
python·物联网·aws
TDengine (老段)1 天前
工业数据消费迎来“抖音式”革命:TDengine IDMP 让数据自己开口说话
大数据·数据库·物联网·ai·时序数据库·iot·tdengine
爱笑的源码基地2 天前
智慧工地源码
java·人工智能·物联网·spring cloud·源码·智慧工地·数字工地
九河云2 天前
科技守护古树魂:古树制茶行业的数字化转型之路
大数据·人工智能·科技·物联网·数字化转型