版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第10章Wi-Fi控制学习完本课程后,您将能够:了解WiFi技术了解什么是LwIP掌握LiteOS-m内核的WiFi控制开发技术。Wi-Fi简介802.11协议版本WiFi专业术语WiFi工作模式WiFi的连接过程LwIP简介Wi-Fi相关API4.开发示例——WiFi连接示例代码设计编译、烧录和调试
Wi-Fi简介
Wi-Fi在中文里又称作“移动热点”,是Wi-Fi联盟制造商的商标作为产品的品牌认证。Wi-Fi是一个基于IEEE802.11协议的无线局域网通信的实现技术。很多人可能会将Wi-Fi与IEEE802.11协议混为一谈。其实两者并不等同。并不是每样匹配IEEE802.11的产品都申请Wi-Fi联盟的认证,相对地缺少Wi-Fi认证的产品并不一定意味着不兼容Wi-Fi设备。IEEE802.11协议是无线局域网络(WirelessLocalAreaNetwork,WLAN)的一个实现标准,也是使用得最广泛的标准。无线局域网络还有其他的协议,比如IEEE802.15协议,蓝牙(BlueTooth)使用的就是这个协议。Wi-Fi简介802.11协议版本WiFi专业术语WiFi工作模式WiFi的连接过程LwIP简介Wi-Fi相关API4.开发示例——WiFi连接示例代码设计编译、烧录和调试
802.11协议版本
标准名称发布时间频段最大理论速率关键技术商用名称典型应用场景802.1119972.4GHz2MbpsDSSS/FHSSWiFi0早期无线局域网(已淘汰)802.11a19995GHz54MbpsOFDMWi-Fi1室内用户高密集环境802.11b19992.4GHz11MbpsDSSSWi-Fi2家庭低成本网络802.11g20032.4GHz54MbpsOFDM(兼容802.11b)Wi-Fi3家庭/办公(替代802.11b)802.11n20092.4/5GHz600MbpsMIMO、40MHz信道绑定Wi-Fi4高清视频、中小型办公室802.11ac20145GHz1GbpsMIMO、256-QAMWi-Fi54K流媒体、用户高密集环境802.11ax20192.4/5GHz11GbpsOFDMA、1024-QAMWi-Fi6IoT、智慧城市、XR/VR802.11be20222.4/5/6GHz30Gbps多链路操作、4096-QAMWi-Fi78K视频、元宇宙、工业物联网Wi-Fi简介802.11协议版本WiFi专业术语WiFi工作模式WiFi的连接过程LwIP简介Wi-Fi相关API4.开发示例——WiFi连接示例代码设计编译、烧录和调试
WiFi专业术语
专业术语说明STA工作站(Station)。任何接入Wi-Fi网络的终端设备(手机、笔记本等)AP接入点(AccessPoint)。提供无线接入的中心设备(如:路由器),转发STA与有线网络的数据。BSS基础服务集(BasicServiceSet)。是Wi-Fi网络的最小构建单元,定义了单接入点(AP)与其关联的终端设备(STA)组成的封闭通信区域。SSID服务集标识符(ServiceSetIdentifier)。用户可见的Wi-Fi网络名称(如:Home-WiFi),用于区分不同的WiFi网络。BSSID基础服务集标识符(BasicServiceSetIdentifier)。通常为AP的MAC地址(如:
00:1a:2b:3c:4d:5e)。WEP有线等效加密(WiredEquivalentPrivacy)。已淘汰的弱加密协议(易被破解),使用RC4算法和静态密钥。WPAWi-Fi保护访问(Wi-FiProtectedAccess)。取代WEP的安全协议,包含WPA(临时)、WPA2(AES-CCMP)、WPA3(SAE加密)。PSK预共享密钥(Pre-SharedKey)。WPA/WPA2的认证模式,用户输入密码(8~63字符)接入网络。FrequencyBand频段。无线电波工作范围,包含:2.4GHz(覆盖远、干扰多)、5GHz(速率高、干扰少)和6GHz(Wi-Fi6E/7专用,无干扰)等Channel频段内的子频率划分:2.4GHz:14个信道(仅1、6和11三个信道互不干扰)、5GHz:约200个信道(支持DFS避让雷达)ChannelBandwidth聚合的单个信道的宽度:20MHz(基础宽度)、40/80/160MHz(高速模式,需设备支持)。Wi-Fi简介802.11协议版本WiFi专业术语WiFi工作模式WiFi的连接过程LwIP简介Wi-Fi相关API4.开发示例——WiFi连接示例代码设计编译、烧录和调试
Wi-Fi工作模式
WiFi设备有两种工作模式:STA(Station)模式和AP(AccessPoint)模式。可以通过配置使WiFi设备工作在不同模式,一个WiFi设备可以同时支持多种模式。STA模式从理论上来说,任何一个Wi-Fi设备都可以称为STA。根据IEEE802.11协议对STA的描述,STA是支持IEEE802.11协议的设备,比如智能手机、笔记本等,也包括接入点(AP)。在大多数情况下,当大家说到STA模式时,一般指的是具有Wi-FiClient行为的设备,可以连接到AP。STA先扫描可连接的AP,并选择其中一个AP,经过认证、关联等步骤后,与之连接。Wi-Fi工作模式
AP模式AP模式即接入点模式,AP允许STA与之进行连接,并且提供无线网络服务。接入点的配置如下:配置SSID。选择认证类型,如果使用WPA-PSK认证,那么需要设置密码,这样Wi-FiClient必须输入密码才能进行连接。选择支持的频段,如2.4GHz或者5GHz等。设置支持的信道,不同的国家和地区有差异。在接入点配置完成之后,启动AP模式即可。Wi-Fi简介802.11协议版本WiFi专业术语WiFi工作模式WiFi的连接过程LwIP简介Wi-Fi相关API4.开发示例——WiFi连接示例代码设计编译、烧录和调试
Wi-Fi的连接过程
扫描主动扫描。由STA在每个信道(Channel)上发送探测请求帧(ProbeRequestFrame),AP收到探测请求之后,返回探测响应(ProbeResponse)。主动扫描需要指定一定的条件。例如:SSID,根据指定的APSSID扫描。
频段,根据特定的频段扫描,如2462,单位是MHz。
频带,根据特定的频带扫描,如2.4G/5G。频带一般会定义相应的枚举变量 BSSID,根据指定的BSSID扫描。如果没有指定任何参数,那么会认为这是一个被动扫描(PassiveScan)请求。Wi-Fi的连接过程
扫描被动扫描。被动扫描即STA在每个信道(Channel)上监听AP发出的BeaconFrame(信标帧)。Beacon帧包含路由器的SSID(Wi-Fi名称)信息。认证:STA在扫描完成之后,调用接口获取扫描结果,再根据SSID选择一个AP去连接。Wi-Fi主要使用的认证标准是WPA/WPA2,最新标准是WPA3。WPA-Personal,主要针对个人或者小型办公网络,使用WPA-PSK方式,在AP中预先设置好密钥。STA使用预先设置的密钥进行认证,认证算法有TKIP和CCMP两种。WPA-Enterprise,针对企业级的认证方式,STA发送认证请求,AP在收到请求之后,连接RADIUS服务器进行认证。Wi-Fi的连接过程
关联:在认证完成之后,STA可以开始跟AP进行关联(Association)。关联可以被理解为将STA注册到AP中。流程如下:STA发送关联请求帧(AssociationRequest)。AP处理关联请求,对于关联请求是否允许的实现,不同的厂商可能不一样。如果允许关联,那么接入点返回状态0,表示成功;否则,返回一个状态码。注意,一个STA一次只能关联一个接入点。Wi-Fi简介802.11协议版本WiFi专业术语WiFi工作模式WiFi的连接过程LwIP简介Wi-Fi相关API4.开发示例——WiFi连接示例代码设计编译、烧录和调试
LwIP简介
LwIP(LightweightIP)是一款开源的TCP/IP协议栈,由瑞典计算机科学研究所的AdamDunkels开发,旨在为资源受限的嵌入式系统提供完整的网络协议支持。LwIP以其轻量级和高效性著称,能够在低内存和有限处理器资源的条件下稳定运行,广泛应用于物联网设备、工业控制系统、嵌入式设备及各类小型通信终端中。LwIP简介
LwIP提供了标准TCP/IP协议栈的核心功能,主要包括:IP协议:负责IP数据包的分发与转发;TCP协议:实现可靠、面向连接的传输服务;UDP协议:提供无连接、不可靠的数据报传输;应用层接口:为上层应用提供网络操作API。此外,LwIP还集成了多项常用网络组件,如:DHCP客户端、SNMP代理、PPP协议支持等。其高度可裁剪的架构使用户能够根据实际项目需求,灵活选择所需功能模块。LwIP简介
OpenHarmony中LwIP源码位于目录third_party/lwip中,其中与本章项目相关的头文件有netif.h、ip_addr.h、netifapi.h和sockets.h等。netif.h头文件定义了网络接口(netif)的结构体和操作函数,是LwIP协议栈与底层硬件以及上层操作系统之间的核心桥梁。netif结构体用于表征一个物理或虚拟的网络设备(如以太网卡、Wi-Fi模块),存储了接口的IP地址、网关、MAC地址等配置信息。它通过函数指针将协议栈与底层硬件驱动相绑定,是网络数据收发的控制中心。LwIP简介
ip_addr.h头文件定义了LwIP协议栈中用于表示和操作IPv4/IPv6地址的核心结构体ip_addr_t及其相关的工具函数。netifapi.h头文件提供了一套通过消息机制将网络接口操作函数代理到tcpip_thread线程中执行的API,是实现线程安全管理的核心接口。sockets.h提供了基于LwIP协议栈实现的、符合POSIX标准的BSD套接字(BSDSocket)API,为应用程序提供了标准的网络编程接口(如:socket,bind,connect,send,recv等),使其无需关心底层协议栈的具体实现。Wi-Fi简介802.11协议版本WiFi专业术语WiFi工作模式WiFi的连接过程LwIP简介Wi-Fi相关API4.开发示例——WiFi连接示例代码设计编译、烧录和调试
WiFi相关API
WiFi连接的相关声明位于路径device/hisilicon/hispark_pegasus/sdk_liteos/include的文件夹中,其中hi_wifi_api.h就是WiFi连接的声明文件。下面对相关的API进行介绍。(1)inthi_wifi_init(constunsignedcharvap_res_num,constunsignedcharuser_res_num)hi_wifi_init函数的作用是初始化WiFi,该函数拥有两个参数,第一个参数vap_res_num为vap资源个数,第二个参数user_res_num为用户资源个数。函数运行成功返回0,运行失败则返回-1。WiFi相关API
(2)inthi_wifi_sta_set_protocol_mode(hi_wifi_protocol_modemode)hi_wifi_sta_set_protocol_mode函数的作用是设置station的接口的协议模式,该函数只有一个参数mode,为要设置的协议模式。函数运行成功返回0,运行失败则返回-1。(3)inthi_wifi_set_pmf(hi_wifi_pmf_optionspmf)hi_wifi_set_pmf函数的作用是设置station的管理帧保护模式,该函数只有一个参数pmf,为要设置的模式。函数运行成功返回0,运行失败则返回-1。(4)inthi_wifi_sta_start(char
*ifname,int
*len)hi_wifi_sta_start函数的作用是开启STA,该函数拥两个参数,第一个参数ifname为接口名,第二个参数len接口名字长度。函数运行成功返回0,运行失败则返回-1。WiFi相关API
(5)inthi_wifi_sta_stop(void)hi_wifi_sta_stop函数的作用是关闭STA,该函数无需调用参数。函数运行成功返回0,运行失败则返回-1。(6)inthi_wifi_sta_scan(void)hi_wifi_sta_scan函数的作用扫描附近的wifi,该函数无需调用参数。函数运行成功返回0,运行失败则返回-1。(7)inthi_wifi_sta_advance_scan(hi_wifi_scan_params*sp)hi_wifi_sta_advance_scan函数的作用带特定的参数扫描附近的wifi,该函数只有一个参数sp,为要扫描的网络的参数。函数运行成功返回0,运行失败则返回-1。WiFi相关API
(8)inthi_wifi_sta_scan_results(hi_wifi_ap_info
*ap_list,unsignedint
*ap_num)hi_wifi_sta_scan_results函数的作用是获取wifi扫描的结果,该函数拥有两个参数,函数执行成功后,第一个参数ap_list得到扫描的结果,第二个参数ap_num为扫描到的网络数目。函数运行成功返回0,运行失败则返回-1。(9)inthi_wifi_sta_connect(hi_wifi_assoc_request*req)hi_wifi_sta_connect函数的作用是进行网络连接,该函数只有一个参数req,为要连接网络的参数。函数运行成功返回0,运行失败则返回-1。(10)inthi_wifi_sta_fast_connect(hi_wifi_fast_assoc_request*fast_request)hi_wifi_sta_fast_connect函数的作用是进行快速连接网络,该函数只有一个参数fast_request,为快速连接网络的参数。函数运行成功返回0,运行失败则返回-1。WiFi相关API
(11)inthi_wifi_sta_disconnect(void)hi_wifi_sta_disconnect函数的作用是断开相连的网络,该函数无需参数。函数运行成功返回0,运行失败则返回-1。(12)inthi_wifi_sta_get_connect_info(hi_wifi_status*connect_status)hi_wifi_sta_get_connect_info函数的作用为获取连接的网络状态,该函数只有一个参数connect_status,为连接状态。函数运行成功返回0,运行失败则返回-1。(13)inthi_wifi_sta_wps_pbc(unsignedchar*bssid)hi_wifi_sta_wps_pbc函数的作用是设置wps进行pbc连接,该函数只有一个参数bssid,可以为MAC地址或者填NULL。函数运行成功返回0,运行失败则返回-1。WiFi相关API
(14)inthi_wifi_register_event_callback(hi_wifi_event_cbevent_cb)inthi_wifi_register_event_callback函数的作用是注册回调函数的接口,当网络状态发生改变(如连接、断开、扫描完成等)时,系统会自动调用该回调函数,实现网络事件的实时通知。该函数只有一个参数event_cb,为要注册的回调函数。函数运行成功返回0,运行失败则返回-1。(15)inthi_wifi_softap_set_shortgi(intflag)hi_wifi_softap_set_shortgi函数的作用是开启或关闭softap的SHORT-GI(短保护间隔)功能。SHORT-GI是WiFi技术的一个特性,可以缩短每个OFDM符号的保护间隔时间,从而提高数据传输速率。该函数只有一个参数flag,为1时表示使能,为0时表示失能。函数运行成功返回0,运行失败则返回-1。WiFi相关API
(16)inthi_wifi_softap_start(hi_wifi_softap_config
*conf,char
*ifname,int*len)hi_wifi_softap_start函数的作用是开启softAP,该函数拥有三个参数,第一个参数conf为softAP配置,第二个参数ifname为接口的名字,第三个len为接口名字的长度。该函数运行成功返回0,运行失败则返回-1。(17)inthi_wifi_softap_stop(void)hi_wifi_softap_stop函数的作用是关闭softAP,该函数的作用无需调用参数。函数运行成功返回0,运行失败则返回-1。(18)inthi_wifi_softap_get_connected_sta(hi_wifi_ap_sta_info
*sta_list,unsignedint
*sta_num)hi_wifi_softap_get_connected_sta函数的作用是获取已连接的wifi设备的信息,该函数拥有两个参数,第一个参数sta_list为连接的wifi设备的信息,第二个参数sta_num为连接设备的数量。函数运行成功返回0,运行失败则返回-1。WiFi相关API
(19)inthi_wifi_set_macaddr(constchar*mac_addr,unsignedcharmac_len)hi_wifi_set_macaddr函数的作用是设置起始MAC地址,该函数拥有两个参数,第一个参数mac_addr为MAC地址,第二个参数mac_len为MAC地址长度。函数运行成功返回0,运行失败则返回-1。(20)inthi_wifi_get_macaddr(char*mac_addr,unsignedcharmac_len)hi_wifi_get_macaddr函数的作用是获取mac地址,该函数拥有两个参数,第一个参数mac_addr为MAC地址,第二个参数mac_len为MAC的长度。函数运行成功返回0,运行失败则返回-1。Wi-Fi简介802.11协议版本WiFi专业术语WiFi工作模式WiFi的连接过程LwIP简介Wi-Fi相关API4.开发示例——WiFi连接示例
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学六年级科学《“我们的宇宙”主题博览会》单元复习教学设计
- 高中信息技术粤教版选修1算法与程序设计教案-心算练习程序设计示例
- 初中八年级地理《首都北京-自然地理特征与首都职能》教学设计
- 【知识清单】初中地理人教版八年级下册第七章北方地区系统复习
- 小学五年级劳动教育苗家芦笙制作项目化课程工具与材料清单教学设计
- 初中八年级英语仁爱科普版上册Unit 2课本词汇复习教学设计
- 高中化学一年级氧化还原反应第一课时教学设计
- RAG引擎知识问答助手课程设计
- 步行训练课程设计
- 五年级英语下册 Module 10 Unit 1 Where are you going to go教案 外研版(三起)
- 云南省公路工程竣工文件编制及立卷归档实 用手册
- 2026遂溪发展集团有限公司第二批工作人员公开招聘15人考试参考题库及答案详解
- 2026年山东省临沂市重点学校初一入学语文分班考试试题及答案
- 2026下半年上海杨浦区卫健系统事业单位专业技术人员招聘93人笔试题库附答案详解【预热题】
- 中小学舞蹈社团新生招募活动计划
- 长江产业投资集团招聘笔试题目及答案解析
- 2026年秋季小学开学第一课 法治教育进校园主题班会
- 2026年二级建造师继续教育试题加答案
- 2026年中小学教师高级职称专业水平能力测试复习题库及答案
- 小学一年级上册劳动的教学计划
- 通水阶段验收鉴定书
评论
0/150
提交评论