STM32
直播中

陈杰

7年用户 1372经验值
私信 关注
[问答]

STM32之如何使用野火w5500网络模块

STM32之如何使用野火w5500网络模块

回帖(1)

王岩

2021-10-13 16:51:25
1.NTP、SMTP、DNS 和 HTTPClient 访问的是外网,其中 HTTPClient 连Yeelink(云平台)的
2.其他访问的是内网

1、引脚初始化:
a、spi初始化;
/*定义SPI1作为W5500的硬件接口*/
#define WIZ_SCS                                    GPIO_Pin_4                                /*定义W5500的片选管脚*/
#define WIZ_SCLK                                GPIO_Pin_5                                /*定义W5500的时钟管脚*/
#define WIZ_MISO                                GPIO_Pin_6                                /*定义W5500的MISO管脚*/
#define WIZ_MOSI                                GPIO_Pin_7                                /*定义W5500的MOSI管脚*/
b、gpio初始化
#define WIZ_RESET                            GPIO_Pin_15                                /*定义W5500的RESET管脚*/
#define WIZ_INT                                GPIO_Pin_8                                /*定义W5500的INT管脚*/
2、硬复位W5500
3、配置mac地址
4、配置ip地址
5、TCP Server回环函数监听接收socket,进行数据处理。
=====================================================================
从DHCP服务器获取到的子网掩码
从DHCP服务器获取到的网关地址
从DHCP服务器获取到的DNS服务器地址
主机名
从DHCP服务器获取到的本机IP
已发现的DNS服务器地址
从DHCP列表中选择使用的DHCP服务器
最初获取到的IP地址
DHCP服务器
动态主机配置协议是一个局域网的网络协议。
两台连接到互联网上的电脑相互之间通信,必须有各自的IP地址,由于IP地址资源有限,宽带接入运营商不能做到给每个报装宽带的用户都能分配一个固定的IP地址(所谓固定IP就是即使在你不上网的时候,别人也不能用这个IP地址,这个资源一直被你所独占),所以要采用DHCP方式对上网的用户进行临时的地址分配。也就是你的电脑连上网,DHCP服务器才从地址池里临时分配一个IP地址给你,每次上网分配的IP地址可能会不一样,这跟当时IP地址资源有关。当下线的时候,DHCP服务器可能就会把这个地址分配给之后上线的其他电脑。这样就可以有效节约IP地址,既保证了网络通信,又提高IP地址的使用率。
在一个使用TCP/IP协议的网络中,每一台计算机都必须至少有一个IP地址,才能与其他计算机连接通信。为了便于统一规划和管理网络中的IP地址,DHCP(Dynamic Host Configure Protocol,动态主机配置协议)应运而生了。这种网络服务有利于对校园网络中的客户机IP地址进行有效管理,而不需要一个一个手动指定IP地址。
一,动态主机配置协议DHCP

1,DHCP简介

DHCP(Dynamic Host Configuration Protocol),动态主机配置协议,是一个应用层协议。当我们将客户主机ip地址设置为动态获取方式时,DHCP服务器就会根据DHCP协议给客户端分配IP,使得客户机能够利用这个IP上网。
DHCP的前身是BOOTP协议(Bootstrap Protocol),BOOTP被创建出来为连接到网络中的设备自动分配地址,后来被DHCP取代了,DHCP比BOOTP更加复杂,功能更强大。后面可以看到,在用Wireshark过滤显示DHCP包,需要输入过滤条件BOOTP,而不是DHCP,但或许是因为我使用的Wireshark版本是比较旧的1.12.9,没有在新版本中尝试过,也许可以输入DHCP让其只显示DHCP包。
2,DHCP的实现






DHCP的实现分为4步,分别是:
第一步:Client端在局域网内发起一个DHCP Discover包,目的是想发现能够给它提供IP的DHCP Server。
第二步:可用的DHCP Server接收到Discover包之后,通过发送DHCP Offer包给予Client端应答,意在告诉Client端它可以提供IP地址。
第三步:Client端接收到Offer包之后,发送DHCP Request包请求分配IP。
第四步:DHCP Server发送ACK数据包,确认信息。

举报

更多回帖

发帖
×
20
完善资料,
赚取积分