天天看点

WIFI之一:WIFI常识 && 基站定位原理

(1)IEEE 802.11简介

WIFI之一:WIFI常识 && 基站定位原理

(2)频谱划分

WIFI之一:WIFI常识 && 基站定位原理

     A,IEEE 802.11b/g标准工作在2.4G频段,频率范围为2.400—2.4835GHz,共83.5M带宽

     B,划分为14个子信道

     C,每个子信道宽度为22MHz

     D,相邻信道的中心频点间隔5MHz 

     E,相邻的多个信道存在频率重叠(如1信道与2、3、4、5信道有频率重叠)

     F,整个频段内只有3个(1、6、11)互不干扰信道

(3)WiFi工作原理

      WiFi 的设置至少需要一个Access Point(ap)和一个或一个以上的client(hi)。AP 每100ms将SSID(Service Set Identifier)经由beacons(信号台)封包广播一次,beacons封包的传输速率是1 Mbit/s,并且长度相当的短,所以这个广播动作对网络效能的影响不大。因为WiFi规定的最低传输速率是1 Mbit/s ,所以确保所有的WiFi client端都能收到这个SSID广播封包,client 可以借此决定是否要和这一个SSID的AP连线。使用者可以设定要连线到哪一个SSID。

WIFI之一:WIFI常识 && 基站定位原理

(4)WIFI的工作参数

     WIFI的信号强度一般在-30db到-60db之间,低于-75db都属于很弱的强度。

WIFI之一:WIFI常识 && 基站定位原理

(5)WIFI的加密方式

      WPA是 Wi-Fi® Protected Access(Wi-Fi保护接入)的简称,是无线网络的数据加密规格。它通过使用可扩展认证协议 (EAP) 提高了WEP的安全功能,通过一种加密方法提高了数据传送的安全性。

      WPA 使用802.1X认证服务器给每个用户分配不同的密钥。PSK用于家庭和小型办公室网络,每个用户都有同样的密码口令。WPA-PSK 也叫做 WPA-Personal(WPA个人)。

      TKIP是 Temporal Key Integrity Protocol(临时密钥完整性协议)的简称,是一种加密方法。TKIP提供结合信息完整性检查和重新按键机制的信息包密钥。

      AES是Advanced Encryption Standard(高级加密标准)的简称,是Wi-Fi® 授权的高效加密标准。WPA-PSK和TKIP或AES使用预先共享密钥 (PSK)。

(6)MAC地址

      什么样的MAC地址是合法的?wifi地址第1个字节的低2bit必需为0,比如:00-12-22-33-44-78(这个是合法的),03-12-22-33-44-78(都是不合法的)。这两个位有特殊含义。

WIFI之一:WIFI常识 && 基站定位原理

       MAC地址的第1个字节的8个BIT从低位到高位分别用BIT1~BIT8表示。

A,BIT2:0代表 Universal administered ;1代表 locally administered。所有的厂商这个BIT都是0。

B,BIT1:0代表是单播MAC。接收方的MAC与这一帧的目的MAC一样的话,就会接收这一帧,否则会丢掉;1代表是多播MAC。接收方会检查自己允许接收的多播MAC列表,如果接收的这一帧的目的MAC在列表

中才接收,否则就丢掉。

       不写MAC地址会怎么样?如果wifi用的是模组,则MAC地址不用写,模组里面有。如果不是模组,不在NVRAM写MAC地址的话,手机会自动生成一个随机的合法的MAC地址。但是这样会有nvram warning。

(7)关于wpa_supplicant

        在没有屏的时候怎么验证wifi的功能?或者,如何绕开framework层直接对wifi driver时么操控?本文给出了一个方案,使用wpa_supplicant。主要分为3步(执行路径可能有别,这里针对MTK平台):

A,启动wifi driver,echo 1 > /dev/wmtWifi

B,启动supplicant,cd /system/bin   ./wpa_supplicant  -iwlan0  -Dnl80211 -c/system/etc/wifi/wpa_supplicant.conf

C,启动wpa_cli,cd  /system/bin   wpa_cli -p /data/misc/wpa_supplicant

D,常用命令 关于wpa_cli的使用网上有很多文档(搜索wpa_cli即可获得)。

some common command:

>scan = to scan the neighboring AP

>scan_results = show the scan results

>status = check out the current connection information

>terminate = terminate wpa_supplicant

>quit = exit wpa_cli

>add_network = it will return a network id to you

>set_network <network id> <variable> <value> = set network variables (shows list of variables

when run without arguments), success will return OK, or will return Fail

>select_network <network id> = select a network (disable others)

>disable_network <network id> = disable a network

>enable_network <network id> = enable a network

> set_network 0 priority 0

> list_network

> save_config 

(8)WIFI漫游

       WIFI的漫游(ROAMING),需要同时保证AP的四个设定:A,所有的AP具有同样的SSID;B,所有的AP处于同一个子网络,具有相同的子网掩码;C,网络覆盖范围有重叠;D,所有的AP采用的加密协议必须一致。

      在目前应用PDA系统中,ROMING的触发电平是-68db,也就是当目前网络的信号强度低于-68db时,后台搜网开始进行。需要注意的是,在实际处理中,要对这个门限制进行处理。因为信号强度是个震荡值,不能一检测到-68db就触发ROAMING,而是到达稳定的门限后才开始ROMING。另一个问题,决定是否ROMING的另一个条件是新的AP网络强度要高于目前AP网络强度至少8dbm。这样才有接入新网的必要。

WIFI之一:WIFI常识 &amp;&amp; 基站定位原理

(9)WIFI DIRECT

        Wi-Fi Direct(Wi-Fi P2P)是指拥有wifi接入能力的设备通过使用自身的无线网卡反过来自建Wi-Fi网络的过程。Wi-Fi Direct是一种点对点连接技术,它可以在两台station之间直接建立tcp/ip链接,并不需要AP的参与;其中一台station会起到传统意义上的AP的作用,称为Group Owner(GO),另外一台station则称为Group Client(GC),像连接AP一样连接到GO。GO和GC不仅可以是一对一,也可以是一对多;比如,一台GO可以同时连接着多台GC。

        GO可以可以像AP一样为几台GC提供服务;它同时可以像传统的station一样,连接到某个AP;它同时自己也可以是一个AP。Wi-Fi Direct是一种“纯软件“的技术,任何已存在的Wi-Fi硬件都可以通过软件升级获得Wi-Fi Direct的功能(取决于Wi-Fi硬件提供商的良心)。

====================================================================================================

        在Android操作系统下,基站定位其实很简单,先说一下实现流程:调用SDK中的API(TelephonyManager)获得MCC、MNC、LAC、CID等信息,然后通过google的API获得所在位置的经纬度,最后再通过google map的API获得实际的地理位置。有人会问:MNC、MCC、LAC、CID都是些什么东西?google又怎么通过这些东西就获得经纬度了呢?

WIFI之一:WIFI常识 &amp;&amp; 基站定位原理

        了解了这几个名词的意思,相信有些朋友已经知道后面的事了,google存储了这些信息,直接查询就能得到经纬度了。具体的使用实例请参见后面的参考原文,本人实验结果是失败的。

参考原文:http://hi.baidu.com/yyangjjun/blog/item/f6e6e79208136683a877a46d.html

参考原文:http://blog.csdn.net/comkingfly/article/details/7305309

参考原文:http://blog.csdn.net/myarrow/article/details/7930131

参考原文:http://www.zhihu.com/question/20770501