windows 桌面 C# 应用程序的蓝牙 4.0(低功耗)API

Bluetooth 4.0 (low energy) API for windows desktop C# application

我正在寻找一种方法来连接 Adafruit bluefruit LE(nRF8001 芯片组)板,在 windows 桌面应用程序中使用 c#(据我所见,我无法使用 Windows.Devices 命名空间而不侵入它。)

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

必须有办法做到这一点,我不认为微软会限制蓝牙只能用于 Metro 应用程序,我只是找不到它。

所以,为了子孙后代:

  1. 网上到处都说要将以下内容放入您的 csproj 文件中:

    <属性组> <目标平台版本>8.0

如果您是 运行 windows 8.1,这实际上是不正确的,您必须将 8.1 放在那里而不是 8.0。此更改将允许您在 windows -> 引用对话框的核心部分中引用 "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 调用的扩展方法。这是必需的,因为这些实例不包含 await 关键字查找的 GetAwaiter 方法。

之后您应该可以在桌面应用程序中使用 WinRT API。