C#如何在Windows上接入蓝牙设备

最近研究了下怎么在windows上连接蓝牙设备,并获取蓝牙设备的消息以及如何向蓝牙设备写入消息。该方法同样适用于Unity引擎。

本质上还是获取windows的底层API接口进行调用,连接蓝牙设备的流程大概是:

  1. 搜索蓝牙设备列表,并获取蓝牙设备的属性,其中有属性值有isConnectable、name等等
  2. 选择蓝牙地址进行连接,等待连接成功
  3. 搜索蓝牙设备的Services列表
  4. 搜索某个Service的Characteristics
  5. 订阅Characteristics
  6. 接收消息/写入消息

至于如何接入,微软官方有个示例工程,可以下载查看,在那基础上改即可,里面有C#,C++两种语言的。C#编译后是个uwp应用,可以编译后测试下流程。

该方法适用于接入小米手环、华为手环、其他蓝牙设备等等,然后根据协议格式解析即可。

微软官方示例工程:Bluetooth Low Energy sample - Code Samples | Microsoft Docs

GitHub封装好的Unity工程:https://github.com/adabru/BleWinrtDll

希望对大家有帮助。

猜你喜欢

转载自blog.csdn.net/egostudio/article/details/124644303