获取RSSI

当手机和设备连接上后,设备端可以通过获取RSSI来 在一定程度上判断手机离设备的相对距离的远近。比如蓝牙防丢器就是通过RSSI来实现防丢的。


第一步:启动rssi功能

 * @param[in] conn_handle        Connection handle.
 * @param[in] threshold_dbm      Minimum change in dBm before triggering the @ref BLE_GAP_EVT_RSSI_CHANGED event. Events are disabled if threshold_dbm equals @ref BLE_GAP_RSSI_THRESHOLD_INVALID.
 * @param[in] skip_count         Number of RSSI samples with a change of threshold_dbm or more before sending a new @ref BLE_GAP_EVT_RSSI_CHANGED event.

uint32_t sd_ble_gap_rssi_start(uint16_t conn_handle, uint8_t threshold_dbm, uint8_t skip_count)

传入连接句柄、改变阈值和忽略次数。

### 使用 nRF Connect 获取 RSSI 值 #### 扫描设备并查看 RSSInRF Connect 应用程序中,可以通过扫描功能来发现周围的低功耗蓝牙 (BLE) 设备,并且能够看到这些设备的信号强度指示 (RSSI)。当启动扫描时,在 SCANNER 选项卡下找到搜索到的设备列表中的 RSSI 数值显示。 对于每一个被检测出来的 BLE 设备条目,默认会在其旁边显示出该设备最新的接收到的信号强度指标(RSSI),单位为分贝毫瓦(dBm)[^3]。 ```python # Python 示例代码模拟读取 RSSI 数据过程(非真实应用) class BleDevice: def __init__(self, name, mac_address): self.name = name self.mac_address = mac_address @property def rssi(self): # 这里返回的是模拟的 RSSI 值 return "-78 dBm" device_example = BleDevice("Example Device", "AA:BB:CC:DD:EE:FF") print(f"Device {device_example.name} has an RSSI of {device_example.rssi}") ``` #### 查看已绑定设备的 RSSI 如果已经与某个特定的 BLE 设备建立了连接,则可以在 BONDED 部分访问它。一旦选择了这个设备,就可以通过应用查看📐 ⚗️2024-02-29 16:52:34.317 : 上述回复存在一些不完全之处,现在进行补充: 除了上述提到的内容外,为了更精确地监控选定设备的 RSSI 变化情况,用户还可以采取如下操作: - 在选定了目标设备之后,点击进入详细的视图页面; - 此处不仅能看到静态的RSSI数值,还可能有实时更新的功能,允许观察一段时间内RSSI的变化趋势[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值