文章目录
前言
本博客介绍一种APP(Android)实现室内和室外的WiFi定位,系统所需完成任务要求如下
选题意义及目的
WiFi能够对用户进行定位,其原理是手机操作系统中内置了位置服务,每一个Wi-Fi热点都有一个独一无二的Mac地址,智能手机开启Wi-Fi后就会自动扫描附近热点,再联网后会上传其位置信息和WiFi热点的相关信息,这样就建立了一个庞大的热点位置数据库,通过该数据库就能实现WiFi定位。但这种数据库通常被一些国外的机构掌握,本课题要求设计一个用户自己的WiFi定位系统。
系统要求
设计一个WiFi定位系统,其主要任务和功能有:
1.开发Android程序,实现WiFi热点信息、GPS定位信息等信息的前端采集工作。
2.开发网络后台程序,实现将前端采集到的数据信息利用数据库技术进行管理。
3.利用百度地图或其他地图的开发接口程序,实现对采集到的热点进行可视化处理;开发WiFi定位的测试程序。
4.对开放的WiFi热点和热点用户所有者的WiFi密码分享功能进行开发,实现WiFi热点共享功能。
5.进一步开发室内WiFi定位。
一、需求分析,细化工作
从任务要求来看,我们需要设计Android程序前端采集获取WiFi热点信息模块,开发网络后台程序,实现将前端采集到的数据信息利用数据库技术进行管理。利用百度地图提供的SDK设计程序实现对采集到的热点进行可视化处理。使WiFi密码的共享,实现智能选网以及自动连接的功能以实现WiFi热点共享功能。如图所示。
二、方案可行性分析
可行性分析主要从以下两个方面进行分析
2.1 无线定位技术选择
无线定位技术相比于传统的有线定位技术,具有很多的优势,具体表现在:(1)操作性强;(2)较好的扩展性。与北斗技术、GPS技术相比,无线传感网络可以定位室内,所以无线定位技术越来越受人们的喜欢和关注,常见的无线通信技术主要有Wi-Fi技术、蓝牙技术、ZigBee技术、RFID技术和超声波技术等。
Zigbee技术是一种无线通信技术,它起源于蜜蜂和蜜蜂通过震动翅膀来传递信息,具有可靠性强、距离短、功耗低等特点。一般来说,网络节点之间的距离为10-75米,但是也可以有几百米,可是一个节点的成本价格昂贵。假如想要采用Zigbee技术实现室内的精准定位,就要在室内布置无线数据传输平台,这和其他类似平台相比较,具有更高的成本。
蓝牙属于通信技术的一种,它能够实现近距离的通信并且是无线操作。通过对室内的信号强度进行测量,就可以用蓝牙进行定位,运用的原理是:室内的全部领域可以进行分解,成为许多小型的网络。这些结构相互之间是连接一起的,不可以独立存在。此外,需要把能够接收蓝牙信号的设备安装在各结构中来收集信号。在进行定位的时候定点和蓝牙装置有多远可以计算出来,根据结果的大小就能够知道目标定点在哪里,从而实现室内的定位。但这种用蓝牙来进行定位的系统不适合在距离较远的时候使用。想要采用蓝牙技术定位,必须在区域不大的室内展开。
超声波技术的定位系统的工作原理是首先将超声波发射器放在待定目标上,然后在各个固定的时间间隔中向外发送超声波的脉冲,周边三个基站就会接收到超声波脉冲信息,最后通过基站接受的时间差来确定目标的位置。在定位技术中,超声波拥有很强的精准度,可以达到5cm以内,但是不足之处是受环境影响大,障碍物在不同环境中可能会出现折射、多径、衍射等问题;此方法适用于空旷地区,但是超声波技术的成本比较高、设备相对昂贵。
RFID这种通信技术能够实现无线通信