LWIP

LwIP = Light Weight IP,轻量级 TCP/IP 协议栈,由瑞典计算机科学院开发,专门面向资源受限嵌入式设备(单片机、STM32、ARM Linux 小内核、FPGA、MCU)。
标准完整 TCP/IP(如 PC Linux 内核协议栈)内存开销大,不适合几 KB~ 几十 KB RAM 的单片机,LwIP 就是为解决这个问题而生。

内置支持的常用协议

网络层
IPv4、IPv6(可选开启)
ARP(地址解析)、ICMP(ping 命令依赖)
传输层
TCP:可靠连接(TCP 服务器 / 客户端)
UDP:无连接快速收发(广播、设备上报)
应用层
DHCP:自动获取 IP
DNS:域名解析
HTTP/HTTPS:网页服务器、Web 控制设备
MQTT:物联网对接云平台
TFTP、FTP 文件传输
SNTP 网络校时
总结:LwIP 是一套轻量化、可裁剪、适配低端嵌入式硬件的开源 TCP/IP 协议栈,让单片机不用搭载完整操作系统也能实现以太网 / WiFi 网络通信,是物联网嵌入式网络开发的标准工具。

MQTT协议

MQTT = Message Queuing Telemetry Transport,消息队列遥测传输协议
层级:运行在 TCP 之上的应用层协议,必须依赖 TCP/IP(嵌入式就是 LwIP)才能通信;
定位:物联网专用轻量级发布订阅协议,专为单片机、传感器、电池供电设备设计;

核心架构(云端)

Broker 代理服务器(中转站)
相当于邮局,统一接收、分拣、转发消息;
常见:Mosquitto(本地测试)、EMQX、阿里云 IoT、腾讯云 IoT 平台。
Publisher 发布者
发数据的设备:温湿度传感器、单片机、硬件设备;只往 ** 主题 (Topic)** 发消息,不用管谁接收。
Subscriber 订阅者
收数据的终端:手机 APP、后台服务器、控制器;只订阅自己关心的主题。
关键特点:收发完全解耦
发布者和订阅者不用互相知道对方 IP、不用直连,全部通过 Broker 中转,设备上下线互不影响。

应用层:MQTT / HTTP / DHCP
传输层:TCP(MQTT依赖TCP长连接)
网络层:IP、ARP、ICMP
链路层:以太网/WiFi
底层实现:LwIP 轻量级TCP/IP协议栈

Socket 是一套标准 API 函数,封装了 TCP/UDP 底层细节,一套通用接口,Windows/Linux/RTOS+LwIP 全都兼容。
核心标识:IP 地址 + 端口号,唯一区分一台设备上的某一条网络通道。
Socket 不在这四层里,它是应用层 ↔ 传输层之间的编程接口,是操作系统 / 协议栈给应用程序开的调用入口,不属于任何一层协议。
强烈推荐新人可以看一下这篇文章
【LWIP】初学STM32+LWIP+网络遇到的基础问题记录

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐