Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is there any way to use Bluetooth LE from a c# desktop app in windows 10?

Everything I found online regarding bluetooth LE requires a universal windows app, which is completely unsuitable for me.

Is there a way to use bluetooth LE from c# without having to write my whole app as on UWP?

like image 200
Cedric Mamo Avatar asked May 19 '16 20:05

Cedric Mamo


2 Answers

You can use C# APIs in C# Desktop applications! I have a sample here in GitHub.

In general, to get access to the C# APIS, add two references to your project:

  1. C:\Program Files (x86)\Windows Kits\10\UnionMetadata\Windows.winmd
  2. C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETCore\v4.5\System.Runtime.WindowsRuntime.dll

Note that the #2 version depends on the version of .NET that you're using.

Background tasks will not be supported, but all other Bluetooth C# features should be there.

like image 97
Carter Avatar answered Sep 21 '22 23:09

Carter


I have worked with and around the Microsoft partial Bluetooth API solutions since the XP days. I found a library from BTFramework that I have used extensively, on many platforms and in several languages. The Bluetooth Classic and Low Energy API packages from BTFramework have been easy to use, very reliable, and they've been super-responsive to any defects I did find. Our commercial product, as a result, has zero failures arising from the Bluetooth side. The team at BTFramework has taken on the job of working around Microsoft's partial implementations of the standard. We mainly code in C# dot NET, by the way. And we use many threads in the application.

like image 31
Frank Anderson Avatar answered Sep 19 '22 23:09

Frank Anderson