室内定位指纹采集系统-Android WIFI版本
本文主要介绍了物联网室内定位中,指纹定位系统研究过程中需要的软件开发思路,目前完成的有Android端WIFI信号的获取与划定采集区域采集WIFI信号指纹库等功能。
声明:
- 本系统涉及软件只用于学术研究,切乎用于其它用途。
- 软件存在版权问题所以暂不开放源码,只提供软件试用版本和软件开发思路。
- 希望给自己一个梳理开发过程的机会,若刚好你需要可以一起讨论,并提出宝贵的意见。
需求
指纹定位系统分为离线采集和在线定位两个阶段,离线采集阶段,需要将定位区域内的信息获取到并存到相应的数据库中完成指纹库的构建,本次需求主要为WiFi信号指纹库的构建,所采用的采集设备为Android手机,系统服务可部署在服务器中,通过Android端连接服务器,完成指纹库的构建。
设计思路:
指纹采集流程:
创建需要采集区域信息,创建需要采集区域的AP信息,由于采集的是WiFi的指纹信息,所以需要事先将WiFi的信息录入,采用录入mac的方式进行,当采集WiFi强度时只采集录入的wifi的强度(AP强度);根据确定的区域,确定好原点坐标,将区域划分成坐标点,在采集的时候,需要输入指纹的坐标点,所以需要事先完善好坐标点的划分;到相应的坐标点输入信息并采集,数据通过服务器存入到数据库中,一次测量的点的信息应该不止一个而是一组,最终通过多次测量得出平均值或其他方法求得的值作为该点的wifi指纹点。
数据格式大约如下:(x,y)->(1,1)(rssi1,rssi2,rssi3,rssi4,…)
指纹数据库设计:
数据库应包含区域信息、AP信息、坐标点信息、多次采集AP强度信息、指纹信息。
此处不再论述数据库的详细设计,直接贴出数据库的结构图:
主要有区域表、ap表、坐标表、测量表、指纹生成表;提供两种视图便于查看数据,如图:
技术选型
- 数据库选择使用mysql
- 服务器端采用SSM架构编写(Java版)
- Android端采用MVP模式编写
注:AP即是在我们需要采集指纹区域内我们自己部署的WiFi路由器的称呼
执行流程:
首页:
设置服务器:
访问服务器网址,录入地区:注意ap的个数不用乱写,要按照真实的来写
进入查看周围录入区域AP点,点击选择区域,点击需要录入的ap,录入到区域中,待采集时将直接采集录入ap点的rssi信息
录入ap
进入采集WIFI指纹界面,首先选择区域,然后点击准备,当提示准备开始后开始点击采集,采集完成后,点击生成指纹,一次采集次数和间隔可调整,生成的指纹为平采集多次的平均值,指纹点数据可根据数据库的多次采集到的信息的数据进行自己处理,系统提供的指纹点为已经求平均后的,可在视图measureinfo中查看采集多次的数据,该数据为原始数据也是最重要的,自己可针对做处理的数据。
问题总结:
- 采集WIFI信号的准确性问题,当两次采集间隔过小时,采集到的信息存在缓存,不具备时变性
- 指纹点生成可能会出现不成功现象,多次采集的数据measureinfo会保存,可自行通过多次采集到的数据去根据自己的算法计算指纹点。
- 后续问题继续添加
后续更新:
- 暂时只支持WiFi版本指纹采集,后续可能加入地磁等其他更多的信息
- 后续可能继续更新此类博客
下载试用
- 数据库脚本
- 服务器war包
- Android安装包-已针对Android6.0以上适配,请选择允许访问网络等权限否则将不会正常运行
1 本地创建db_indoorpositon数据库,导入脚本文件创建数据库表等
2 安装java环境,下载tomcat解压版,将war包放入到webapps下
3 启动tomcat,在bin/startup.bat,在自动解压后的FingerPrintMeasurementSystem中进入WEB-INF\classes\config,找到spring-mybatis.xml,修改数据库用户名和密码。若不修改,请保持数据库名为root,密码为123456
4 打开app,修改服务器地址,输入本地局域网内的服务器ip即可,注意app需要与服务器处在同一局域网内。
发送邮件‘csdn-指纹采集系统获取’到zhuimengqingcun@126.com,
收到后将回信给您或直接留言即可。
相关资料可参看:
https://www.cnblogs.com/rubbninja/p/6120964.html 室内定位系列(一)——WiFi位置指纹(译)
室内定位指纹采集系统-Android WIFI版本相关推荐
- android室内定位+3d,基于Android平台的手机室内定位及导航的设计与实现
摘要: 随着无线通信网络技术的发展,智能手机逐渐融入到人们的日常生活中.它不仅满足当今人们对于通话短信等基本功能的需求,而且还满足人们对于娱乐.上网.社交等功能的需求.导航功能是现在人们常用的一个功能 ...
- android百度室内定位吗,基于Android的室内定位技术研究
摘要: 随着智能移动终端的普及和发展,基于位置的服务(LBS,Location Based Service)成为智能终端发展的新热点.LBS的关键技术是定位技术,定位技术的精确度对于LBS来说至关重要 ...
- Android 原生Wi-Fi室内定位探究
一.关于室内定位的一些技术包括:RFID.蓝牙.红外.UWB. ZigBee.WiFi和行人航迹推算PDR(Pedestrian Dead Reckoning) 参考资料:http://wap.cnk ...
- 基于Wi-Fi的室内定位在美团总部的实践和应用(上)
室内定位技术的商业化必将带来一波创新高潮,尤其是在O2O领域,各种基于此技术的应用将出现在我们的面前.我们可以想象一些比较常见的应用场景,比如在大型商场里面借助室内导航快速找到目标商铺,商店根据用户的 ...
- 基于Wi-Fi的室内定位在美团总部的实践和应用
http://tech.meituan.com/mt-wifi-locate-practice-part1.html 室内定位技术的商业化必将带来一波创新高潮,尤其是在O2O领域,各种基于此技术的应用 ...
- 室内定位之CSI指纹定位
目录 一.CSI简介 1.CSI指纹定位经典模型 2.MIMO与OFDM 3.CSI的相位和幅值 二.CSI指纹定位与RSSI指纹定位 三.各种CSI定位模型分析及比较 四.数据采集及预处理说明 五. ...
- android rfid 定位,基于Android手机的室内定位技术研究与实现
摘要: 室内定位是指当人或者物体在室内时,获取其位置信息的定位技术.由于GPS(Global Positioning System)全球定位系统在全世界的普及,室外定位技术已经非常成熟,但是,在室内接 ...
- java wifi定位原理_基于wifi的室内定位方法深度分析.doc
大连理工大学本科毕业设计(论文) 基于WiFi信号的室内定位方法 Indoor localization method based on the WiFi signal 学 院(系): 软件学院 专 ...
- 室内定位技术WIFI,蓝牙,UWB一较高下,新导智能浅析哪家是王者
在万物互联的大背景下,方位信息的获取和使用在项目落地中越来越重要.相关于室外定位,室内定位的工作环境更为杂乱.精细,其技能更是多种多样.未来,室内定位技能将席卷我们生产.生活的方方面面 ...
最新文章
- 开始启动OPNsense的汉化工作
- Ruby错误:iconv will be deprecated in the future, use String#encode instead.
- Linux内核社区是数字军火商、斯拉夫兵工厂甚至NSA的最爱
- 显示设备不属于微型计算机的外部设备,微型计算机常用外部设备试题解析
- 【数据结构与算法】之深入解析“石子游戏V”的求解思路与算法示例
- SQLite.NET.0.17 的离奇之处, BUG??? BY DESIGN??
- RBD和AOF持久化对比
- playframework 打包在tomcat里部署
- OpenShift 4 - OpenShift是如何升级RHCOS的
- Unity3D基础11:Rigidbody物理类组件
- ES6、7学习笔记(尚硅谷)-4-模板字符串
- arcgis弧段怎么加很多点_arcgis弧段怎么加很多点_莲子心营养价值高但是太苦喝不下去怎么办?别急,加这个就好很多。......
- 【我与云表的故事】我用云表做工作日历
- python 词表里的词不符合_一年级语文下册,第1~4单元生字笔顺组词表,家长:这也太全面了...
- 中国人工智能行业市场供需与战略研究报告
- 乐华网上阅卷系统服务器地址,乐华阅卷F版本
- sinx/x的极限为什么是1_lim(x趋向0)sinx/x为什么等于1?
- phpexcel 数字格式_phpexcel文本格式
- 思维导图-------java-IO流知识结构梳理
- 景区手绘地图的绘制流程