IOT接入层-阐述物联网四种设备接入方式
做物联网平台开发,最容易混淆的一个问题:
所有设备上云,最终不都是 MQTT / TCP / HTTP 吗?为什么还要分出四种接入方式?网关透传到底特殊在哪?
今天用最通俗的逻辑,梳理清楚物联网平台接入层所有设备的接入形态,彻底区分「设备直连」和「网关透传」。
一、先建立核心认知
物联网所有设备与云端平台的通信载体只有三种:
- MQTT(主流、双向、长连接)
- TCP 私有协议(老设备、二进制长连接)
- HTTP(短连接、单向上报)
真正区分四种接入方式的,不是云端协议,而是:设备有没有独立上网能力、是否需要网关代理。
据此分为两大类:
- 设备直连模式:设备自己有网,直接连平台
- 网关透传模式:子设备无网,靠网关代连上云
二、三种直连接入:设备自己就是网络终端
这类设备自带以太网、4G、NB、WiFi,自身可以独立和平台建立连接 ,平台逻辑非常简单:一条连接 = 一台设备。
1. MQTT 直连(物联网最主流)
绝大多数智能终端、NB-IoT设备、WiFi模组设备都采用这种方式。
- 基于TCP长连接,心跳保活
- 支持双向通信:设备上报数据、平台下发指令
- 协议标准、轻量化、适配弱网
设备直接对接 EMQX 等 MQTT 服务,无需任何中间网关。
2. TCP 私有协议直连
大量传统工业设备、老消防主机、老采集器没有标准协议,采用厂商自定义二进制 TCP 报文。
- 长连接通信,实时性高
- 协议不统一,需要平台单独适配解析
- 多用于存量老旧工业设备对接
3. HTTP 直连
多用于简单低频次上报设备。
- 短连接,上报即断开
- 只能设备主动上报,平台无法主动控设备
- 实现最简单、成本最低、实时性最差
三、第四种特殊接入:网关透传(工业物联网核心)
很多同学疑惑:
网关最终也是用 MQTT/TCP/HTTP 和平台通信,为什么要单独算一种接入?
关键点:网关透传描述的不是网关和云的关系,而是底下无数子设备的接入方式。
1. 子设备根本没有上网能力
RS485 仪表、传感器、LoRa 节点没有IP、没有网络栈、不能连公网 。
它们本地通信完全不是 TCP/IP:
- 485设备:Modbus-RTU 串口二进制协议
- LoRa设备:本地无线私有协议
2. 双层通信结构(核心区别)
- 本地层:网关 ↔ 子设备
Modbus-RTU 轮询、串口总线通信,和互联网协议无关 - 云端层:网关 ↔ 物联网平台
统一封装为 MQTT / TCP / HTTP 上云
3. 模型完全不同
- 直连设备:1连接 = 1设备
- 网关透传:1条网关连接 = 几十/上百台子设备
平台必须维护「网关 + 子设备」二级拓扑:
- 网关在线 ≠ 子设备在线
- 单个485仪表掉线,需要单独判定离线
这也是为什么平台必须把它单独做成一套接入逻辑、单独建模、单独管理。
四、四种接入方式本质差异
- MQTT / TCP / HTTP 直连:设备自带网络,自主和平台对话,一对一设备模型。
- 网关透传:子设备无网络,网关做协议转换+代理上云,一对多拓扑模型,是工业传感器、仪表的唯一上云方式。
五、开发中最核心的理解
云端通信协议只有三种,但设备接入拓扑有四种。
网关透传不新造了云端协议,它解决的是:
无网工业串口设备,如何标准化纳入物联网平台统一管理。
这也是工业物联网平台区别于普通智能家居物联网平台的核心设计。