当前位置: 首页 > news >正文

一个网站添加多个网址河南定制网站建设报价

一个网站添加多个网址,河南定制网站建设报价,seo接单,如何做建议的网站文章目录 1 前言2 简介2 .1 什么是DHCP#xff1f;2.2 为什么要使用DHCP#xff1f;2.3 DHCP工作原理2.4 DHCP应用场景 3 WIZnet以太网芯片4 DHCP网络设置示例概述以及使用4.1 流程图4.2 准备工作核心4.3 连接方式4.4 主要代码概述4.5 结果演示 5 注意事项6 相关链接 1 前言 … 文章目录 1 前言2 简介2 .1 什么是DHCP2.2 为什么要使用DHCP2.3 DHCP工作原理2.4 DHCP应用场景 3 WIZnet以太网芯片4 DHCP网络设置示例概述以及使用4.1 流程图4.2 准备工作核心4.3 连接方式4.4 主要代码概述4.5 结果演示 5 注意事项6 相关链接 1 前言 随着云计算的推广和普及越来越多的网络设备和服务需要连接到网络这意味着需要更多的IP地址和其他网络配置信息。DHCP服务器可以动态地分配IP地址和其他配置信息简化了网络配置管理提高了网络设备的可用性和效率。 W5100S/W5500是一款集成全硬件 TCP/IP 协议栈的嵌入式以太网控制器同时也是一颗工业级以太网控制芯片。本教程将介绍W5100S/W5500以太网DHCP应用的基本原理、使用步骤、应用实例以及注意事项帮助读者更好地掌握这一技术。 2 简介 2 .1 什么是DHCP DHCP是指动态主机配置协议是一种网络管理协议用于将网际协议地址动态分配给网络上的任何设备或节点以便它们可以使用IP进行通信。DHCP自动化并集中管理这些配置而不是要求网络管理员手动为所有网络设备分配IP地址。DHCP可以在小型本地网络以及大型企业网络上实现。 2.2 为什么要使用DHCP 在IP网络中每个连接Internet的设备都需要分配唯一的IP地址。DHCP使网络管理员能从中心结点监控和分配IP地址。当某台计算机移到网络中的其它位置时能自动收到新的IP地址。DHCP实现的自动化分配IP地址不仅降低了配置和部署设备的时间同时也降低了发生配置错误的可能性。另外DHCP服务器可以管理多个网段的配置信息当某个网段的配置发生变化时管理员只需要更新DHCP服务器上的相关配置即可实现了集中化管理。 总体来看DHCP相比设置静态IP地址带来了如下优势 准确的IP配置IP地址配置参数必须准确并且在处理“ 192.168.XXX.XXX”之类的输入时很容易出错。另外印刷错误通常很难解决使用DHCP服务器可以最大程度地降低这种风险。减少IP地址冲突每个连接的设备都必须有一个IP地址。但是每个地址只能使用一次重复的地址将导致无法连接一个或两个设备的冲突。当手动分配地址时尤其是在存在大量仅定期连接的端点例如移动设备时可能会发生这种情况。DHCP的使用可确保每个地址仅使用一次。IP地址管理的自动化如果没有DHCP网络管理员将需要手动分配和撤消地址。跟踪哪个设备具有什么地址可能是徒劳的因为几乎无法理解设备何时需要访问网络以及何时需要离开网络。DHCP允许将其自动化和集中化因此网络专业人员可以从一个位置管理所有位置。高效的变更管理DHCP的使用使更改地址范围或端点变得非常简单。例如组织可能希望将其IP寻址方案从一个范围更改为另一个范围。DHCP服务器配置有新信息该信息将传播到新端点。同样如果升级并更换了网络设备则不需要网络配置。 2.3 DHCP工作原理 一般步骤 DHCP Client以广播的方式发出DHCP Discover报文请求IP地址。DHCP Server向DHCP Client发送一个DHCP Offer报文提供IP地址和其它网络设置。DHCP Client会向DHCP Server发出一个广播的DHCP Request报文其中包含选中的 DHCP Server的IP地址和需要的IP地址。DHCP Server向DHCP Client响应一个DHCP ACK报文正式下发IP地址及其它网络设置。此时DHCP Client就可以使用这个IP地址了。 2.4 DHCP应用场景 DHCP的应用场景通常集中在需要动态分配IP地址的局域网环境中。例如在大型的办公环境或者学校中由于有大量的网络设备需要连接到网络手动为每个设备分配和管理IP地址会非常麻烦而且容易出错。使用DHCP可以集中管理IP地址的分配提高网络管理员的工作效率减少错误的发生。 3 WIZnet以太网芯片 WIZnet 主流硬件协议栈以太网芯片参数对比 ModelEmbedded CoreHost I/FTX/RX BufferHW SocketNetwork PerformanceW5100STCP/IPv4 MAC PHY8bit BUS, SPI16KB4Max.25MbpsW6100TCP/IPv4/IPv6, MAC PHY8bit BUS, Fast SPI32KB8Max.25MbpsW5500TCP/IPv4, MAC PHYFast SPI32KB8Max 15Mbps W5100S/W6100 支持 8bit数据总线接口网络传输速度会优于W5500。W6100 支持IPV6与W5100S 硬件兼容若已使用W5100S的用户需要支持IPv6可以Pin to Pin兼容。W5500 拥有比 W5100S更多的 Socket数量以及发送与接收缓存。 4 DHCP网络设置示例概述以及使用 4.1 流程图 程序的运行框图如下所示 4.2 准备工作核心 软件 Visual Studio CodeWIZnet UartTool 硬件 W5100SIO模块 RP2040 树莓派Pico开发板 或者 WIZnet W5100S-EVB-Pico开发板Micro USB 接口的数据线TTL 转 USB网线 4.3 连接方式 通过数据线连接PC的USB口主要用于烧录程序也可以虚拟出串口使用 通过TTL串口转USB连接UART0 的默认引脚 RP2040 GPIO0UART0 TX ---- USB_TTL_RXRP2040 GPIO1UART0 RX ---- USB_TTL_TX 使用模块连接RP2040 进行接线时 RP2040 GPIO16 ---- W5100S MISORP2040 GPIO17 ---- W5100S CSRP2040 GPIO18 ---- W5100S SCKRP2040 GPIO19 ---- W5100S MOSIRP2040 GPIO20 ---- W5100S RST 通过PC和设备都通过网线连接路由器LAN口 4.4 主要代码概述 我们使用的是WIZnet官方的ioLibrary_Driver库。该库支持的协议丰富操作简单芯片在硬件上集成了TCP/IP协议栈该库又封装好了TCP/IP层之上的协议我们只需简单调用相应函数即可完成协议的应用。 第一步dhcp_client.c文件中加入对应的.h文件。 第二步定义DHCP配置需要的宏。 第三步网络信息的配置,开启DHCP模式。 第四步编写定时器回调处理函数用于 DHCP 1s滴答定时器处理函数。 第五步主函数先是对串口和SPI的初始化然后写入W5100S的网络配置参数初始化DHCP后主循环开始DHCP获取IP获取到就打印获取到的IP获取次数超过最大获取次数时就使用静态IP。 #include stdio.h #include pico/stdlib.h #include pico/binary_info.h #include hardware/spi.h#include wizchip_conf.h #include bsp_spi.h #include dhcp.h#define ETHERNET_BUF_MAX_SIZE (1024 * 2) #define SOCKET_DHCP 0 #define DHCP_RETRY_COUNT 5wiz_NetInfo net_info {.mac {0x00, 0x08, 0xdc, 0x16, 0xed, 0x2e}, // Define MAC variables.ip {192, 168, 1, 10}, // Define IP variables.sn {255, 255, 255, 0}, // Define subnet variables.gw {192, 168, 1, 1}, // Define gateway variables.dns {8, 8, 8, 8}, // Define DNS variables.dhcp NETINFO_DHCP}; // Define the DNCP mode static uint8_t dhcp_get_ip_flag 0; // Define the DHCP acquisition flag static uint8_t ethernet_buf[ETHERNET_BUF_MAX_SIZE] {0, };/*brief Callback processing after triggering the timer.param Timer struct.return True.*/ bool repeating_timer_callback(struct repeating_timer *t);int main() {wiz_NetInfo get_info;int dhcp_state 0;int count 0;struct repeating_timer timer; // Define the timer structure/*mcu init*/stdio_init_all(); // Initialize the main control peripheralwizchip_initialize(); // spi initialization/*wiznet chip init*/wizchip_setnetinfo(net_info); // Write configuration information/*dhcp init*/add_repeating_timer_ms(1000, repeating_timer_callback, NULL, timer); // Add DHCP 1s Tick Timer handlerDHCP_init(SOCKET_DHCP, ethernet_buf); // DHCP initializationprintf(wiznet chip dhcp example start.\r\n);while (true){dhcp_state DHCP_run(); // Do the DHCP clientswitch (dhcp_state){case DHCP_IP_LEASED: // DHCP resolves the domain name successfullyif (dhcp_get_ip_flag 0){dhcp_get_ip_flag 1;getSHAR(get_info.mac);getIPfromDHCP(get_info.ip);getGWfromDHCP(get_info.gw);getSNfromDHCP(get_info.sn);getDNSfromDHCP(get_info.dns);get_info.dhcp NETINFO_DHCP;/* Network initialize */network_initialize(get_info); // apply from DHCPprint_network_information(get_info); // Read back the configuration information and print itprintf( DHCP leased time : %ld seconds\n, getDHCPLeasetime());}break;case DHCP_FAILED:count;if (count DHCP_RETRY_COUNT) // If the number of times is less than or equal to the maximum number of times, try again{printf( DHCP timeout occurred and retry %d \r\n, count);}else if (count DHCP_RETRY_COUNT) // If the number of times is greater than DHCP fails{printf( DHCP failed \r\n);DHCP_stop(); // Stop processing DHCP protocolnet_info.dhcp NETINFO_STATIC;wizchip_setnetinfo(net_info); // Write configuration informationprint_network_information(get_info); // Read back the configuration information and print it}}} }bool repeating_timer_callback(struct repeating_timer *t) {DHCP_time_handler(); // DHCP 1s Tick Timer handlerreturn true; } 4.5 结果演示 1.打开WIZ UartTool填入参数选择串口对应的COM Port波特率1152008位数据位1位停止位无校验位无流控填完参数后点击open打开。 2.打开串口后按下复位键可以看到串口打印DHCP获取到的信息其中IP为192.168.1.138。 3.通过PC终端PING获取到的IP发现可以PING通所以DHCP成功。 5 注意事项 要获取到动态IP必需将网络结构体配置中dhcp的值改为 NETINFO_DHCP这样才能跑DHCP模式。如果想用WIZnet的W5500来实现本章的示例我们只需修改两个地方即可 ​ (1)在library/ioLibrary_Driver/Ethernet/下找到wizchip_conf.h这个头文件将_WIZCHIP_ 宏定义修改为W5500。 ​ (2)在library下找到CMakeLists.txt文件将COMPILE_SEL设置为ON即可OFF为W5100SON为W5500。 6 相关链接 WIZnet官网 WIZnet官方库链接 本章例程链接 想了解更多评论留言哦
http://www.pierceye.com/news/198767/

相关文章:

  • 做的网站怎么查看点击率安装wordpress主题失败
  • 网站历史权重查询免费的黄冈网站有哪些下载软件
  • 宝安三网合一网站建设河北智能网站建设平台
  • 在百度上做网站有用吗wordpress环境虚拟机安装
  • 怎么做网站图片链接中元建设网站
  • 邢台做网站优化价格网站基本维护
  • 网站集群建设价格wordpress 加文章列表
  • 官方网站案例用ps做网站主页
  • 做名片的网站推广型网站建设销售
  • 河南省建设执业资格注册中心网站网站推广公司 sit
  • 来年做那个网站致富网站工作室 需要什么手续
  • 宜兴网站建设哪家好网站建设设计公司排名
  • 婚庆公司网站怎么做wordpress 首页置顶
  • 电商网站开发人员结构江苏住房和城乡建设厅网站首页
  • 快速建站的模板陕西省建设网三类人员继续教育
  • 谷歌浏览器对做网站有什么好处广州最好网站策划
  • 西安北郊做网站重庆手机软件开发
  • 怀化刚刚发生的大事台州seo服务
  • 织梦做的网站打开空白巴中网站制作公司
  • 如何使用jq做弹幕网站设计漂亮的网站
  • 电商网站是获取流量广西南宁网站排名优化
  • 网站板块设计有哪些开发网站监控推荐
  • 江西建设局网站广东网站建设类公司
  • 深圳网站制作设计艾佳工业设计
  • 怎么查看网站啥系统做的宁波网站设计制作
  • 温岭手机网站建设合肥企业展厅设计公司
  • 网站建设和制作怎么赚钱外贸网站建设服务器
  • 长沙自动化网站建设瑞安地区建设网站
  • 中山做网站费用网页制作简明教程
  • 芜湖做网站需要多少钱青岛网站建设公司怎么选