W5100S是一个硬连线TCP/IP封装以太网控制器W5100S支持间接并行总线和高速SPI接口2种方式与主机进行通信。其内部还集成了以太网数据链路层(MAC)和10Base -T/100Base -T 以太网物理层(PHY),支持自动协商(10/100-Based全双工/半双工)。与传统软件协议栈不同,W5100S内嵌的4个独立硬件Socket可以进行4路独立通信,该4路Socket的通信效率互不影响,可以通过W5100S芯片上的16K字节的收/发缓存灵活定义各个Socket的大小。W5100S还提供WOL(局域网唤醒)和掉电模式
什么是静态IP地址?
静态IP地址是由ISP永久分配给网络设备的地址,即便是设备重启也不会发生改变。目前静态IP地址拥有两个版本:IPv4和IPv6。静态IP地址通常会分配给服务器托管网站,并提供电子邮件、VPN和FTP服务。在静态IP寻址中,网络中的每台设备都拥有自己的地址(无重复),且必须手动配置静态IP地址。当新设备连接到网络时,必须进行手动配置,输入IP地址、子网掩码、默认网关和DNS服务器等信息。
Web服务器是使用静态IP地址的典型示例。在计算机中,点击开始-运行或直接使用WIN+R快捷键,打开运行窗口,然后输入"cmd",点击确定;进入命令窗口,输入"ping www.google.com",将弹出如下所示的界面,其中"74.125.127.147"是http://www.google.com的当前IP地址。如果该IP地址是静态IP地址,您可以随时在网络浏览器中使用该静态IP地址来连接访问Google。
静态ip优点介绍
1、更好的DNS支持。使用DNS服务器更容易设置和管理静态IP地址。
2、方便的远程访问。静态IP地址使远程访问更加容易。
3、地理定位可靠。使用静态IP地址,服务可以匹配IP地址及其物理位置。
静态ip缺点介绍
1、静态ip安全性不高。使用静态IP地址,第三方很容易知道你和你的计算机所在的位置,这是由于静态ip地址是不变的。
2、静态ip价格高。静态ip相对而言价格更昂贵。
通常,静态IP地址最适合用于自己网站和互联网服务的企业。
硬件准备
- W5100S-EVB-Pico开发板
- 网线
- Micro USB数据线
注意:需要把 W5100S-EVB-Pico接入到与自己电脑同一个网段中。
软件环境
- Visual Studio Code
W5100S配置静态IP地址示例讲解
接下来,我们基于WIZnet官方的ioLibrary_Driver库编写静态IP地址配置代码。官方库链接地址:Wiznet/ioLibrary_Driver at ce4a7b6d07541bf0ba9f91e369276b38faa619bd (github.com)
步骤1:找到network_install 示例程序打开
我们用Visual Studio Code打开示例的network_install程序
设置spi接口
cpp
#define SPI_SCK_PIN 18
#define SPI_MOSI_PIN 19
#define SPI_MISO_PIN 16
#define SPI_MISO_CS 17
#define SPI_MISO_RST 20
设置MAC、IP、子网掩码和网关
cpp
wiz_NetInfo net_info = {
.mac = {0x00, 0x08, 0xdc, 0x1e, 0xed, 0x2e},
.ip = {192, 168, 1, 235},
.sn = {255, 255, 255, 0},
.gw = {192, 168, 1, 1},
};
注意:mac地址首位必须为偶数,也就是第1bit必须为0,奇数是为广播mac地址,mac地址第二位数必须是偶数,如果是奇数为组播地址,只能作为目的地址,不能作为源地址。
步骤2:编译烧录
对代码进行编译,生成后缀名是.uf2的文件
将文件从资源库中打开,按住W5100S-EVB-PICO上的boot键后重新上电或者RUN接地,大容量存储器会自动安装,然后将.uf2文件拖拽到大容量存储器完成烧录
步骤3:验证测试
连接好网线,按下W5100S_EVB_PICO的复位键(RUN接地),程序运行,可在串口工具上查看配置信息。
注意:如果没有输出信息,可以打开串口监视器里面的自动连接按钮,然后按下RUN进行复位即可。
可以打开VS Code的终端进行ping验证
也可以打开电脑上的cmd.exe开始ping 192.168.10.235。
通过这个程序,我们成功地配置了W5100S,使其接入网络。并通过电脑成功地Ping通了W5100S_EVB_PICO,为下一步进行数据通信打下基础。
示例下载链接
本期内容就到这里结束了,下期我们介绍一下如何获取动态ip