Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why can't I detect the Bluetooth Estimote beacon using C# but the Windows OS can find them?

I recently came into the possession of a few Estimote devices and was kind of bummed that there was no Windows SDK just yet. So I tried to see about just finding the devices myself since they're just Bluetooth Low Energy devices.

What I have found is that neither my WPF test (using the wonderful 32feet.NET or just code) nor a Windows Phone 8.1 device (both the settings screen and in code) can see these beacons.

But they can be seen under Windows 8's desktop OS settings screen. This is what I see under Windows 8 when I have the Estimotes nearby and attempt to detect Bluetooth devices:

Bluetooth detection on Windows 8

Does anyone know why the Windows desktop OS is able to see them but nothing that I've found with C#.NET is able to detect these beacons? And does anyone have any workarounds that let's me detect beacons under Windows Phone? I don't really have a need to talk to them right now, just to know which beacon is nearby.

like image 856
Liam Avatar asked Sep 08 '14 16:09

Liam


2 Answers

I found this when searching for similar answers myself. It appears that currently Windows Store 8.1 and Windows Phone 8.1 apps have no support for the pairingless nature of Bluetooth Smart/BLE devices i.e. picking them up in passing as opposed to having to manually pair with them (not what you want to do when surrounded by beacons). They only appear when you try to manually pair with them.

http://vincenth.net/blog/archive/2014/04/24/building-cross-platform-ibeacon-apps-for-ios-android-and-windows-with-c-and-xamarin.aspx This link here confirms it: "Bluetooth Classic and Bluetooth Smart devices must be first discovered and paired via the Windows 8.1 PC settings UI (PC & devices>Bluetooth) before being accessible via the Windows Runtime APIs for Bluetooth"

Really frustrating.

like image 151
Vixxd Avatar answered Dec 02 '22 20:12

Vixxd


Regarding the question in the title: WinBeacon is a managed C# library that is able to detect iBeacons and can also act as a beacon. Great for testing purposes.

Unfortunately, this only works on a Windows OS, not the Windows Phone variant.

like image 20
huysentruitw Avatar answered Dec 02 '22 19:12

huysentruitw