Is there any way to read Bluetooth Classic RSSI in Microsoft Bluetooth Stack?
I’m looking for the solution how I can read Bluetooth Classic RSSI without connection.
I tried some ways: inthehand, WinApi, or other console programs.
And I looked it up for about two days, but I cannot find any solution.
Anything is fine, C# code, console program, or otherelse…
Please tell me how I can read RSSI, or cannot.
Using Visual Studio, Windows 11 x64.
2
Answers
According to 32Feet’s creator – https://github.com/inthehand/32feet/wiki/Peer-Device-Information
So no, this is not natively supported. However you can test if a device is in range instead;
https://github.com/inthehand/32feet/wiki/Testing-if-a-device-is-in-range
As a last resort, given the W11 x64 host is RAM/CPU-rich system, one may always launch a Virtual Machine ( any good HyperVisor with virtualised handling USB devices, be it Windows-ports of VirtualBox, VmWare Player (using exactly this strategy since VmWare WorkStation v.1.0 back in early 90-ies, yeah, the time is running soo fast) )
Using this, one may easily read RSSI values from linux commandline tools available since ever.
Another option is to host a BT-device on an Arduino-alike micro-controller board, which can similarly to the linux-hosted device control, read and report the actual RSSI data to the W11 host via the micro-controller board USB-interconnect, typically emulating a serial tty-dev character-I/O for the W11 side. Again, a cheap & stable, immediate solution.
If surprised by going this way, just take the cost of a USB-BT device and the cost of time/efforts/nightmares with code-refactoring after swapped BT-stacks, W-xy updates/upgrades etc. Using this strategy of reading an RSSI-value via an "exo-system" is sure to work now & forever, like reading data from an RSS-feed or a socket.
Cool & sure, immediate result. That’s exciting ( not only after all other options failed ), isn’t it?