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

物联网AI 无线连接学习之WiFi基础篇 802.11协议发展

学物联网,来万物简单IoT物联网!!在这里插入图片描述
image.png

前言

随着物联网行业不断发展,WiFi技术的发展在其中起着非常关键的作用,也是我们日常生活中使用非常广泛的无线网络技术之一,现在我们随便买一个家用电子产品,大到各种大家电(冰箱、空调、洗衣机),小到像加湿器、除湿机、灯泡、插座等等,都会带有WiFi连接的功能。那WiFi是啥呢?WiFi 是基于 IEEE 802.11 系列标准的无线网络技术。802.11 a/b/g/n/ac 都是由802.11 发展而来的。不同的后缀代表着不同的物理层标准工作频段和不同的传输速率。本文想带大家过下基本概念,以及介绍一下802.11这些协议的区别。

802.11协议发展

协议发布时间工作频段(GHz)信道带宽 (MHz)传输速率说明
802.11a199952054Mbps
802.11b19992.42211Mbps
802.11g20032.42054Mbps
802.11n20092.4/520/40600MbpsWiFi 4
802.11ac2013520/40/80/1606.8GbpsWiFi 5
802.11ax20192.4/520/40/80/1609.6GbpsWiFi 6
2021620/40/80/1609.6GbpsWiFi 6E
802.11be-2.4/5/620/40/80/160/32030GbpsWiFi 7

举个例子,比如目前非常流行的一款WiFi芯片ESP32,ETT-B1开发板核心控制器就是ESP32,其WiFi特点如下:
image.png
支持 IEEE 802.11b/g/n 协议,在协议802.11n(2.4GHz)速率高达150Mbps,所以ESP32系列中使用的是WiFi4技术。

802.11协议区别

随着近十年物联网行业的不断发展,需求量非常大,场景也越来越复杂和多样化。WiFi这种无线技术也不断发展,其性能也不断提升。现在比较流行用的是WiFi4,WiFi5,WiFi6、WiFi6E标准,那接下去我们就聊聊这几个标准。

802.11n(Wi-Fi 4)

802.11a 采用与原始标准相同的核心协议,工作频率为 5 GHz,使用正交频分复用(OFDM)方式,最大理论数据速率为 54 Mbps,由此实现 20 Mbps 的实际吞吐量。其支持的其它数据速率包括 6、9、12、18、24、36 和 48 Mbps。
鉴于 2.4 GHz 频段越来越拥挤,给使用了5GHz频段的802.11a 增添了显著优势,但因受制于高载波频率,整体有效范围小于 802.11b/g。
802.11b 使用DSSS扩频技术,最大理论数据速率为 11 Mbps,工作频段2.4 GHz,采用CCK调制技术。
802.11g 使用OFDM、DSSS编码方式,最大理论数据速率为 54 Mbps,工作频段2.4 GHz。
802.11n也叫WiFi 4,2009年发布,使用MIMO-OFDM编码方式,最大理论数据速率为 600 Mbps,工作频段支持2.4/5GHz两个频段。

802.11ac(Wi-Fi 5)

802.11ac也叫WiFi 5以提供每秒千兆位的速度来为 Wi-Fi 提速,其通过扩展 802.11n 概念而实现,其中包括更宽的带宽(最高 160 MHz)、更多的 MIMO 空间流(最高 8 个)、下行链路多用户 MIMO(最多 4 个客户端)和高密度调制(最高 256 QAM)。802.11ac 支持 3/4、5/6编码速率(MCS8/9)下的 256 QAM,这要求更严格的 6 dB 系统级 EVM(-34 dB)要求。802.11ac 仅在 5 GHz 频段工作,因此双频接入点和客户端将继续使用 2.4 GHz 的 802.11n。2013 年发布的首批 802.11ac 仅支持 80 MHz 信道和最多 3 个空间流,在物理层提供最高 1300 Mbps 的速度。
第二波产品(802.11ac Wave 2)于 2015 年发布,支持更多信道绑定、更多空间流和 MU-MIMO。MU-MIMO 是 802.11ac 的重大进步——虽然 MIMO 把多个流定向到单个用户,但 MU-MIMO 可以将空间流同时定向至多个客户端,从而提高了网络效率。此外,802.11ac 采用一种称为波束成形的技术;通过波束成形,天线基本上可以将无线电信号发射到特定的设备上。802.11ac 路由器向后兼容 802.11b/g/a/n,这意味着所有传统客户端都可以与 802.11ac 路由器正常工作在5GHz频段,20/40/80/80+80/160MHz带宽,支持8x8 MIMO,最高支持256-QAM调制。可选LDPC编码。

802.11ax(Wi-Fi 6)

802.11ax(HE,HighEfficiency) ,802.11ax 是在 802.11ac 优势的基础上构建的第六代 WiFi,也叫WiFi 6,可提供更大的无线容量和可靠性。802.11ax 通过应用更密集的调制(1024 QAM、OFDMA) 。与 802.11ac 不同,802.11ax 为 2.4 和 5 GHz 双频技术,而802.11ac是单频5G技术,可与 802.11a/g/n/ac 客户端高效共存。802.11ax 采用 OFDMA,允许资源单元(RU)根据客户端的需求划分带宽,并以更快的速度为多位用户带来相同的体验。在 802.11ac 中每个 PLCP 协议数据单元(PPDU)中载波的任何给定点,Wi-Fi 信道被分解为更小的 OFDM 子信道集。然而,由于 OFDMA(802.11ax),其会在每个 PPDU 的基础上将各个子载波组分别作为资源单元分配给客户端工作在2.4G和5.8G双频,支持160Hz带宽,最高9.6Gbps速率,支持多用户同时接入(MU-MIMO,OFDMA)等技术。1024-QAM调制方式,8路数据流。

802.11ax(Wi-Fi 6E)

802.11ax(HE,HighEfficiency) , 6G频段共有1200MHz的频谱给到WiFi 6E使用,可用于从5.925GHz到7.125GHz。WiFi将可以访问59个20MHz信道,29个40MHz信道14个80MHz信道和7个160MHz信道。这不仅代表可以有很多频道,还可以代表可以解锁更高的数据速率。因为 802.11ax 标准(Wi-Fi 6)也在 2.4GHz 和 5GHz 频段运行,所以 6GHz 频段的 Wi-Fi 将被命名为 Wi-Fi 6E。 Wi-Fi 联盟选择此命名是为了避免混淆同样支持 6 GHz 的 802.11ax 设备。 “6”代表第六代Wi-Fi,“E”代表扩展。速率和WiFi6一样。

相关文章:

物联网AI 无线连接学习之WiFi基础篇 802.11协议发展

学物联网,来万物简单IoT物联网!! 前言 随着物联网行业不断发展,WiFi技术的发展在其中起着非常关键的作用,也是我们日常生活中使用非常广泛的无线网络技术之一,现在我们随便买一个家用电子产品&#xff0c…...

FreeRTOS-队列Queue

队列Queue 队列Queue可以用在“任务到任务”、“任务到中断”、“中断到任务”直接传输信息。 队列的阻塞访问(可指定超时时间) 只要知道队列的句柄,任务、ISR都可以读、写该队列。任务读写队列时,如果读写成功了就马上进入就绪态…...

车内总线通信技术简述

1. 前言 本文主要分享一些汽车总线通信技术(CAN、CANFD、LIN、Flex Ray、MOST、LVDS、TTP/C、Ethernet),希望对大家能有所帮助。 2. 多种汽车总线通信技术 2.1 CAN CAN(Controller Area Network)全称为“控制器局域…...

6.2 Windows驱动开发:内核枚举SSSDT表基址

在Windows内核中,SSSDT(System Service Shadow Descriptor Table)是SSDT(System Service Descriptor Table)的一种变种,其主要用途是提供Windows系统对系统服务调用的阴影拷贝。SSSDT表存储了系统调用的函数…...

实时LCM的ImgPilot搭建部署

ImgPilot是具有实时潜在一致性模型(LCM)功能的图像试点 下载源码 GitHub - leptonai/imgpilot: Image pilot with the power of Real-Time Latent Consistency Modelhttps://github.com/leptonai/imgpilot安装前端web cd imgpilot npm install 安装…...

开源与闭源:大模型未来的发展之争

在当今数字化时代,开源与闭源软件一直是技术界争论的热点话题。随着人工智能技术的快速发展,特别是大模型(如GPT-4等)的广泛应用,这个辩论在大模型技术的背景下变得更加引人注目。本文将探讨开源与闭源的优劣势比较&am…...

linux系统初始化本地git,创建ssh-key

step1, 在linux系统配置你的git信息 sudo apt install -y git//step1 git config --global user.name your_name // github官网注册的用户名 git config --global user.email your_email //gitub官网注册绑定的邮箱 git config --list //可以查看刚才你的配置内容…...

JDBC 操作 SQL Server 时如何传入列表参数

本文是作为将要对 PostgreSQL 的 in, any() 操作的一个铺垫,也是对先前用 JDBC 操作 SQL Server 的温习。以此记录一下用 JDBC 查询 SQL Server 时如何传递一个列表参数。比如想像一下查询语句 select * from users where id in (?) 我们是否能给这里的问题参数传递…...

[算法总结] - 蓄水池采样算法

问题描述 在长度为N的数组中,随机等概率选取K个元素,如何实现这个随机算法。 思路很简单,生成一个[0, N]的随机数index,然后返回index上的数值即可。 但是,如果输入是一个长度未知的数组比如stream,先遍历…...

【Dockerfile】将自己的项目构建成镜像部署运行

目录 1.Dockerfile 2.镜像结构 3.Dockerfile语法 4.构建Java项目 5.基于Java8构建项目 1.Dockerfile 常见的镜像在DockerHub就能找到,但是我们自己写的项目就必须自己构建镜像了。 而要自定义镜像,就必须先了解镜像的结构才行。 2.镜像结构 镜…...

flink和机器学习模型的常用组合方式

背景 flink是一个低延迟高吞吐的系统,每秒处理的数据量高达数百万,而机器模型一般比较笨重,虽然功能强大,但是qps一般都比较低,日常工作中,我们一般是如何把flink和机器学习模型组合起来一起使用呢? fli…...

自动驾驶学习笔记(十二)——定位技术

#Apollo开发者# 学习课程的传送门如下,当您也准备学习自动驾驶时,可以和我一同前往: 《自动驾驶新人之旅》免费课程—> 传送门 《Apollo Beta宣讲和线下沙龙》免费报名—>传送门 文章目录 前言 卫星定位 RTK定位 IMU定位 GNSS定…...

【MySQL系列】PolarDB入门使用

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…...

第二节HarmonyOS DevEco Studio创建项目以及界面认识

一、创建项目 如果你是首次打开DevEco Studio,那么首先会进入欢迎页。 在欢迎页中单击Create Project,进入项目创建页面。 选择‘Application’,然后选择‘Empty Ability’,单击‘Next’进入工程配置页。 配置页中,详…...

网页设计--第5次课后作业

1、快速学习JavaScript的基本知识第11-14章 JavaScript入门 - 绿叶学习网 2、使用所学的知识完成以下练习。 1)点击 “点亮”按钮 点亮灯泡,点击“熄灭”按钮 熄灭灯泡 2)输入框鼠标聚焦后,展示小写;鼠标离焦后…...

Spring Cache框架,实现了基于注解的缓存功能。

个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~ 个人主页:.29.的博客 学习社区:进去逛一逛~ Spring Cache框架 简介Spring Cache 环境准备S…...

CSS-鼠标属性篇

属性名:cursor 功能:设置鼠标光标的样式 属性值: pointer:小手move:移动图标text:文字选择器crosshair:十字架wait:等待help:帮助 eg.html{ cursor: wait;}(此处使用css改…...

Fiddler弱网测试究竟该怎么做?

前言 使用Fiddler对手机App应用进行抓包,可以对App接口进行测试,也可以了解App传输中流量使用及请求响应情况,从而测试数据传输过程中流量使用的是否合理。 抓包过程: 1、Fiddler设置 1)启动Fiddler->Tools->…...

蓝桥杯-平方和(599)

【题目】平方和 【通过测试】代码 import java.util.Scanner; import java.util.ArrayList; import java.util.List; // 1:无需package // 2: 类名必须Main, 不可修改public class Main {public static void main(String[] args) {Scanner scan new Scanner(System.in);//在此…...

从零构建属于自己的GPT系列1:预处理模块(逐行代码解读)、文本tokenizer化

1 训练数据 在本任务的训练数据中,我选择了金庸的15本小说,全部都是txt文件 数据打开后的样子 数据预处理需要做的事情就是使用huggingface的transformers包的tokenizer模块,将文本转化为token 最后生成的文件就是train_novel.pkl文件&a…...

IGP(Interior Gateway Protocol,内部网关协议)

IGP(Interior Gateway Protocol,内部网关协议) 是一种用于在一个自治系统(AS)内部传递路由信息的路由协议,主要用于在一个组织或机构的内部网络中决定数据包的最佳路径。与用于自治系统之间通信的 EGP&…...

Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)

概述 在 Swift 开发语言中,各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过,在涉及到多个子类派生于基类进行多态模拟的场景下,…...

Go 语言接口详解

Go 语言接口详解 核心概念 接口定义 在 Go 语言中,接口是一种抽象类型,它定义了一组方法的集合: // 定义接口 type Shape interface {Area() float64Perimeter() float64 } 接口实现 Go 接口的实现是隐式的: // 矩形结构体…...

测试markdown--肇兴

day1: 1、去程:7:04 --11:32高铁 高铁右转上售票大厅2楼,穿过候车厅下一楼,上大巴车 ¥10/人 **2、到达:**12点多到达寨子,买门票,美团/抖音:¥78人 3、中饭&a…...

上位机开发过程中的设计模式体会(1):工厂方法模式、单例模式和生成器模式

简介 在我的 QT/C 开发工作中,合理运用设计模式极大地提高了代码的可维护性和可扩展性。本文将分享我在实际项目中应用的三种创造型模式:工厂方法模式、单例模式和生成器模式。 1. 工厂模式 (Factory Pattern) 应用场景 在我的 QT 项目中曾经有一个需…...

【UE5 C++】通过文件对话框获取选择文件的路径

目录 效果 步骤 源码 效果 步骤 1. 在“xxx.Build.cs”中添加需要使用的模块 ,这里主要使用“DesktopPlatform”模块 2. 添加后闭UE编辑器,右键点击 .uproject 文件,选择 "Generate Visual Studio project files",重…...

【WebSocket】SpringBoot项目中使用WebSocket

1. 导入坐标 如果springboot父工程没有加入websocket的起步依赖&#xff0c;添加它的坐标的时候需要带上版本号。 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</artifactId> </dep…...

若依登录用户名和密码加密

/*** 获取公钥&#xff1a;前端用来密码加密* return*/GetMapping("/getPublicKey")public RSAUtil.RSAKeyPair getPublicKey() {return RSAUtil.rsaKeyPair();}新建RSAUti.Java package com.ruoyi.common.utils;import org.apache.commons.codec.binary.Base64; im…...

【工具教程】多个条形码识别用条码内容对图片重命名,批量PDF条形码识别后用条码内容批量改名,使用教程及注意事项

一、条形码识别改名使用教程 打开软件并选择处理模式&#xff1a;打开软件后&#xff0c;根据要处理的文件类型&#xff0c;选择 “图片识别模式” 或 “PDF 识别模式”。如果是处理包含条形码的 PDF 文件&#xff0c;就选择 “PDF 识别模式”&#xff1b;若是处理图片文件&…...

【大厂机试题解法笔记】矩阵匹配

题目 从一个 N * M&#xff08;N ≤ M&#xff09;的矩阵中选出 N 个数&#xff0c;任意两个数字不能在同一行或同一列&#xff0c;求选出来的 N 个数中第 K 大的数字的最小值是多少。 输入描述 输入矩阵要求&#xff1a;1 ≤ K ≤ N ≤ M ≤ 150 输入格式 N M K N*M矩阵 输…...