ImageVerifierCode 换一换
格式:DOCX , 页数:86 ,大小:1.01MB ,
资源ID:805641      下载积分:15 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-805641.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(广东省电子设计大赛设计报告Word文档下载推荐.docx)为本站会员(聆听****声音)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

广东省电子设计大赛设计报告Word文档下载推荐.docx

1、 mobile Internetwisdom cityWiFiRSSI fingerprint verification algorithmindoor location1、绪论1.1 课题背景位置信息在各种场合中发挥着重要的作用,大型商场里面借助室内定位来导航快速找到出口、电梯、厕所,家长用来跟踪小孩的位置避免小孩在超市中走丢。成熟的 GPS 定位技术被广泛用于各个行业,但 GPS 定位在室内无法定位。而目前随着移动互联网的飞速发展、智能手机的普及以及智慧城市的建设,三大运营商在许多大型商场以及公共场所覆盖了 WiFi。虽然 WiFi 不是为定位而设计,但接入点(AP)或基站定期发送的信标信

2、号中所含的接收信号强度(RSSI)信息为室内定位提供了可能性。1.2 大型商场导航系统的概述本系统基于指纹识别算法定位技术,通过搜集每个位置的 WiFi 信号强度值,储存在服务器中。用户进入商场,只需要使用 Android 系统手机安装客户端,即可使用导航软件。用户使用导航软件时将当前位置所搜集的 WiFi 信号 RSSI 值上传到服务器,服务器对接收到的数据与数据库数据进行匹配,得到用户位置信息,返还给用户提供定位一级级导航 服务。针对无 Android 手机的用户,我们开发了一个便携式客户端,可以实现简单的语音导航。此外,我们针对携带小孩购物的父母开发了一个小巧的客户端,可以放在孩子身上,

3、 父母可以通过手机获得孩子位置,当孩子与父母位置超过安全范围,则会启动报警功能。1.3 课题研究的目的及意义通过本商场导航系统,顾客可以获得快速精准的定位,够迅速找到自己需要的商品位置;在一些突发情况下,可以帮助顾客及时地找到安全出口;服务器端通过对各个顾客位置的监控,发现用户异常运动通过摄像头调用可以及时发现突发情况,并且对离开小孩太远的父母可以发送警报,防止小孩走失。本系统改进了定位算法,并通过扫描 QR 码上传位置信息的方式校正不同终端的偏差。二、系统方案设计2.1 系统总体框图2.2 各部分功能简介2.2.1 服务器功能系统服务器存储采集到的热点 RSSI,在收到来自终端发送的 RSS

4、I 值时,通过指纹识别匹配算法,筛选出位置信息并返回终端;服务器作为连接监控终端,发现异常运动迹象调用摄像头查看实时状况;在亲子距离超过安全范围时,发送小孩位置信息到对应的大人终端,并发出送警报到家长终端。2.2.2 Android 客户端功能Android 客户端收集当前位置 WiFi 信号的 RSSI 值,并上传到服务器;从服务器得到当前位置信息之后,在地图上显示自己所在位置;作为亲子绑定的家长终端时,还可以在地图上看到自己孩子的位置信息,并在孩子与自己距离超过安全距离时得到服务器的警报信息后发出警报。2.2.3 通用客户端通用客户端是准备给没有安装 Android 客户端的用户使用的,客

5、户端收集 WiFi 信号RSSI 值上传到服务器,在需要导航时,通过语音识别模块发出指令,发送到服务器后得到结合当前位置信息,服务器返回指令,由语音合成模块响应导航需求并通过 LED 灯来显示前进方位。若与通用客户端有亲子绑定,则在与小孩位置超过安全距离后会得到服务器的警报指令,通过扬声器发出警报并且由 LED 发出方位引导。2.2.4 儿童专用客户端儿童专用客户端可以方便的放在小孩身上,随时发送当前位置的 RSSI 值以及身份识别信息到服务器,从而在服务器留下自己的位置信息。2.3 方案论证与比较2.3.1 定位算法方案论证与比较方案一、通过三角形算法定位三角形算法定位是待测点首先接收三个来

6、自不同已知位置 AP 的 RSSI,然后依照无线信号的传输损耗模型将其转换成待测目标到相应 AP 的距离。这种算法的优点是不用遍历每一个位置点,只要知晓 AP 位置就可以通过算法来确定位置;缺点是实际RSSI 值跟许多因素相关,信号传输损耗模型很多时候并不适用,定位精度很差。方案二、通过指纹识别算法定位指纹识别算法是选择合理的参考点分布,确保能为定位提供足够的信息,依次在各个参考点上测量来自不同 AP 的 RSSI 值,将相应的 MAC 地址与参考点的位置信息记录在数据库中,直至便利关注区域内的参考点;给定数据库后,依据一定的匹配算法将待定点上接收的 AP RSSI 与数据库中的已有数据进行比

7、较。这种算法的优点是定位精度高,却不用知道 AP 位置即可定位;确定是数据库的建立需要花费较长时间。出于对定位精度的要求,我们选择方案二。2.3.2 通用客户端与小孩客户端的主控芯片方案论证与比较方案一、使用 AT89C51AT89C51 提供以下标准功能:4k 字节 Flash 闪速存储器,128 字节内部 RAM,32 个 I/O 口线,两个 16 位定时/计数器,一个 5 向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。 本方案优点是价格便宜;缺点是芯片没有内置更大的存储空间。方案二、使用 STC12LE5A60S2STC12LE5A60S2 是一种增强型 51 单片机,工

8、作电压在 3.6V-2.2V,片上集成 1280 字节的RAM 空间。本方案有点是运算速度快,存储空间大;缺点是价格比较昂贵。由于客户端在搜集多个 AP 的 RSSI 信息时,需要一次处理较大的数据,故选用方案二。三、系统硬件设计3.1 通用客户端硬件设计3.1.1 通用客户端系统框图通用客户端采用 STC5A60S2 单片机作为主控芯片,定位服务方面;通过 HLK-WIFI- M03 模块收集 RSSI 信息及同服务器收发数据,利用 MAG3110 电子罗盘进行方向定位; 人机交互的实现,是通过 M-LD3320 语音识别模块,SYN6288 语音合成模块,以及自制的LED 灯导航模块实现。

9、为了方便携带,客户端的电源采用手机电池,经过 ASM1117 芯片输出 3.3V 供电。3.1.2 通用客户端电路原理图3.1.3 通用客户端电源设计客户端电源的设计,由于主控芯片 STC51LE5A60S2 是 3.3V 供电,HLK-WIFI-M03 模块、LD3320 语音识别模块、SYN6288 语音合成模块等也都是 3.3V 单电源供电,同时为了方便携带,我们采用了输出电压为 3.7V 容量为 2600mAh 的锂电池作为电源供电。3.1.4 定位服务模块设计通用客户端的定位功能,是通过 WiFi 模块与电子罗盘模块共同工作提供。本通用客户端的 WiFi 模块采用海凌科公司的 HLK

10、-WIFI-M03 模块。HLK-WIFI-M03 模块是海凌科电子推出的全新第三代嵌入式 Uart-Wifi 模块产品。Uart-Wifi 是基于 Uart 接口的符合 WiFi 无线网络标准的嵌入式模块,内置无线网络协议 IEEE802.11 协议栈以及 TCP/IP 协议栈, 能够轻松实现串口数据到无线网络间的转换。模块由单 3.3V 供电,支持 AT 指令集与透明传输模式。WiFi 模块上电后默认处于透明传输模式。使用时通过串口输入逃逸字符退出透明传输模式,输入 AT 指令获取 RSSI 值通过串口传给单片机,再次进入透明传输模式后将串口收到的数据转发到服务器,再接收服务器返回的位置数

11、据,通过串口传输到单片机。当需要重新定位时,则退出透明传输模式,接收 AT 指令。下图是 WiFi 模块的接口示意图模块插针接口说明插针 1 至 4 均为可选功能引脚,本模块实际使用中只需将 1 号引脚接在单片机的 IO口上即可。插针 5 为 VDD,实际使用中接 3.3V 电源;引脚 6 为 RXD,串口数据接收端,实际使用中连接单片机的 TXD 引脚;引脚 7 为 TXD,串口数据发送端,实际使用中连接单片机的 RXD 引脚。引脚 8 为 GND 模块地线引脚,接地线。以下是 WiFi 模块的电路原理图MAG3110 是 Freescale 公司生产的三轴数字地磁传感器,采用 I2C 接口

12、进行通信。MAG3110 采集地磁场强度并转化为数字量输出,输出速率最大为 80HZ。MAG3110 采用DFN 封装,适合工作温度为-40 C 到 80C。 供电电压 1.96-3.6V。传感器板引脚及尺寸说明电子罗盘模块写时序:I2C 起始位-MAG3110 写地址(0X1C)-目标寄存器地址-写入数据-停止位读时序:重复起始位-MAG3110 读地址(0X1D)-接收数据-读取数据时读 DR_STATUS(0x00)状态寄存器,如果 DR_STATUS & 0x08 = 1,一次转换已经完成,此时可以读取数据;读 OUT_X_MSB(0x01) 、 OUT_X_LSB(0x02) 、OU

13、T_Y_MSB(0x03) 、OUT_Y_LSB(0x04) 、OUT_Z_MSB(0x05)、OUT_Z_LSB(0x06)寄存器,分别得到 X、Y、Z 三轴十六位的数据;此时转动 MAG3110,三轴数据会发生变化。电子罗盘模块的电路原理图如下3.1.5 人机交互模块设计通用客户端的人机交互模块由语音识别模块,语音合成模块以及 LED 灯方向导航模块组成。语音识别模块采用 LD3320 模块。以下是模块示意图实际使用中,只需将模块的电源引脚,地线引脚分别接好电源线,IO1 端口接单片机RX2 端口,M+与 M-分别接 MIC 输入,便可工作。电路原理图如下语音合成模块采用 SYN6288

14、模块,模块示意图如下实际工作中,将 VCC、GND 接上 3.3V 电源,芯片 RX 脚接单片机 TXD 脚,两个 SPK引脚直接驱动扬声器,其他引脚悬空,便可工作。模块电路原理图如下LED 灯导航模块,采用普通的 LED 灯来指示,由于单片机的 IO 口输出电流有限,无法直接驱动 LED 灯,故采用推挽输出。单片机的 IO 口连 LED 灯负极,LED 灯正极串联一个限流电阻接正极。单片机通过控制 IO 口电平的高低态,从而控制 LED 的明灭,当 IO口输出高电平,响应的 LED 灯熄灭,当输出低电平,灯亮。最终实现简单的方向导航功能。3.2 儿童专用客户端设计3.2.1 客户端总体设计方

15、案儿童专用客户端的功能,是为了防止小孩与家长走失,方便家长掌控自己孩子位置。因此,客户端应该尽量简洁小巧,方便儿童携带。客户端由 STC51 单片机作为主控芯片, 采用手机电池作为电源供电,经由 ASM1117 芯片转 3.3V,通过 WiFiM03 模块收集 RSSI 值发送到数据库定位。3.2.2 儿童专用客户端原理图模块电路原理图如下:电源模块设计如下:客户端电源部分,为了达到方便携带的目的,采用手机电池作为电源,手机电池输出约3.7V,通过 ASM1117 芯片,稳定输出 3.3V 供电,电路原理图如下AMS1117 是一个低漏失电压调整器,它的稳压调整管是由一个 PNP 驱动的 NP

16、N 管组成的,漏失电压定义为: VDROP = VBE+ VSAT。在输入跟输出并上电容,可以加强稳压效果并防止瞬间电压烧坏芯片。WiFI 模块设计如下:WiFi 模块设计请参照 3.1.4 定位服务模块设计中的 WiFi 模块设计。四、系统软件设计4.1 定位算法设计每个指纹采集点需要采对集的每个 AP,采集一定数量(大于 20 次)的 RSSI 强度值, 求出平均值 avg 以及标准差 dev,存放至数据库。匹配时,根据 MAC 对应的 AP,有多个点的平均值和标准差,把样本数据作为我们的期望值,有m= avg ,s= dev ,再将待定位点的对应 AP 的信号强度带入正态分布公式中的 x

17、。便可得到概率 Pmn ,其中 m 为所有已知点数,n 为 AP 数。则,待定位点与已知点 m的匹配概率为 Pm = Pm1 Pm 2 .Pmn 。另,根据贝叶斯公式P( A)为RSSI等于某值的概率, P(B)为在某点的概率因为使用者出现在各点的概率是相同的,所以对一个确定的系统公式右边,除了P( A | Bi ) 都为定值,所以若 P( A | Bi ) P( A | Bj ) ,我们有 P(Bi | A) P(Bj | A) 。因此我们只要找出maxPm 对应的点,就是待定位点最可能的位置。但是这样得到点都是离散,跟采集点的间距有直接关系,最小为 2 米左右。为了让定位更为精确、平滑,可

18、以将Pm 进行排序,取前三个概率最大的点,将他们的坐标值平均。进一步我们可以在坐标运算时,将概率作为权值,进行加权平均。例如:(x, y) = P1 *(x1 , y1 ) + P2 *(x2 , y2 ) +. + Pm *(xm , ym )P1 + P2 +. + Pm但是正态分布即使概率最大处也比 1 小得多,加上概率多次相乘, Pm 之间相差几个甚至几十个数量级,所以因将概率的指数作为权值,同时注意指数为负值,对上式进行修正。mR =-1log10 Pm(x, y) = R1 *(x1 , y1 ) + R2 *(x2 , y2 ) +. + Rm *(xm , ym )R1 + R

19、2 +. + Rm这样得到的坐标较为精确、连续。针对不同终端的接入问题,我们在预定点设置了 QR 码,用户在待测区域,只需扫描当前 QR 码,将 QR 码的位置信息以及本机当前所测 RSSI 值上传至服务器。将所得到的RSSI 值作为当前终端的基准定位数据,将这个 RSSI 值与数据库中当前位置的 RSSI 值进行比较,然后和该点采集的数据相减,去平均,得到偏移量 Offset,每次定位的时候都减去这个偏移量。由于不同终端在同一个位置得到的 RSSI 值呈线性差异(如下图),所以通过这种校正方法能够解决多终端的在同一位置得到 RSSI 值差异的问题。4.2 Android 手机软件设计4.2.

20、1 手机软件流程图4.3 通用客户端软件设计4.3.1 主程序流程图4.3.2 串口数据处理子程序4.4 儿童专用客户端软件设计4.4.1 主程序设计4.4.2 串口数据处理子程序参见 4.3.2五、作品测试5.1 手机定位测试本次测试先使用 Motolora ME525 型号手机作为数据库 RSSI 基准值采集工具,在 4 个学生宿舍内放置 4 个普通路由器,以一米为间距,实验测试范围为 10X3 的矩形范围,由于宿舍墙壁阻隔以及人员走动,可以在一定程度上模拟商场的环境。进行定位测试时采用的也与数据采集相同的一款手机。以下是测试整理结果。根据以上测试数据,可以发现在实际导航定位使用中,除个极

21、个别点(76 个测试数据中只有 2 个)测量出的位置与实际位置差距超过 2 米,其他的均在 2 米内。5.2 不同终端的校正测量现在,为了解决不同设备检测到的 RSSI 值差异问题,我们加入了校正机制,以下是魅族 M030 手机在校正前的定位数据在测试的 8 个点每个测量 10 次的实验数据中,有两个点总共 15 个数据测得的位置与实际位置误差超过 2 米。现在,我们在(-4,0)点进行了基准校正,重新对上述测试点进行测量,测得结果如下经过校正,所有的测量点结果与实际距离均未超过 2 米。6、附录6.1 创新说明本次竞赛我们所做的基于 WiFiRTLS 的大型商场定位服务系统,在 SooPAT

22、 专利搜索引擎中没有找到同类专利,相似的发明申请是“基于 WIFI 网络的定位系统与方法”(申请号 201110267922.5)以及“一种基于惯性导航系统和 WIFI 的室内定位方法”(申请号 201110258045.5),但这我们具体的定位方式与这二者完全不同。我们的定位方法是基于指纹识别算法算法加上基于 QR 码的多终端校正。基于 RSSI 值指纹识别算法的学术文章,在近两年数量较多,本成果是建立在这些论文(详见 6.1 参考文献)的基础上的,但是在具体的匹配算法以及校正方式上,我们并未直接采取现有的任何算法或者方法,具体的匹配算法以及校正办法均为自己独创。其中采用二维码作为定位校正标

23、识没有任何先例。此外,本系统的亲子护航系统,是目前第一个采用 WiFi 定位来判断家长与小孩距离防止小孩走失的系统。这对于广大爱购物的女性家长而言是很受欢迎的,妈妈们再也不用担心带小孩购物时孩子调皮走失了。6.2 参考文献1、杨萍,李智一种基于 RSSI 的权重值选择及加权定位算法信息与电子工程2012,42、卢恒惠,刘兴川,张超,林孝康 基于三角形与位置指纹识别算法的 WiFi 定位 移动通信2012,103 、 Bruce EckelJAVA 编程思想机械工业出版社2007/66.3 程序代码6.31 服务器程序代码6.32 Android 客户端程序代码程序文件MainActivity.

24、java; SecondActivity.java; MainService.java;(省略 XML 配置文件和自动生成的资源文件)MainActivity.javapackage com.wght.wifiRTLS;import com.wght.wifiRTLS.R;import android.app.Activity;import android.content.Intent; import .wifi.WifiManager; import android.os.Bundle;import android.view.Window;import android.view.Window

25、Manager;public class MainActivity extends Activity Overridepublic void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREE

26、N); setContentView(R.layout.activity_logo);WifiManager wifiManager = (WifiManager)getSystemService(WIFI_SERVICE); wifiManager.setWifiEnabled(true);Thread waitThread = new Thread() public void run() try sleep(2000); catch (InterruptedException e) / TODO Auto-generated catch blocke.printStackTrace();Intent intent=new Intent(); intent.setClass(MainActivity.this, SecondActivity.class); startActivity(intent);MainActivity.this.finish();/关闭当前Activity;waitThread.start();SecondActivity.javapackage com.wght.wifiRTLS;import java.util.List;import com.wght.wifiRTL

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2