关于在windows应用程序上显示BLE设备相对于我的PC/扫描仪的位置的建议



我想要一些关于如何开始实现下面提到的想法的建议:

我有一个3 BLE(蓝牙低能量(信标。我想使用visualstudio在windows上创建一个应用程序。

目前,我使用的是一个ESP32微控制器板,它可以获取BLE信标传输的信息。这些信息包括RSSI、温度和湿度水平。所有这些信息然后通过串行通信发送到我的桌面(运行Windows 10(。

现在,我对如何继续的知识彻底失败了。

我知道你可以用RSSI来计算距离,但这不可靠。造成这种情况的原因是在信标前面放置了一个金属物体。这将导致RSSI急剧下降。因此,对于PC来说,灯塔似乎更远,然而,在现实中,它并没有移动。

我听说过使用AOA(到达角(或AOD(离开角(,但我不知道如何在Visual Studio中实现,甚至不知道这是否正确。

基本上,我想以图形方式显示信标相对于我的PC/扫描仪的位置。扫描仪(ESP32(离我的电脑很近。

有人能就如何将这个想法变成现实提出建议吗?

你是对的,RSSI不适合这种任务。不仅数值会波动,您还必须自己将RSSI(信号强度(转换为正确的距离。

新的蓝牙测向功能(AOA和AOD(确实是确定设备相对于信标位置的更好方法,但ESP32不提供这些功能,因为它们是在BLE规范5.1中引入的。

AOA和AOD需要有两个天线的特殊硬件。北欧半导体公司的nRF5340是一款提供蓝牙测向功能的SoC。

另一种方法可以是采用接收到的RSSI值的滚动平均值来平滑波动,并将该值用作距离。如果您知道周围信标的位置,则可以使用距离计算接收设备的位置。这种方法只有在信标静止并且你的电脑移动时才有效,而不是相反。

最新更新