首页 > 解决方案 > 如何使用python将iBeacon RSSI值存储到数组中一分钟

问题描述

我有 10 个信标,我可以看到使用 python 文件发布了不同的 rssi 值。

但是,当我尝试使用手机/PC 来查找信标时,会为唯一的 MAC 地址发送不同的“rssi”值。

我需要了解是否有任何功能可以为唯一的 mac 地址查找 rssi 的值?下面是我的输出,我应该在一个数组中为一个 mac 地址获取 rssi 的值吗?

例如

从信标收到的消息:{“uuid”:“uuid”,“major”:1,“minor”:2,“txPower”:216,“RSSI”:-76,“MAC_ADDRESS”:“ca:83:81: d8:f4:2f" }

从信标收到的消息:{“uuid”:“uuid”,“major”:1,“minor”:2,“txPower”:216,“RSSI”:-77,“MAC_ADDRESS”:“ca:83:81: d8:f4:2f" }

我期待输出

一分钟内

Mac 地址 : [ca:83:81:d8:f4:2f] RSSI : [-76,-77,-78]

标签: pythonbluetooth-lowenergyrssi

解决方案


每个“收到的消息”都是一个广告数据包。它包含特定数据包的信号强度作为 RSSI 值。广告以随机顺序出现,并且不是接收者要求的。如果要查询特定地址的最后几个 RSSI 值,则需要让程序记录它之前看到的所有广告 RSSI 值,然后查询。


推荐阅读