三角定位法java代码_GitHub - megagao/IndoorPos: 这是一个采用蓝牙4.0--iBeacon技术的室内定位服务端程序。...

IndoorPos

这是一个采用iBeacon技术的室内定位服务端程序,里面包含了三种定位算法,三边定位算法、加权三边定位算法和三角形加权质心定位算法。程序采用Spring框架,简化了JDBC和RMI的样板式代码,并配置了Druid数据库连接池,同时,为了满足高并发的需求,采用了NIO框架Netty,更好地支持大量终端同时定位。程序已经Maven化。

一、室内定位系统简介

由于卫星信号到达地面时较弱、不能穿透建筑物等问题,在室内环境中无法使用卫星定位。本室内定位系统是一种采用蓝牙4.0 iBeacon基站定位技术,结合高容错定位算法进行室内定位的系统,定位基站廉价、易安置,定位终端可直接采用支持蓝牙4.0的移动终端,由于目前绝大多数移动终端都已支持蓝牙4.0,因此本系统不需要使用额外的定位标签、设备,直接可以通过移动电子设备进行定位。从业务应用的角度来看,本系统可实现对人员的实时定位、导航指路等功能以及贵重物品、车辆的定位;同时还可进行区域人流分析,人员密度分析,停留时间、人员流量统计,特定人员监控,区域报警和人员轨迹查看等多种应用的二次开发。

室内定位系统可分为基站、被定位终端、服务器、数据库、客户端等五个部分,分别详述如下:

基站:布置于需要定位的环境,向外发射蓝牙信号,各基站发射频率与发射强度保持一致,每一均有独立ID及相对于定位环境坐标原点的坐标,基站向外发射包括自己ID的信号,基站坐标保存在数据库中。

被定位终端:所有具备蓝牙4.0功能的设备均可作为被定位终端,其接收基站发来的信号强度值与基站的ID信息,并连同该被定位终端的ID信息,一同发送到服务器中。

服务器:服务器接收从被定位终端发来的该定位终端ID信息、接收到信号的基站ID信息及对应的信号强度值,并从数据库中取得基站坐标信息,利用定位算法进行定位,得到被定位终端的坐标信息,先发送给客户端,然后写入到数据库。

数据库:存储定位的相关数据 ,包括高度补偿值、基站坐标、衰减因子值、员工信息,并保存服务器发来的被定位终端的坐标信息。

客户端:客户端分为PC端、IOS端、Android端,负责接收服务器发来的坐标信息,然后进行前端展示。

系统的架构图如下:

%E5%AE%A4%E5%86%85%E5%AE%9A%E4%BD%8D%E7%B3%BB%E7%BB%9F%E6%9E%B6%E6%9E%84%E5%9B%BE.png

图中各流程注解如下:

①:基站向需要定位的环境发送包括自身ID、强度值的信号。

②:被定位终端向服务器发送自身ID、接收到信号的基站ID组及其对应的信号强度值

③:服务器从数据库中拿到高度补偿值、基站坐标、衰减因子值用以定位。

④:服务器向客户端发

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值