ITPub博客

wifi模块资料总结分析指南

原创 人工智能 作者:小馒头_abc11 时间:2018-10-08 18:57:20 0 删除 编辑

wifi模块资料总结分析指南


今天给大家分享 wifi 模块总结资料,在网上看到蛮多小伙伴找这方向的内容的,统计了一些,拿出来大家分享,有什么不懂的地方可以加群讨论,更多单片机、 proteus ,物联网资料下载: 813238832

 

WLAN 技术

WLAN 是英文 WirelessLAN 的缩写,就是无线局域网的意思。无线以太网技术是一种基于无线传输的局域网技术,与有线网络技术相比,具有灵活、建网迅速、个人化等特点。将这一技术应用于电信网的接入网领域,能够方便、灵活地为用户提供网络接入,适合于用户流动性较大、有数据业务需求的公共场所、高端的企业及家庭用户、需要临时建网的场合以及难以采用有线接入方式的环境等。

 

四种主要物理组件

工作站( Station :构建网络的主要目的是为了在工作站间传送数据。所谓工作站,是指配备无线网络接口的计算设备。

接入点( Access Point 802.11 网络所使用的帧必须经过转换,方能被传递至其他不同类型的网络。具备无线至有线的桥接功能的设备称为接入点,接入点的功能不仅于此,但桥接最为重要。

无线媒介( Wireless Medium 802.11 标准以无线媒介在工作站之间传递帧。其所定义的物理层不只是一种, 802.11 最初标准化了两种射频物理层以及一种红外线物理层。

分布式系统( Distribution System :当几个接入点串联以覆盖较大区域时,彼此之间必须相互通信以掌握移动式工作站的行踪。分布式系统属于 802.11 的逻辑组件,负责将帧转送至目的地。

下图为 802.11 网络的基本服务集( basic service set ),其中包含了这四种物理组件。

 

图一

更多完整资料信息下载在闯客网: https://bbs.usoftchina.com/thread-199700-1-1.html

 

WIFI 适配层

里面定义很多字符串变量和适配层的接口实现,是对 wpa_supplicant 程序通信的接口封装,用来完成上层和 wpa_supplicant 的通信, 头文件在 libhardware/include/hardware 下,这里的函数用来向 JNI 的本地实现提供调用接口。

这里的函数,我把它们分为四类函数:

一类是命令相关的(控制)函数,就是在 JNI android_XXX_Command() 函数所调用 的 Wifi_Command() 函数,调用流程如下:

android_XXX_command()=>docommand()=>wifi_command()=>wifi_send_command()=>wpa_ctrl_require()

二类是 监听函数,即 Wifi_wait_for_event() 函数,调用流程如下: android_net_wifi_Waitforevent()=> wifi_wait_for_event()=>wpa_ctrl_recv()

三就是 WPA_SUPPLICANT 的启动,连接,关闭函数

四是驱动的加载和卸载函数

 

图二

 

wpa_ctrl 的作用

定义了两类套接字和一个管道,并分别实现了和 wpa_supplicant 的通信,而在实际的实现中采用的都是套接字的方式,因此 wpa_supplicant 适配层和 wpa_supplicant 层 是通过 socket 通讯的。

要是从 wifi.c 中真的很难看出它和 wpa_supplicant 有什么关系,和它联系密切的就是 这个 wpa_ctrl.h 文件,这里面定义了一个类 wpa_ctrl ,这个类中声明了两个 Socket 套接口,一个是本地一个是要连接的套接 口, wpa_ctrl wpa_supplicant 的通信就需要 socket 来帮忙了,而 wpa_supplicant 就是通过调用 wpa_ctrl.h 中定义的函数和 wpa_supplicant 进行通讯的, wpa_ctrl 类(其实是其中的两个 socket )就是他们之间的桥梁。


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31554254/viewspace-2215616/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2018-09-12

  • 博文量
    20
  • 访问量
    6659