7.2 网络协议栈
2026/7/18大约 3 分钟常用组件组件网络SocketMQTTCoAP
7.2 网络协议栈
📚 本节导读
学习时长:约 120 分钟
难度级别:⭐⭐⭐⭐☆
前置知识:TCP/IP 基础知识、Socket 编程、第 4 章 任务与 IPC
🎯 学习目标
- 理解 OneOS 网络协议栈的整体架构(LWIP + Socket + 应用协议 + Molink)
- 掌握 BSD Socket API(socket / bind / listen / accept / connect / send / recv)
- 掌握 HTTP 客户端的使用方法(GET / POST 请求)
- 掌握 MQTT 协议客户端的使用(发布 / 订阅、QoS、遗嘱消息)
- 掌握 CoAP 协议的使用(资源发现、GET / PUT / POST / DELETE)
- 了解 Molink 蜂窝模组抽象层架构
- 能够根据实际需求选择合适的网络协议
📖 子章节导航
| 编号 | 章节 | 内容简介 | 学习时长 |
|---|---|---|---|
| 7.2.1 | Socket 基础网络编程 | 协议栈架构概述、BSD Socket API、TCP/UDP 通信、select 多路复用 | 约 40 分钟 |
| 7.2.2 | HTTP 协议 | HTTP 客户端数据结构、GET/POST/PUT/DELETE 请求、自定义请求头 | 约 25 分钟 |
| 7.2.3 | MQTT 协议 | 发布/订阅模型、QoS 服务质量、Paho MQTT 与 Mini MQTT、遗嘱消息 | 约 35 分钟 |
| 7.2.4 | CoAP 协议 | libcoap 客户端/服务端、RESTful 操作、资源发现、CoAP vs MQTT 对比 | 约 25 分钟 |
| 7.2.5 | Molink 蜂窝模组抽象层 | 架构设计、支持模组列表、核心 API、AT 指令通信 | 约 15 分钟 |
| 7.2.6 | Kconfig 配置指南 | 网络基础配置、应用协议配置、Molink 配置、典型场景配置 | 约 10 分钟 |
| 7.2.7 | 协议选择指南 | HTTP/MQTT/CoAP 协议对比、选择建议、适用场景分析 | 约 10 分钟 |
🏗️ 网络协议栈架构
┌─────────────────────────────────────────────────────┐
│ 应用协议层 │
│ HTTP Client │ MQTT Client │ CoAP │ LwM2M │ WebSocket │
├─────────────────────────────────────────────────────┤
│ Socket 接口层 │
│ BSD Socket API (socket.h) │
├─────────────────────────────────────────────────────┤
│ TCP/IP 协议栈 │
│ LWIP 2.1.2 (IPv4 / IPv6) │
├─────────────────────────────────────────────────────┤
│ Molink 蜂窝模组抽象层 │
│ EC20 │ BC26 │ ESP8266 │ M5311 │ SIM7600CE │ ... │
└─────────────────────────────────────────────────────┘📝 本节小结
核心要点回顾
- 分层架构:OneOS 网络协议栈从底到上分为——Molink 蜂窝模组抽象层(支持 EC20/BC26/ESP8266/M5311/SIM7600CE 等 30+ 模组)→ TCP/IP 协议栈(LWIP 2.1.2,IPv4/IPv6)→ BSD Socket 接口层 → 应用协议层(HTTP/MQTT/CoAP/LwM2M/WebSocket)。
- 学习路径:先掌握 7.2.1 Socket 基础编程(所有网络应用的地基),再按业务需要选学 7.2.2 HTTP(请求/响应模型)、7.2.3 MQTT(发布/订阅、QoS)、7.2.4 CoAP(资源导向、RESTful)。
- 硬件抽象:7.2.5 Molink 通过统一 AT 指令抽象屏蔽不同蜂窝模组差异,上层代码无需感知具体模组型号。
- 落地配置:7.2.6 讲解 Kconfig 网络配置(基础/应用协议/Molink),7.2.7 提供协议选型决策指南。
下一步
- 从 7.2.1 Socket 基础网络编程 开始系统学习协议栈架构与 BSD Socket API,然后按业务场景依次深入各应用协议。