LWIP应用开发
文章平均质量分 85
LWIP应用开发
安迪西嵌入式
If I rest, I rust
展开
-
LWIP网络开发从入门到精通
手把手教你lwIP网络开发原创 2021-11-19 13:24:33 · 5925 阅读 · 3 评论 -
LWIP应用开发|TCP/IP设计原理二
TCP/IP设计原理二1. TCP数据结构TCP报文封装tcp_hdrPACK_STRUCT_BEGINstruct tcp_hdr { PACK_STRUCT_FIELD(u16_t src); PACK_STRUCT_FIELD(u16_t dest); PACK_STRUCT_FIELD(u32_t seqno); PACK_STRUCT_FIELD(u32_t ackno); PACK_STRUCT_FIELD(u16_t _hdrlen_rsvd_flags);原创 2021-03-31 12:22:46 · 758 阅读 · 0 评论 -
LWIP应用开发|TCP/IP设计原理一
TCP/IP设计原理原创 2021-03-30 16:26:13 · 1233 阅读 · 0 评论 -
LWIP应用开发|LWIP移植和裁剪
LWIP移植和裁剪原创 2021-03-30 14:47:23 · 1394 阅读 · 0 评论 -
LWIP应用开发|LWIP网卡实现原理
LWIP网卡实现原理原创 2021-03-10 22:02:51 · 2590 阅读 · 0 评论 -
LWIP应用开发|TCP状态机
TCP状态机1. TCP状态机TCP状态机是TCP连接的变化过程。TCP在三次握手和四次挥手的过程,就是一个TCP的状态说明,由于TCP是一个面向连接的,可靠的传输,每一次的传输都会经历连接,传输,关闭的过程,无论是哪个方向的传输,必须建立连接才行,在双方通信的过程中,TCP的状态是不一样的下图说明了TCP状态的变化过程上图中不同线条的含义粗线:主动发起连接(可理解为客户端模型)虚线:被动发起连接(可理解为服务器模型)细线:两端同时操作TCP各个状态的解释:CLOSED:表示原创 2021-03-09 22:06:05 · 1371 阅读 · 0 评论 -
LWIP应用开发|TCP协议深入
TCP协议深入TCP通过检验和、序列号、确认应答、重发控制、连接管理以及窗口控制等机制实现可靠性传输1. 序列号+确认应答在TCP中,当发送端的数据到达接收主机时,接收端主机会返回一个已收到消息的通知,这个消息叫做确认应答(ACK);序列号是按照顺序给发送数据的每一个字节都标上号码的编号。接收端查询接收数据TCP首部中的序列号和数据的长度,将自已下一步应该接收的序号作为确认应答返送回去2. 重发超时重发超时是指在重发数据之前,等待确认应答到来的那个特定时间间隔,如果超过了这个时间仍未收到确认应答原创 2021-03-08 16:44:10 · 1007 阅读 · 0 评论 -
LWIP应用开发|TCP协议原理
TCP协议原理1. TCP报文封装一个典型的使用TCP协议封装的数据包,包括以太网MAC头+网络层IP数据头+传输层TCP头+要传输的数据。详见下图所示:2. TCP报文结构TCP(Transmission Control Protocol,传输控制协议)提供的是面向连接,可靠的字节流服务。即客户和服务器交换数据前,必须现在双方之间建立一个TCP连接,之后才能传输数据。并且提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证数据能从一端传到另一端。TCP报文结构如下图示:...原创 2021-03-05 16:30:27 · 866 阅读 · 1 评论 -
LWIP应用开发|UDP协议原理
UDP协议原理1. UDP报文封装一个典型的使用UDP协议封装的数据包,包括以太网MAC头+网络层IP数据头+传输层UDP头+要传输的数据。详见下图所示:2. UDP报文结构UDP(User Data Protocol,用户数据报协议)是一个简单的面向数据报的运传输层协议。它不提供可靠性,只是把应用程序传给IP层的数据报发送出去,但是不能保证它们能到达目的地。由于UDP在传输数据报前不用再客户和服务器之间建立一个连接,且没有超时重发等机制,所以传输速度很快。UDP报文结构如下图示:UDP报文原创 2021-03-05 10:18:53 · 738 阅读 · 1 评论 -
LWIP应用开发|IP协议原理
IP协议原理1. 网络地址转换网络地址转换(Network Address Translation,NAT)诞生于1994年,它的提出是在IPv4地址资源面临枯竭的背景下,NAT在一定程度上,能够有效的解决公网地址不足的问题。NAT的工作原理就是重写通过路由器的数据包的识别信息。NAT路由器将其管理的内部主机发送的数据包的源IP地址由局部地址变为全局地址,从外部传输过来的数据包则做相反转换以分配到合适的内部主机。2. IP数据报IP协议提供不可靠无连接的数据报传输服务,IP层提供的服务是通过IP原创 2021-03-04 13:50:22 · 761 阅读 · 3 评论 -
LWIP应用开发|Web点灯二
Web点灯二在了解了HTML实现、交互功能实现以及HTTP请求和响应的相关内容后,本章主要实现通过网页对STM32F429开发板LED进行开关控制的功能该实例实现的功能:在浏览器中输入开发板IP(192.168.1.10)可以访问Web点灯的html界面,点击打开和关闭按钮,可以控制开发板上LED的亮灭1. Web点灯框架设计#mermaid-svg-XwZavS9SiDcDZlRw .label{font-family:'trebuchet ms', verdana, arial;font-fam原创 2021-03-03 17:23:13 · 1130 阅读 · 1 评论 -
LWIP应用开发|Web点灯一
Web网页点灯一原创 2021-03-03 14:44:40 · 1225 阅读 · 1 评论 -
LWIP应用开发|Web开发技术
Web开发技术1. HTML超文本标记语言(HyperText Markup Language,简称:HTML)是一种用于创建网页的标准标记语言, 但不是一种编程语言。HTML定义了网页的结构,HTML文档包含了HTML标签及文本内容。您可以使用HTML来建立自己的WEB站点,HTML运行在浏览器上,由浏览器来解析其基本机构如下图所示HTML体验<HTML> <HEAD> <TITLE>欢迎进入 HTML 世界</TITLE> </H原创 2021-03-02 21:56:02 · 1059 阅读 · 0 评论 -
LWIP应用开发|HTTP协议
HTTP协议1. HTTP协议介绍超文本传输协议(HTTP)是一种通信协议,它允许将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器;HTTP是一个属于应用层的面向对象的协议,由于其简捷、决速的方式,适用于分布式超媒体信息系统超文本(Hyper Text)包含有超链接(Link)和各种多媒体元素标记(Markup)的文本。这些超文本文件彼此链接,形成网状(Web),因此又被称为网页(Web Page)。这些链接使用URL表示。最常见的超文本格式是超文本标记语言HTMLURL 即统一原创 2021-03-02 15:06:53 · 1564 阅读 · 0 评论 -
LWIP应用开发|广播与组播
广播与组播1. 广播与组播简介1.1 组网方式网络中有三种通讯模式:单播、广播、组播(多播)单播:主机之间“一对一”的通讯模式,网络中的交换机和路由器对数据只进行转发不进行复制。如果10个客户机需要相同的数据,则服务器需要逐一传送,重复10次相同的工作。网络中的路由器和交换机根据其目标地址选择传输路径,将IP单播数据传送到其指定的目的地广播:主机之间“一对所有”的通讯模式,网络对其中每一台主机发出的信号都进行无条件复制并转发,所有主机都可以接收到所有信息(不管你是否需要)。在数据网络中广播被限原创 2021-03-02 14:57:53 · 3717 阅读 · 2 评论 -
LWIP应用开发|心跳机制
心跳机制1. 心跳机制简介在长连接下,可能很长一段时间都没有数据往来。理论上说,这个连接是一直保持连接的,但是实际情况中,如果中间节点出现什么故障是难以知道的。更致命的是,有的节点(防火墙)会自动把一定时间之内没有数据交互的连接给断掉。这个时候,就可以使用心跳包,来维持长连接以及保活心跳机制就是每隔几分钟发送一个固定信息给服务端,服务端收到后回复一个固定信息如果服务端几分钟内没有收到客户端信息则视客户端断开。发包方可以是客户也可以是服务端,具体看哪边实现更方便合理心跳包的发送通常有以下两种技术应原创 2021-03-01 16:37:55 · 3353 阅读 · 9 评论 -
LWIP应用开发|DNS域名解析
DNS域名解析原创 2021-02-25 21:42:00 · 2290 阅读 · 4 评论 -
LWIP应用开发|并发服务器
并发服务器原创 2021-02-24 22:54:58 · 1686 阅读 · 0 评论 -
LWIP应用开发|Socket API编程优化
Socket API编程优化原创 2021-02-24 11:00:58 · 1430 阅读 · 0 评论 -
LWIP应用开发|Socket API编程模型
Socket API编程模型原创 2021-02-20 17:21:17 · 1666 阅读 · 2 评论 -
STM32CubeMX+LAN8720+LWIP+FreeRTOS实现网络通讯
STM32CubeMX+LAN8720+LWIP+FreeRTOS实现网络通讯使用STM32CubeMX可以非常方便的将FreeRTOS+LWIP移植到工程中,本文就是介绍如何利用STM32CubeMX移植FreeRTOS+LWIP到STM32F429开发板中。移植的流程如下示:#mermaid-svg-IEetN8rIz9hK3Ex6 .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-fam原创 2021-02-13 20:25:01 · 7601 阅读 · 0 评论 -
LWIP应用开发|带操作系统移植LWIP
带操作系统移植LWIP原创 2021-02-13 18:03:08 · 1150 阅读 · 0 评论 -
LWIP应用开发|RAW API编程模型
RAW API编程模型原创 2021-02-12 18:26:45 · 3281 阅读 · 2 评论 -
STM32CubeMX+LAN8720+LWIP不带操作系统实现网络通讯
STM32CubeMX+LAN8720+LWIP不带操作系统实现网络通讯使用STM32CubeMX可以非常方便的将LWIP移植到工程中,本文就是介绍如何利用STM32CubeMX移植LWIP到STM32F429开发板中。LWIP移植的流程如下示:#mermaid-svg-9tEdrCmYirruZDai .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;co原创 2021-02-09 15:22:58 · 4035 阅读 · 1 评论 -
LWIP应用开发|不带操作系统移植LWIP
不带操作系统移植LWIP使用STM32CubeMX可以非常方便的将LWIP移植到工程中,本文就是介绍如何利用STM32CubeMX移植LWIP到STM32H743开发板中。LWIP移植的流程如下示:#mermaid-svg-V6g3LHZ4Zx4nzlQv .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-V6原创 2021-02-09 15:14:30 · 1362 阅读 · 0 评论 -
LWIP应用开发|LWIP协议栈
LWIP协议栈1. LWIP协议介绍LWIP 是瑞典计算机科学院(SICS)的Adam Dunkels 等开发的一个小型开源的TCP/IP 协议栈。LWIP 是轻量级 IP 协议,有无操作系统的支持都可以运行, LWIP 实现的重点是在保持 TCP 协议主要功能的基础上减少对 RAM 的占用,它只需十几 KB 的 RAM 和 40K 左右的 ROM 就可以运行,这使LWIP协议栈适合在低端的嵌入式系统中使用。LWIP支持的协议种类:DNS,域名解析;SNMP,简单网络管理协议;DHCP,动态主原创 2021-01-29 09:55:50 · 2488 阅读 · 0 评论 -
LWIP应用开发|以太网基础知识
以太网基础知识1. CS架构和BS架构CS架构:Client/Server,客户端/服务器模式;是建立在局域网的基础上的BS架构:Browser/Server,浏览器/服务器模式;是建立在广域网的基础上的CS架构BS架构优点可在客户端处理数据后再发送请求,响应快;操作界面能满足客户的个性化需求;管理信息系统具有较强的事务处理能力,能实现复杂的业务流程;安全,可以对权限多次校验,提供更加安全的存储模式,对信息安全掌控能力较强分布性强,客户端零维护,只要有网络/浏览器可以随原创 2021-01-11 17:33:09 · 1437 阅读 · 1 评论 -
LWIP应用开发|TCP/IP协议簇二
TCP/IP协议簇二原创 2021-01-08 16:05:25 · 801 阅读 · 0 评论 -
LWIP应用开发|TCP/IP协议簇一
TCP/IP协议簇一原创 2021-01-08 14:27:37 · 1011 阅读 · 0 评论 -
LWIP应用开发|以太网硬件设计二
以太网硬件介绍1. STM32以太网外设简介2. LAN8720以太网芯片简介3. RJ45网线插头简介原创 2021-01-13 11:51:31 · 1202 阅读 · 0 评论 -
LWIP应用开发|以太网硬件设计一
以太网硬件设计1. 系统连接框图LWIP应用开发系列使用的是STM32H743芯片 + LAN8720以太网芯片 + RJ45插头2. 系统连接原理图下图是STM32H743、LAN8720和RJ45(内置网络变压器)的连接原理图3. STM32H743与PHY层芯片连接图站管理接口SMI:允许应用程序通过时钟(MDC)和数据线(MDIO)两条线访问任意PHY寄存器介质独立接口MII:用于MAC层与PHY层进行数据传输精简介质独立接口RMII:用于MAC层与PHY层进行数据传输,减少了原创 2021-01-12 09:09:37 · 1142 阅读 · 0 评论