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

北京网站建设服务网站开发项目的需求分析

北京网站建设服务,网站开发项目的需求分析,怎么宣传自己的网站推广,网站建设的代码文章目录 1 前言2 简介2 .1 什么是NetBIOS#xff1f;2.2 NetBIOS的优点2.3 NetBIOS工作原理2.4 NetBIOS应用场景 3 WIZnet以太网芯片4 NetBIOS网络设置示例概述以及使用4.1 流程图4.2 准备工作核心4.3 连接方式4.4 主要代码概述4.5 结果演示 5 注意事项6 相关链接 1 前言 随着… 文章目录 1 前言2 简介2 .1 什么是NetBIOS2.2 NetBIOS的优点2.3 NetBIOS工作原理2.4 NetBIOS应用场景 3 WIZnet以太网芯片4 NetBIOS网络设置示例概述以及使用4.1 流程图4.2 准备工作核心4.3 连接方式4.4 主要代码概述4.5 结果演示 5 注意事项6 相关链接 1 前言 随着TCP/IP取代OSI模型成为事实上的标准NetBIOS over TCP/IP从20世纪80年代后期开始广泛使用NetBIOS成为许多其他网络应用程序的基础。很多局域网都是在NetBIOS协议的基础上工作的。 W5100S/W5500是一款集成全硬件 TCP/IP 协议栈的嵌入式以太网控制器同时也是一颗工业级以太网控制芯片。本教程将介绍W5100S/W5500以太网DHCP应用的基本原理、使用步骤、应用实例以及注意事项帮助读者更好地掌握这一技术。 2 简介 2 .1 什么是NetBIOS NetBIOSNetwork Basic Input/Output System是一种应用程序接口API应用于局域网程序中为程序提供请求低级服务的统一的命令集作用是给局域网提供网络服务以及其他特殊功能。 2.2 NetBIOS的优点 NetBIOS协议的优点包括 可以直接使用主机名来寻找其他主机不需要知道对方的IP地址。可以共享主机上的所有资源例如磁盘、打印机等。具有良好的跨平台性和兼容性。短小精练网络通信性能良好适合于适时性较高的小型LAN网络环境。· 2.3 NetBIOS工作原理 NetBIOS协议的实现步骤如下 首先计算机在启动时或启动后会执行一个名为nbtstat的程序这个程序会将自己的名称NetBIOS名称广播到网络中。其次当一个数据包到达时系统会查看该数据包的目的IP地址如果是广播或组播地址那么系统会将该数据包直接发送到所有配置了相同广播地址或组播地址的接口。然后系统会查看该数据包的NetBIOS头部信息其中包含目的计算机的NetBIOS名称。系统会查找本机的NetBIOS名称表如果找到了匹配的名称那么系统会将该数据包发送到对应接口。最后如果系统没有找到匹配的名称那么系统会将该数据包丢弃。 2.4 NetBIOS应用场景 NetBIOS协议广泛应用于局域网中以下是一些常见的应用场景 共享文件和打印机NetBIOS协议允许在局域网中共享文件和打印机所有连接到同一网络的计算机都可以访问这些资源只需要指定它们的NetBIOS名称即可。远程登录NetBIOS协议可以通过终端服务Terminal Services或远程桌面连接实现远程登录和管理其他计算机。网络管理工具NetBIOS协议常用于网络管理工具中例如网络监视器、网络诊断工具等用于监视和管理网络中的计算机和设备。数据库共享NetBIOS协议可以用于数据库共享允许不同的计算机之间进行数据交换和共享。多媒体传输NetBIOS协议适用于传输音频、视频等多媒体数据可以在局域网中实现实时的音视频传输。 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 NetBIOS网络设置示例概述以及使用 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层之上的协议我们只需简单调用相应函数即可完成协议的应用。 第一步arp_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 // Use dhcp #include socket.h // Use socket #include arp.h // Use arp#define SOCKET_ID 0 // Socket number #define ETHERNET_BUF_MAX_SIZE (1024 * 2) // Send and receive cache size #define DHCP_RETRY_COUNT 5 // DHCP retry times/*** brief Timer callback processing function, used for dhcp timing processing* param repeating :Timer structure* return bool*/ bool repeating_timer_callback(struct repeating_timer *t);/*** brief Initialization of chip network information* param conf_info :Static configuration information* return none*/ void network_init(wiz_NetInfo *conf_info);/* Network information to be configured. */ wiz_NetInfo net_info {.mac {0x00, 0x08, 0xdc, 0x1e, 0xed, 0x2e}, // Configured MAC address.ip {192, 168, 1, 10}, // Configured IP address.sn {255, 255, 255, 0}, // Configured subnet mask.gw {192, 168, 1, 1}, // Configured gateway.dns {8, 8, 8, 8}, // Configured domain address.dhcp NETINFO_DHCP}; // Configured dhcp model,NETINFO_DHCP:use dhcp; NETINFO_STATIC: use static ip.static uint8_t ethernet_buf[ETHERNET_BUF_MAX_SIZE] {0, }; // Send and receive cachestatic uint8_t destip[4]{192, 168, 1, 2}; // udp destination ip static uint8_t dest_ip[4] {192, 168, 1, 2}; // UDP IP address static uint8_t breakout_flag 0; // Define the DHCP acquisition flagint main() {struct repeating_timer timer; // Define the timer structurewiz_NetInfo get_info;/* MCU init */stdio_init_all(); // Initialize the main control peripheralwizchip_initialize(); // Initialize the chip interface/*dhcp init*/DHCP_init(SOCKET_ID, ethernet_buf); // DHCP initializationadd_repeating_timer_ms(1000, repeating_timer_callback, NULL, timer); // Add DHCP 1s Tick Timer handlerprintf(wiznet chip tcp server example.\r\n);network_init(net_info); // Configuring Network Informationprint_network_information(get_info); // Read back the configuration information and print itwhile (true){do_arp(SOCKET_ID, ethernet_buf, dest_ip); //run arp} }void network_init(wiz_NetInfo *conf_info) {int count 0;uint8_t dhcp_retry 0;if (conf_info-dhcp NETINFO_DHCP){while (true){switch (DHCP_run()) // Do the DHCP client{case DHCP_IP_LEASED: // DHCP resolves the domain name successfully{if (breakout_flag 0){printf(DHCP success\r\n);getIPfromDHCP((*conf_info).ip);getGWfromDHCP((*conf_info).gw);getSNfromDHCP((*conf_info).sn);getDNSfromDHCP((*conf_info).dns);wizchip_setnetinfo(conf_info); // Configuring Network Informationclose(SOCKET_ID); // After dhcp close the socket, avoid errors in later usebreakout_flag 1;}break;}case DHCP_FAILED:{printf( DHCP failed \r\n);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{breakout_flag 1; // if DHCP fail, use the staticDHCP_stop(); // Stop processing DHCP protocolconf_info-dhcp NETINFO_STATIC;wizchip_setnetinfo(conf_info); // Configuring Network Informationbreak;}break;}}if (breakout_flag){printf(config succ\r\n);break;}}}else{wizchip_setnetinfo(conf_info); // Configuring Network Information} }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 注意事项 如果想用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.zqtcl.cn/news/491416/

相关文章:

  • 运城公司网站建设苏州网站建设苏州
  • 湖北省住房和建设厅网站首页网站用免费空间好不好
  • 网站建设公司案例做网站小图标大全
  • 美食网站主页怎么做网络营销推广的作用
  • 上海建站价格wordpress表白系统
  • 唐山 建设工程信息网站中天钢铁 网站建设
  • 公司没有备案了网站摄影素材网站
  • 正规的网店平台有哪些北京公司排名seo
  • 网页制作素材库哪个网站上海门户网站开发
  • 做网站 分辨率应该是多少做阿里巴巴网站要多少钱
  • 有专业做外贸的网站吗千岛湖网站建设
  • 百度怎么做开锁网站中国咖啡网站建设方案
  • 新网站不被收录郑州网站建设培训学校
  • 网站群建设意见征集北京做网站报价
  • 网站建设开发费会计处理山东省住房和城乡建设厅二建查询
  • 市工商局网站建设情况襄阳网站seo诊断
  • 动漫做那个视频网站单网页网站如何做
  • 企业网站名是什么意思广州公共交易中心
  • 做网站那家好沈阳做网站公司哪家好
  • 现在做一个网站大概多少钱中国住房城乡建设部网站
  • 高端企业网站建设核心秦皇岛网站制作人才招聘
  • 网站制作花多少钱简历模板表格
  • 泰安专业网站开发公司网页设计师常逛网站
  • 百度收录万网空间的网站需要多久推广seo网站
  • 个体工商户可以做网站备案吗微信app下载安装官方版2023
  • 内贸在什么网站做做网站需要提供哪些信息
  • 物流网站怎么做推广网页程序开发语言
  • 静态网站跟动态网站开发的层次
  • 公司购买网站怎么做分录被k掉的网站怎么做才能有收录
  • 网页制作相关网站网络卖货平台有哪些