CoAP 受限应用协议
📡 CoAP 受限应用协议:报文格式、通信模型与物联网实战全解析 从一个智能灯控场景说起 假设你正在开发一套智能路灯系统。每个路灯上有一颗低功耗 MCU(微控制器),通过 NB-IoT(窄带物联网)蜂窝网络上报状态、接收开关指令。MCU 的 RAM 只有 64KB,Flash 只有 256KB,网络带宽不到 100kbps,每月流量限额 30MB。 你能在这颗 MCU 上跑 HTTP 吗? 不能。 原因有三: HTTP 基于 TCP,TCP 三次握手 + TLS 握手需要至少 5 ~ 7 个往返(RTT),在 100kbps 窄带网络上耗时数秒 HTTP 头部是纯文本,一个 GET /status HTTP/1.1\r\nHost: ... 请求头轻松超过 200 字节,而传感器上报的有效数据可能只有 4 字节(一个温度值) TCP 连接要保持状态,MCU 内存不足以维护大量连接 CoAP (Constrained Application Protocol,受限应用协议)就是为这种场景设计的。它用 UDP 替代 TCP、用 4 字节定长二进制头部替代 HTTP 的文本头、用简单的重传机制替代 TCP 的复杂拥塞控制,让一颗 64KB RAM 的 MCU 也能参与到互联网架构中。 下面先用一段概念性代码感受 CoAP 的编程模型: ...