(1)IEEE 802.11简介

(2)频谱划分

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。

(4)WIFI的工作参数

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

(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(都是不合法的)。这两个位有特殊含义。

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。这样才有接入新网的必要。

(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又怎么通过这些东西就获得经纬度了呢?

了解了这几个名词的意思,相信有些朋友已经知道后面的事了,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

WIFI之一:WIFI常识 基站定位原理相关推荐

  1. 高德地图 Android API 的基站定位原理及使用方法

    基站定位是根据通讯网络基站信息进行定位的方法,此定位方法需要有较丰富的基站地理信息数据支持.高德地图目前的基站数据库支持 GSM 网络和CDMA网络. 定位机制 Android 平台主要使用三个 Cl ...

  2. Android获取手机基站信息并进行基站定位(基站定位原理)

    一,首先普及一下手机基站信息中相关的专业词汇: 通过TelephonyManager 获取lac:mcc:mnc:cell-id(基站信息)的解释:  MCC,Mobile Country Code, ...

  3. android gsm基站定位,通过SIM卡获取GPS,android基站定位原理

    TelephonyManager telManager=(TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE); GsmCellLo ...

  4. GPS、WiFi、基站、AGPS几种定位原理介绍与区别

    定位器的原理: "三角定位法",知道了用户到三个固定点的距离,就能计算出用户的位置. 1.GPS GPS(Global Positioning System)即全球定位系统,它是由 ...

  5. iOS定位原理和使用建议

    iOS设备都可以使用哪些方式进行定位? 最早期的iPhone只支持 手机基站定位, 之后通过iOS软件升级引入了 WIFI定位, 而从iPhone 3G开始, iPhone手机就通过内置GPS处理芯片 ...

  6. iOS定位原理以及纠偏的一些建议

    介绍之前,先声明一下关于地图加加的"偏移修正"功能,地图加加可以对齐中国地区(地点.线路和照片的)坐标和中国地图之间的偏移,这个是我国测绘法规要求的一个数学意义的偏移,每个地方的偏 ...

  7. Android百度地图(一):百度地图定位sdk 类方法参数、定位原理详细介绍

    ***转载.引用请标明出处*** http://www.jianshu.com/p/29ccac3e1e42 本文出自[zhh_happig的简书博客](http://www.jianshu.com/ ...

  8. Android基站定位——单基站定位(二)

    转载请标明出处:http://blog.csdn.net/android_ls/article/details/8672856 基站定位原理:通过手机信号获取基站信息,然后调用第三方公开的根据基站信息 ...

  9. Android基站定位——通过手机信号获取基站信息

    基站定位原理:通过手机信号获取基站信息,然后调用第三方公开的根据基站信息查找基站的经纬度值,想要具体地址信息的再根据经纬度值获取具体的地址信息. 一.通过手机信号获取基站信息 通过TelephonyM ...

最新文章

  1. spring注解事务
  2. 新品秀:Dell Cast,让Android平板变身台式PC
  3. 大规模 Node.js 网关架构设计与工程实践
  4. 使用Opencv进行轮廓检测,字符提取,简单的直方图字符识别!
  5. Java生鲜电商平台-订单中心服务架构与异常订单逻辑
  6. 广成 USBCAN-II Pro V502 linux下升级经验
  7. Spring3集成Swagger2遇到问题总结
  8. 让开发者 so easy 的一站式服务到底存不存在?
  9. Delphi2010
  10. 查看微信公众号文章发布时间
  11. 大数据:数据的日志采集与用途
  12. android gsm功能,Android手机-GSM网络与WCDMA网络选择的设置
  13. 企业网站建设常用CMS建站系统推荐
  14. 【高等数学基础进阶】导数与微分
  15. Vue-电子签名(E-Signature)
  16. 生产订单(prod order)状态直接从表(AUFK/JEST/TJ02T/TJ02)获取
  17. Java之IO流技术详解
  18. java.lang.IllegalStateException: No value for key [DynamicDataSource@e5f43124] bound to thread
  19. 跨境电商人才如何筛选精准关键词 提高产品曝光率
  20. “团队奖金包”让年终奖更公平

热门文章

  1. linux ps -ef和ps -fu,linux ps命令详解
  2. 计算机软件著作权保护包括哪些
  3. 2023洗地机哪个牌子的好用?洗地机排行榜推荐
  4. iphone版 天行skyline_苹果再迎大版本更新、iOS13.4正式版推送!这次iPhone可以当车钥匙...
  5. SAP 收货相关后台配置
  6. 中阿博览会搭建丝路新平台 共享中阿企业发展新机遇
  7. 紧急求助!!!!VUE页面,V-SHOW的判断条件改变了但是页面没有实际变化
  8. 默然说话20160101
  9. 谈一谈|如何理解马云4月14日再谈996
  10. 推特CEO杰克·多西去年薪酬仅1.4美元 没有任何股票奖励