用于Windows桌面C#应用程序的蓝牙4.0(低能耗)API

Pat*_*ick 6 c# bluetooth-lowenergy

我正在寻找一种与Adafruit蓝莓LE(nRF8001芯片组)板接口的方法,在Windows桌面应用程序中使用c#(从我所见,我不能使用Windows.Devices命名空间而不进行黑客入侵.)

该设备已正确配对我的平板电脑,似乎没有任何问题,我只是想找到一种方法从我的程序中接收数据.

必须有一种方法可以做到这一点,我不能认为微软会限制只使用蓝牙到城域应用程序,我只是无法找到它.

Pat*_*ick 6

因此,后人:

  1. 网上的任何地方都说将以下内容放在你的csproj文件中:

    <PropertyGroup> <TargetPlatformVersion> 8.0 </ TargetPlatformVersion> </ PropertyGroup>

如果您运行的是Windows 8.1,则实际上这是不正确的,您必须将8.1放在那里而不是8.0.此更改将允许您在引用对话框的窗口 - >核心部分中引用"Windows"程序集.将8.0放在那里可以获得一些你不想要的其他东西.

  1. 你还必须引用这个DLL:

C:\ Program Files(x86)\ Reference Assemblies\Microsoft\Framework.NETCore\v4.5.1\System.Runtime.WindowsRuntime.dll

其中包含允许您在Windows.Foundation.IAsyncOperation实例上使用常规等待调用的扩展方法.这是必需的,因为这些实例不包含await关键字查找的GetAwaiter方法.

之后,您应该能够在桌面应用程序中使用WinRT API.