Android 蓝牙信号强度RSSI介绍
1.RSSI是什么
Received Signal Strength Indication接收的信号强度指示,无线发送层的可选部分,用来判定链接质量,以及是否增大广播发送强度。RSSI(Received Signal Strength Indicator)是接收信号的强度指示,它的实现是在反向通道基带接收滤波器之后进行的。(摘自百度)。
2.初识蓝牙RSSI
第一次听说蓝牙RSSI的概念,是在2015年,那个时候还是大二的学生,那个时候对它的印象就是可以通过RSSI信号值,来计算蓝牙设备和主设备之间的距离,也有RSSI三点定位算法,但那个时候也只是听说,没有实际的应用,不得不说到现在为止我也不能描述清楚这个东西,只能站在前人的肩膀上,加上自己的总结,若有纰漏,欢迎指出,共同探讨。
3.RSSI为什么是负值
RSSI的单位是dbm,在蓝牙中,我们可以直接理解为,收到蓝牙信号的强度,RSSI = 10*log P,P代表接收到的信号功率,蓝牙会发送广播,距离不同会影响接收到的信号功率,假设发射功率取最大值为1mw,那么RSSI的值为0,也就是说你的距离离蓝牙最近时在理想状态下所获取的RSSI的值为0,但在实际中基本不会存在这个理想状态,因此RSSI的值基本都为负数,而在蓝牙中,当距离很近时,所收到的RSSI的信号值大约在-50dbm。
4.RSSI应用
得到RSSI值之后,因为在理想状态,所发射的功率全部被接收时RSSI的值为0,那么在同等环境下,我们可以认为接收到-20dbm信号值的强度大于接收到-50dbm信号值的强度。
计算距离:
计算公式:
d = 10^((abs(RSSI) - A) / (10 * n))
其中:
d - 计算所得距离
RSSI - 接收信号强度(负值)
A - 发射端和接收端相隔1米时的信号强度
n - 环境衰减因子
A值和N值需要不断的通过场地测试才可以得到,不同场地环境衰减因子不同,甚至同一场地物体阻碍也会很大程度影响环境衰减因子。但是在同一场地我们把A和N两个参数取默认值,是可以大致判断出相对距离的远近的。
三点定位:
顾名思义假设在一个房间内,我们部署了三个蓝牙节点,分别为A、B、C,我们假设一个应用场景就是我们要判断房间内儿童的位置,那么我们要获取儿童到A、B、C三个节点的RSSI的信号值,在房间内我们设定好了abc的坐标,那么可以求得儿童未知点的坐标。此处我不知道如何画圆取描述,不在同一条直线上的三个点,按照半径为到未知点的距离画圆必有一个交点。
Android 蓝牙信号强度RSSI介绍相关推荐
- Android 蓝牙强度Rssi
1.什么是Rssi RSSI(接收信号强度)Received Signal Strength Indicator Rss=10logP, 只需将接受到的信号功率P代入就是接收信号强度(灵敏度). [例 ...
- android获取蓝牙信号强度,2、安卓获取ble蓝牙信号强度rssi
毕业设计需要,需要用到蓝牙,检测蓝牙强度,当蓝牙强度减弱到一定的程度时,将停止扫描,调用其它函数 下面将实现这样的功能. 环境:Android Studio 官方指南:Ble|Android Deve ...
- android qt rssi,蓝牙信号强度RSSI
1.RSSI是什么 Received Signal Strength Indication接收的信号强度指示,无线发送层的可选部分,用来判定链接质量,以及是否增大广播发送强度.RSSI(Receive ...
- android 蓝牙BluetoothAdapter的介绍
一. BluetoothAdapter类介绍 BluetoothAdapter类简单点来说就是代表了本设备(手机.电脑等)的蓝牙适配器对象,通过它我们可以蓝牙设备进行基本 开发了,主要有如下功能: ...
- android 获取蓝牙信号强度,连接后获取蓝牙RSSI信号强度
android 获取蓝牙信号强度,连接后获取蓝牙RSSI信号强度 基于蓝牙的RSSI可以有很多应用,要获得蓝牙的RSSI无外乎两种方法. 第一种:基于扫瞄的方法 优点是Android本身支持,缺点是s ...
- Android蓝牙开发介绍
蓝牙(BlueTooth)是一种无线技术标准,是当今移动终端最流行的三种数据传输方案之一,其余两种是WiFi和NFC(由于红外传输只能是直线传输,故更多地用于遥控器等设备,不适合数据传输).蓝牙的传输 ...
- Android bluetooth介绍(二): android 蓝牙代码架构及其uart 到rfcomm流程
关键词:蓝牙blueZ UART HCI_UART H4 HCI L2CAP RFCOMM 版本:基于android4.2之前版本 bluez内核:linux/linux3.08 系统:an ...
- Android bluetooth介绍(两): android 蓝牙源架构和uart 至rfcomm过程
关键词:蓝牙blueZ UART HCI_UART H4 HCI L2CAP RFCOMM 版本号:基于android4.2先前版本 bluez内核:linux/linux3.08 系统:a ...
- Android 如何连续的扫描蓝牙的RSSI来测距离,实现三点定位
Android 如何连续的扫描蓝牙的RSSI来测距离,实现三点定位 背景: 接到一个小伙伴求助,要实现用蓝牙来测算距离,并用三点计算出蓝牙设备方位,通过以往的经验最终帮这位小伙伴实现了他的需求,下面总 ...
最新文章
- Theano 中文文档 0.9 - 7.2.5 循环
- AI快速入门学习的经验积累-最佳学习路线图谱梳理
- python dialect='excel'是什么意思_python读取和生成excel文件
- 屏幕中间显示已停用缩放_有关标签打印软件缩放工具的介绍
- android 跨应用,Android跨应用获取资源
- CentOS7 开机自启动脚本 chkconfig方式
- samba (centos6.5)服务
- 目前人工智能教育研究最深入最经典的白皮书:德勤《全球人工智能发展白皮书2019》
- python词云图生成
- word封面和目录不要设置页码
- Exchange邮件服务器渗透
- 澳大利亚博士后招聘|国立大学—太阳能电池方向
- 连连跨境支付独立站收款,最高90天提现0费率!
- Rasa_nlu_chi:入门教程
- 用了这么多年iPhone,你知道包装盒里为何会有两张贴纸?看完涨知识
- 数据库--数据备份与恢复
- 痞子衡嵌入式:串行NOR Flash的页编程模式对于量产效率的影响
- python的内存调优_python内存机制与垃圾回收、调优手段
- Java bouncycastle 包实现椭圆曲线计算
- 安装Python module
热门文章
- LeetCode 【数据结构与算法专栏】【二叉树】
- HTML5前端开发实战02-旅游网页面设计
- 夸克浏览器有没有linux,为啥他们不用夸克浏览器?
- 三国论(26-28章)
- WordPress管理仪表板:在15分钟内成为WordPress专家
- Fio使用和结果分析
- 自定义input type=number 的上下箭头
- Linux753对应字母的权限,linux命令
- 能力强的项目经理是怎么催活儿的?(内附项目管理软件推荐)
- 魔兽世界服务器排队状态app,魔兽世界服务器排队插队软件-魔兽世界7.0服务器免排队辅助预约1.2.01[预约]-乐游网游戏...