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

2

7

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.

Coquina answered 8/9, 2014 at 16:18 Comment(1)
I'm pretty sure that your .NET application running in Windows is not able to scan for any devices. So if you want to develop a BLE based Windows application, you can only perform operations when it is connected to a remote device using the Bluetooth settings in Windows. I have no idea regarding your Windows Phone. It should be able to discover the devices if you're testing with a physical phone and if the phone supports Bluetooth 4.0Global
J
4

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.

Jacki answered 24/11, 2014 at 21:1 Comment(1)
This is what I found as well, and this actually cost us abandoning Windows Phone as a platform for one of our client projects. This was truly disappointing that Microsoft implemented the spec in that way.Coquina
M
2

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.

Missend answered 30/5, 2015 at 20:32 Comment(2)
Sadly it depends on a specific hardware connected to the PC. It would be nice if there was a way to use the PC native bluetoothArcade
@Arcade as from Windows 10 you can use the native BT stackMissend

© 2022 - 2024 — McMap. All rights reserved.