定义
Device Access(设备接入)是物联网系统的入口环节,提供统一接入层。支持 MQTT、CoAP、LwM2M、HTTP 等协议,直连模式与 Edge Gateway 代理模式双模式,支持百万级并发连接。
接入模式
直连模式:设备通过 MQTT、CoAP、LwM2M 等协议直接连接云端接入层,适用于具备 IP 能力、功耗可控的场景。网关代理模式:边缘网关或 Edge Gateway 汇聚子设备(如 Modbus、ZigBee 等),通过协议转换后统一接入,适用于工业现场、楼宇等非 IP 设备。两种模式可并存,平台根据设备类型自动路由。
协议与扩展
主流协议包括 MQTT(低功耗、双向通信)、LwM2M(轻量级、适合 NB-IoT)、HTTP/HTTPS(简单上报)。通过 Protocol Adaptation 协议适配层,可扩展 BACnet、Modbus、OPC UA 等工业协议。接入层需支持 TLS/mTLS、Device Authentication 设备认证,保障连接安全。
高可用与扩展
接入层采用分布式架构,支持水平扩展以应对海量连接。需考虑连接保活、断线重连、消息 QoS 等级、限流与熔断等机制,确保在高并发、网络抖动场景下的稳定性与可观测性。
直连和代理各自卡在什么条件
设备接入的技术含义,是为终端或网关建立一条可认证、可维持、可限流的会话,并把这条会话上的上下行交到后面的设备档案上。直连要求设备自己具备可路由的网络和协议栈,能完成握手并按约定保活。网关代理则由网关持有这条会话,子设备只在现场总线或短距链路上出现,平台看见的在线往往是网关在线,子设备是否可通信还要看网关背后的映射。两种模式可以并存,但不能把子设备的标识和网关的标识写成同一个连接对象,否则网关重启会被统计成所有子设备同时重新入网。
选用直连的条件,是设备能安全保存自己的认证材料,并且功耗和流量允许维持或定期建立会话。选用代理的条件,是子设备没有独立的广域网能力,或必须沿用现场已有的总线。接入前,产品要声明协议、端口、保活方式和物模型里哪些属性走这条会话。认证材料还没签发时,不应把设备标成可接入。会话建立之后,主题或资源路径要和设备标识绑定,避免一台设备能向另一台设备的上行路径发布数据。
协议选对了会话仍建不起来
端口开放只说明网络可达,不说明接入成功。证书域名与接入地址不一致、时钟偏差过大导致证书校验失败、设备用了另一环境的产品标识,都会在握手阶段断开。表现为反复连接又马上断开。另一类错误是保活短于运营商或中间设备的空闲回收时间,会话在平台侧还在,实际报文已经送不到;或者保活过长,设备早已断电,平台却要等很久才标离线。限流若按连接次数而不是按设备计,正常重连的终端会被当成攻击打掉。
网关代理时,子设备地址变化却不更新映射,平台仍向下发到旧地址,指令显示已发送,现场没有动作。直连设备若被错误登记成某台网关的子设备,它自己的会话会被忽略。设备凭证正确但产品被停用、或设备处于不允许连接的生命周期阶段,接入层也应拒绝,而不是先连上再在业务层丢弃。拒绝原因要能区分网络、认证和策略,否则排查会一直停留在换天线和换卡。
网关在线不等于子设备可通信
代理接入时,平台与网关之间的会话只能证明网关还在。子设备是否还能在现场总线上应答,要由网关另行报告。若把网关在线复制成所有子设备在线,总线断开后控制台仍显示整片正常,下发的指令却停在网关里。反过来,网关短暂重连不应把每台子设备都记成一次重新入网,否则入网次数和告警会被放大。子设备标识、网关标识和总线上的地址是三件东西,地址变化时要更新映射,不能让平台继续把指令送到旧地址。直连设备若被误登记成某台网关的子设备,它自己建立的会话会被忽略,表现为凭证正确但始终不在线。
拒绝连接时要分开原因。网络不可达、认证失败、产品停用和生命周期不允许,处理的人完全不同。只给一个断开,现场会反复更换天线。保活时间要大于正常的沉默周期,又不能长到断电之后很久还显示在线。限流要按设备而不是按每一次重连计数,弱网下的正常重试不该被当成异常流量打掉。会话建立之后,这台设备只能向自己的上行路径发布,不能因为主题拼写相近就写进另一台的档案。接入层的职责停在把可靠的会话交出去,业务是否合理仍由后面的模型和规则判断。