WiFi网络的构成

WiFi是现在最流行的无线网络模式,是一个建立于IEEE 802.11标准的无线局域网络(WLAN)设备标准,是目前应用最为普遍的一种短程无线传输技术。

WiFi网络概述

WiFi是一个无线网络通信技术的标准,WiFi是一种可以将个人电脑、手持设备等终端一无线方式互相连接的技术。接下来我们会讨论WiFi的基本构成。

什么是WiFi网络

WiFi(无线保真)是一种允许电子设备通过无线网络接入方法连接到网络的技术。

WLAN(无线局域网)是一种使用无线通信技术(如WiFi)连接设备的网络。它被设计用来链接一个较小的地理区域,如一个宿舍、办公室、啡馆或者家庭。在WLAN中,用户设备也通过无线方式连接到路由器,然后通过路由器接入互联网。

所以,WiFi是一种无线通信技术,而WLAN是使用该种技术的一种网络设置。换句话说,WiFi是实现WLAN的一种方式。

WiFi网络的结构

一般架设的WiFi网络的基本设备是无线网卡和AP。AP是Access Point的简称,是无线访问接入点或者桥接器,如无线路由器。它主要是在媒体存取控制层MAC中扮演无线工作站与有线局域网络的桥梁。目前的无线AP可以分为单纯型AP和扩展型AP。

单纯性AP缺少路由功能,相当于无线交换机,只是提供一个无线信号发射的功能。也称为独立型接入点,它可以单独作为一个无线接入点使用。每个单纯型AP都需要单独配置和管理,对于规模较小,需求简单的无线网络环境是一个不错的选择。比如家庭、小型办公室等环境。

扩展型AP是人们常说的无线路由器。无线路由器就是带有无线覆盖功能的路由器。又称为控制器管理型接入点,它需要配合无线控制器一起使用。在大型无线网络环境中,如果采用单纯型AP,那么每一个AP都需要单独配置,工作量大且维护困难。而扩展型AP通过连接到无线控制器,可以实现集中式的管理和配置,方便大规模部署和管理。

AP常用术语概述

  1. SSID:Service Set Identifier,服务集标识,简单来说就是WiFi的名称。当设备搜索WiFi网络时,显示的网络名称就是SSID。通过设置不同的SSID,可以区分和选择连接的WiFi网络。SSID是一个笼统的概念,包含了ESSID和BSSID,用来区别不同的网络,最多可以有32个字符。

  2. 信道:在WiFi网络中,为了防止多个无线设备同时使用同一频率而导致的信号干扰,通常会将带宽划分为多个信道供不同的设备使用。在设置WiFi网络时,可以选择以减少相互干扰的信道。

  3. 模式:无线模式是无线网络的工作模式,最常见的有802.11b、802.11g、802.11n和802.11ac等。这些模式主要是区别于频率和最大的传输速率。

  4. 频段带宽:指的是无线网络使用的频段宽度。常见的频段有2.4GHz和5GHz两种。2.4GHz频段因为受到许多家用电器的干扰,通常有较大的网络干扰,但传输距离较远;5GHz频段受到的干扰较小,传输速度较快,但覆盖范围较小。

  5. WDS:Wireless Distribution System, 无线分布系统,是一种无线网络扩展技术。通过WDS可以将多个无线路由器(或AP)连接到一起,形成一个更大的无线网络,大大提高了无线网络的覆盖范围。但WDS可能会降低无线网络的传输速率。

  6. 校园网的工作原理:

    校园网和企业网通常会使用更加专业的解决方案,如使用无线控制器(也称为WLAN控制器)来管理和控制所有的无线接入点(AP)。虽然WDS可以用来扩展无线网络,但它更多的是用在家庭环境中,而在校园网和企业网这样的大规模环境下,通常会使用无线控制器来进行集中管理和配置。

    在使用无线控制器的网络中,可以设置多个SSID,每个SSID对应一个或多个AP。同一SSID下的多个AP可以覆盖不同的地理位置,当用户从一个地方移动到另一个地方时,他的设备可以自动从当前连接的AP切换到信号更强的AP,同时保持网络连接不断开,这就实现了无缝漫游。

    在这种情况下,虽然用户看到的SSID是相同的,实际上连接的是不同的AP。每个AP具有唯一的BSSID(基础服务集标识符),这是AP的物理地址(MAC地址),用来唯一标识一个无线接入点。所以说,虽然SSID可能相同,但BSSID一定是不同的。

    总的来说,校园网和企业网通常会使用无线控制器和多个AP,通过SSID来为用户提供持续稳定的无线连接,并通过BSSID来独立标识每个接入点。

WiFi工作原理

Beacon在WiFi通信中确实非常重要,它负责广播无线网络的存在和基本信息,使设备可以找到和连接到网络。无线接入点(也即WiFi路由器)是在硬件层面上执行发送Beacon的设备。WiFi路由器和设备的无线网卡都是执行WiFi协议,包括发送和接收Beacon,的硬件设备。

以下是Beacon在WiFi网络中的主要作用:

  1. 网络发现和连接:当设备搜索可用的WiFi网络时,设备就是在监听WiFi路由器的Beacon广播来获取网络列表。设备根据这些信息,可以决定连接到哪个网络。

  2. 时间同步:Beacon帧内部包含一个时间戳信息,可以帮助网络内所有的设备同步其内部时钟。这对于确保数据包的有序传送非常重要。

  3. 能量管理:Beacon中的信息可以告诉设备何时可以进入省电状态。无线设备可以根据Beacon的信息暂时关闭其无线接口以省电,然后在下一个Beacon到来时再次唤醒。

  4. 网络维护:通过持续发送Beacon,无线接入点可以告知设备无线网络还在正常运作。如果设备一段时间没有收到来自特定无线接入点的Beacon,就会认为与该接入点的连接已经中断。

802.11协议概述

802.11协议是一种由IEEE(电气和电子工程师协会)定义的无线局域网(WLAN)标准,通常被大家所熟知的名称是Wi-Fi。这种协议描述了如何在无线环境中实现网络通信。从上世纪90年代中期开始,802.11已经发展出了多种不同的版本,例如802.11a,802.11b,802.11g,802.11n和802.11ac等,它们在频段、速率、传输距离等方面都有所区别。

以下是这些版本的一些基本信息:

  1. 802.11a:使用5GHz频段,最高速率为54Mbps,传输距离相对较短。
  2. 802.11b:使用2.4GHz频段,最高速率为11Mbps,传输距离较远。
  3. 802.11g:使用2.4GHz频段,最高速率为54Mbps,兼容802.11b。
  4. 802.11n:可以使用2.4GHz和5GHz两个频段,最高速率可达150Mbps或更高,提供了更好的覆盖范围和信号穿透力。这一版本引入了多输入多输出(MIMO)技术,允许同时通过多个天线发送和接收数据,以提高传输速度。
  5. 802.11ac:只使用5GHz频段,具有更高的传输速度,理论上最高可达1300Mbps,提供了更好的性能和更大的覆盖范围。

总的来说,802.11协议是一种规定无线局域网(WLAN)操作的技术标准,它定义了无线设备如何访问共享媒体、如何识别和连接网络,以及如何在接收和发送数据时保持安全等一系列操作。

频段

频段就是无线信道,是以无线信号作为传输媒体的传输信号传输通道。WiFi设备一般都支持13个信道。他们的中心频道虽然不同,但是因为都占据了一定的频率范围,所以会有一些互相重叠的情况。存在第14信道但是一般不用,每个信道有效带宽是20MHz,另外还有两个2MHz的强制隔离频带。完全没有重叠的频段包含了(1,6,11)(2,7,12)(3,8,13)(4,9,14)

使用wirelessmon规划频段

WirelessMon是一款强大的无线网络工具,它可以帮助用户检测和管理周围的无线网络。具体而言,可以使用此工具来查看周围所有无线网络的SSID,信号强度,通道号,MAC地址等信息。在规划频段时,WirelessMon可以使这个过程更容易,以下是一般步骤:

  1. 评估无线网络环境:使用WirelessMon扫描周围的无线网络,查看他们的信道和信号强度。

  2. 选择合适的信道:2.4 GHz频段通常有1至11或1至13个信道(取决于您所在的国家和地区)。理想情况下,应该尽量选择那些未被其他网络使用或使用较少的信道。

  3. 避免信道重叠:在2.4 GHz频段,信道之间有重叠,例如,信道1和信道2之间有重叠。因此,为了避免干扰,您通常应该选择1,6,11这些信道,因为它们没有重叠。

  4. 分析和优化:在设置了信道后,您应该继续使用WirelessMon监控网络的性能,如果您发现网络性能不佳,可能需要调整信道。

请注意,WirelessMon只是一款无线网络工具,它可以帮助您更好地理解周围的无线网络环境,并提供一些网络参数,但最终的频段规划决策仍取决于基于实际环境做出的考虑。

带宽

这里的带宽是说信道带宽。802.11n协议中包括两带宽20MHz和40MHz个。

带宽越大,理论上传输速度越快。所以,40MHz的带宽比20MHz的带宽传输速度更快。

20MHz和40MHz带宽的使用,主要取决于你的网络环境,尤其是你的无线网络是否拥挤。以下是一些常见的使用场景:

  1. 在2.4GHz频段上,由于信道的数量有限(最多14个,但在大多数地方只能使用1-11个信道),每个信道的间距非常紧密,这使得信号容易相互干扰。因此,虽然40MHz带宽可以提供更高的速度,但在这个频段上通常建议使用20MHz带宽,避免互相干扰。

  2. 在5GHz频段上,由于信道的数量更多(最多25个),每个信道的间距更大,所以信号干扰少,因此可以使用40MHz或更高的带宽。

总的来说,20MHz的带宽适用于2.4GHz频段,适合设备数量多、网络环境较为拥挤的情况。40MHz的带宽适用于5GHz频段,适合设备数量较少、网络环境较为开阔且需求高速度的情况。

  • 16
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
本方案采用的是MCU+AT指令的形式开发,MCU是大家比较熟悉的意法半导体公司STM32F103C8T6,WiFi模块使用的是安信可ESP-12F,本方案是一个Demo设计,比较简单,仅实现了功能,算是一个抛砖引玉吧! 先上视频演示:https://v.youku.com/v_show/id_XNDE3OTE4MDY4NA==.html?spm=a2hzp.8244740.0.0 WiFi模块资料链接:https://wiki.ai-thinker.com/esp8266 STM32F103C8芯片资料链接:https://www.stmicroelectronics.com.cn/content/st_com/zh/products/microcontrollers-microprocessors/stm32-32-bit-arm-cortex-mcus/stm32-mainstream-mcus/stm32f1-series/stm32f103/stm32f103c8.html#overview 硬件部分,由时钟电路+WiFi模块+MCU最小系统+OLED显示屏+稳压电路+按键电路组成,这里采用时钟电路是希望模块在断网后还能获取一个比较精准的时间,并且电路设计上增加了储能电容可以在断电一个月后保持时间数据不丢失,当然这里也可以用STM32里面的RTC时钟;OLED显示屏采用的是裸屏设计,使整体电路板一体化效果好些;其他电路都是参考开发板or硬件手册上设计的;硬件设计软件采用的是Altium Designer (13.0),原理图概略图如下图所示: 实物图如下图所示:(电路板是找厂家打样的,元器件是纯人工手焊) 软件部分,由底层驱动+WiFi联网+调用API接口并解析数据+OLED显示组成;首先分析一波,这里面用到了MCU的USART、I2C*2、GPIO*2引脚资源,然后对应去找相关类似的例程,既然已经有轮子了,为何还要花时间去造轮子,当然是直接改例程来的舒服。这里开发方式采用的是库函数开发,用的是STM32的标准库,对应找到了OLED显示屏的驱动资料、PCF8563的驱动资料、WiFi模组的驱动资料、按键输入的驱动资料;将它们整合到一个工程里面,然后更改里面的引脚配置等,就完成了整个设计的底层驱动。 WiFi联网,这里WiFi是设置成了STA模式(STA模式是啥,可自行问度娘),然后连接手机开的热点(注意手机必须要能连接上公网,即我们常用的互联网)。具体如何设置可以参考WiFi模块的AT指令集,AT指令集在上面WiFi模块资料里面有。手机开的WiFi热点的账号密码需要事先知道,并写入在程序里面,后续如果需要更改热点的账号密码,就需要更改程序。 天气和时间更新,即调用API接口并解析数据,这里用到了两个API接口,第一个是心知天气的天气实况数据获取,因为是免费版所以只能获取到天气现象和气温两项数据;第二个是Nowapi的北京时间数据获取。因为用到的两个API接口是隶属于两个不同的服务器,所以程序上需要进行切换,连完这个服务器后需要断开连另一个服务器,比较麻烦。后面我发现其实Nowapi里面就有天气数据可以获取,完全可以通过只连接这个服务器就实现天气和时间数据的更新。实现方法参考下面的网址,写比较详细。 心知天气:https://docs.seniverse.com/api/weather/now.html、服务器IP116.62.81.138(域名api.seniverse.com)、默认端口80 Nowapi:https://www.nowapi.com/api/life.time、服务器IP103.205.4.43(域名api.k780.com)、默认端口80 解析数据用的是比较简单的方法,因为需要解析的数据量不大,所以并没有移植cjson,直接用strtok函数硬解。 OLED显示,OLED显示用的是I2C接口,然后给的例程只有常用的标点符号和26个英文字母的字库,如果需要汉字还需要自己添加字库,一般是用到什么汉字就添加什么汉字的字库,然后用例程里面给的功能函数去实现显示。 显示屏资料:http://pan.baidu.com/s/1dFri9Vz 下图是用到的所有.c文件(除库函数之外) bsp_usart1.c是用来串口调试使用,可以打印在电脑串口调试助手上显示;bsp_SysTick.c是用来生成精准的延时函数,用于I2C通讯等对时序敏感的接口;bsp_esp8266.c里面是对WiFi模块的一些初始化配置和WiFi的功能函数;Common.c里面是一些辅助函数;test.c里面是实现WiFi配网应用和API接口调用及解析;oled.c里面显示屏的初始化配置和显示功能函数;bsp_pcf8563.c里面是时钟芯

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值