蓝牙物联网室内定位系统解决方案

目前国内外室内定位技术较多,常见的有无线局域网(Wireless Fidelity,WiFi)、射频识别(Radio FrequencyIdentification,RFID)、蓝牙低功耗(Bletooth Low EnergyBLE)、超宽带(Ultra Wide BandUWB)技术等。近几年智能设备的迅速发展和蓝牙设备的生产制造成本越来越低,使得基于蓝牙技术的室内定位系统成为当下的研究热点。

蓝牙定位系统建设成本较为低廉、使用较为方便,因此有许多厂商采用这一技术实现室内定位。但是,大部分厂商更关注于平台端的展示效果,而忽略了对定位精度的优化。

蓝牙定位标签具有体积较小、便于携带的特点,因此该系统应用场景较为广泛,比如在化工园区、大型工厂、智造车间、隧道施工等需要对人员或物品进行实时定位的典型场景,同时在一些需要室内导航的场景也具有广泛的应用,如博物馆、景区、商场等

1、系统总体设计方案

室内定位系统

室内定位系统使用蓝牙信标的方式进行定位,蓝牙信标广播当前的信号强度,经过滤波处理后进行距离转换,通过在具体场景下布设的多网关进行数据的 LoRa 上报:由基站进行数据汇总并传输给服务器,服务器通过定位引整中的多点定位算法获取定位终端的位置数据,并将位置信息实时展示在Web页面。

系统涉及到以下几个部分,包括定位终端、蓝牙LoRa网关、LoRa基站和室内位置信息服务云平台。

(1)定位终端(待定位点):

具备蓝牙 4.0 以上功能的标签、手环、工卡等均可作为能够持续向网关发送信号强度值和自身的 mac 地址信息的定位终端。本系统采用自主研发的定位终端设备和 BlueNRG-2 蓝牙低功耗片上系统,使用Beacon 方式定时广播信号(定时时间可调),通过加速度传感器(G-Sensor)进行运动状态检测。

当终端设备处于静止状态下,可设置每隔一段时间(时间可调) 发送一次心跳数据。对于不同的部署场景,可对定位终端进行相关配置以满足定位实时性和功耗等需求。例如,在固定资产的定位场景中,定位终端(通常为标签)需固定在资产物体上,对于功耗的要求较高且其位置并不经常移动的,只有当物体移动时才对其实时定位:物体保持静止状态时,每隔固定时间发出信号,若接收不到,后台根据判断机制触发报警。

对于特殊区域的人员定位场景,人员随身携带定位终端(通常为工卡手环).对定位的实时性要求较高,但对功耗要求不高。因此定位终端有必要设计运动状态检测、心跳上报等功能以满足不同定位场景的需求。

(2)蓝牙

LoRa 网关(定位错节点):蓝牙网关部署在定位终端所在的室内环境中,部署方式根据实际环境验证后决定。本系统采用自主研发的蓝牙 LoRa 网关,该网关采用BlueNRG-1低功耗蓝牙系统级芯片接收蓝牙信号,以Cortex-M4内核的STM32f407为主控芯片,将接收到的蓝牙信号数据采用 SX1276 芯片进行 LoRa 扩频调制发送,实现远距离信号传输。

(3) LoRa基站:

系统的 LoRa 基站采用SX1302 芯片进行 8 路数据接收,首先将多信道的 LoRa 信号接收到基站中接收的数据经过整合后通过 MQTT 协议发送至服务器。

(4)室内位置信息服务云平台:

具有云平台集成数据库定位算法引擎和 Web 展示等功能。云平台接收从基站发来的各类数据并保存至数据库中,调用定位算法引擎进行计算,得到定位终端的坐标信息并保存,定位数据可发送给 web 端进行地图显示等。

室内定位系统的工作原理为:将多个网关设备部署在待定位点所在的室内环境,网关中的蓝牙接收器接收定位终端(iBeacon)定时广播的信号并进行汇总打包;通过网关的SX1276芯片进行 LoRa 发送,LoRa 基站接收到网关的数据包信息后将这些数据人网,并通过4G/WiFi/ 有线等方式远距离传输至室内位置信息服务云平台,高精度的定位引擎实时计算定位终端位置,最终在 Web 端展示。

2、RSSI 测距模型的确立

物联网室内定位系统

无线信号通过发送端发射,一般信号所带的能量在发射过程中会存在衰减“,即无线信号强度会随着距离的增大而衰减。通常无线设备常利用接收信导强度指示值 (ReceiveSignal Strength Indicator.RSSI)表示信号到达接收端的信号强度值。基于 RSSI的测距方法利用信号衰减程度与距离有一定数学关系,一般归纳为自由空间传播模型。

在实际定位环境中,存在人员的走动和物品位置的移动导致接收端接收的 RSSI 值存在抖动。如果直接通过接收信号的 RSSI值和公式(3) 换算得到接收端与发送端的距离会造成测距与真实距离误差过大,最终的定位点大幅度漂移因此,对于采集到的定位点 RSSI 值要经过一系列滤波处理后再进行距离的换算。

3、信号滤波方式

大量研究和实验表明,待定位点位于信号发送端固定距离的位置时,采集到的 RSSI值近似呈现为高斯分布”。因此,本文采用基于高斯滤波的方法对采集到的 RSSI值进行滤波处理,该处理方式的特点在于能够过滤掉因环境突变而出现的短时 RSSI过大或过小的抖动值。对于出现概率较大的值进行均值处理,从而得到对应距离的 RSSI特征值。

4、定位算法

基于 RSSI 测距是一种简单并容易实现的室内定位方法具体做法是利用 RSSI 值与距离的关系,得到待定位点(定位终端)与定位错节点(网关)的距离接着应用三边(三角)定位算法或多点定位算法将待定位点的位置估算出来由此实现了对定位终端的位置测算。

传统三边定位算法是基于圆形相交的原理,以三个定位错节点为圆心,以锚节点到待定位点的距离为半径做圆。由于信号的损耗,三个圆一般不会相交于一点,连接两个圆的圆心以及两个圆的交点、两条直线的交点即为策略点,则三个圆会得到三个策略点,策略点连线为一个三角形的区域,该区城的质心即为要求得的待定位点的坐标位置 。

出处:物联网技术

原标题:基于蓝牙技术的物联网室内定位系统

作者:葛敏婕 赵子涵

参考资料

https://www.hooketech.com/indoor-positioning-system.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/295956.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Unity手机移动设备重力感应

Unity手机移动设备重力感应 一、引入二、介绍三、测试成果X Y轴Z轴横屏的手机,如下图竖屏的手机,如下图 一、引入 大家对重力感应应该都不陌生,之前玩过的王者荣耀的资源更新界面就是使用了重力感应的概念,根据手机的晃动来给实体…

案例147:基于微信小程序的酒店管理系统

文末获取源码 开发语言:Java 框架:SSM JDK版本:JDK1.8 数据库:mysql 5.7 开发软件:eclipse/myeclipse/idea Maven包:Maven3.5.4 小程序框架:uniapp 小程序开发软件:HBuilder X 小程序…

使用vue-qr,报错in ./node_modules/vue-qr/dist/vue-qr.js

找到node_modules—>vue-qr/dist/vue-qr.js文件,搜…e,将…去掉,然后重新运行项目。

Netty 与 RPC(一)

Netty 与 RPC Netty 原理 Netty 是一个高性能、异步事件驱动的 NIO 框架,基于 JAVA NIO 提供的 API 实现。它提供了对TCP、UDP 和文件传输的支持,作为一个异步 NIO 框架,Netty 的所有 IO 操作都是异步非阻塞的,通过 Future-List…

Github 2023-12-23 开源项目日报 Top10

根据Github Trendings的统计,今日(2023-12-23统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Python项目6C项目2C项目1Jupyter Notebook项目1HTML项目1Go项目1非开发语言项目1 免费API集体清单 创建周期…

医疗影像中DR的骨抑制

1 背景 在DR的拍摄中,根据肺部和脊肋骨两种组织,在不同能量X射线的照射下,衰减的系数不同的特点,可以通过两次不同剂量的曝光后,通过算法,得到一张骨骼的图像和一张肺部图像。 通过一些机构的统计&#x…

爬虫字典生成工具,CeWL使用教程

爬虫字典生成工具,CeWL使用教程 1.工具概述2.参数解析3.使用实例1.工具概述 CeWL 是一个 ruby 应用程序,它将给定的 URL 爬到指定的深度,可以选择跟随外部链接,并返回一个单词列表,然后可用于密码破解者 Cewl 是黑客武器库中的强大工具,因为它允许创建有针对性的单词列…

Git常用命令及解释说明

目录 前言1 git config2 git init3 git status4 git add5 git commit6 git reflog7 git log8 git reset结语 前言 Git是一种分布式版本控制系统,广泛用于协作开发和管理项目代码。了解并熟练使用Git的常用命令对于有效地管理项目版本和历史记录至关重要。下面是一些…

鸿蒙WebGL开发入门

WebGL的全称为Web Graphic Library(网页图形库),主要用于交互式渲染2D图形和3D图形。目前HarmonyOS中使用的WebGL是基于OpenGL裁剪的OpenGL ES,可以在HTML5的canvas元素对象中使用,无需使用插件,支持跨平台。WebGL程序是由JavaScr…

利用PySpark进行商业洞察与可视化

利用PySpark进行商业洞察与可视化 引言数据集与技术栈数据集:YELP数据集技术栈:Flask、MySQL、Echarts、PySpark 分析维度与功能创新点与应用 引言 近年来,数据分析和可视化技术在商业决策中的应用越来越广泛。在这个信息爆炸的时代&#xf…

网络协议-BIO实战和NIO编程

网络通信编程基本常识 原生JDK网络编程-BIO 原生JDK网络编程-NIO Buffer 的读写 向 Buffer 中写数据 写数据到 Buffer有两种方式: 1. 读取 Channel写到 Buffer。 2.通过 Buffer 的 put0方法写到 Buffer 里。 从 Channel 写到 Buffer …

.net core 生成jwt+swagger-通过 IHttpContextAccessor读取token信息

1.安装jwt相关包 <ItemGroup><PackageReference Include"Microsoft.AspNetCore.Authentication.JwtBearer" Version"6.0.25" /><PackageReference Include"Microsoft.IdentityModel.Tokens" Version"7.0.3" /><P…