基于使用开发的低功耗蓝牙调试助手,使用调用win操作笔记本,台式电脑上的蓝牙发送接收数据总得有个昵称吧

上截图先看一下,有一个换肤的功能

左边显示的是当前连接中的蓝牙,蓝牙的服务与特征会全部显示,中间是运行日志,右边是一个配置文件窗口,可以存一些常用的指令。

暗色

亮色

需要基于WIN10SDK,需要在NuGet里面搜索下图红框的东西,网上说只有win10才支持低功耗蓝牙。

讲一下蓝牙的大概把,每一个蓝牙设备里面会有服务,服务里面会有一些叫特征的东西,一个蓝牙设备会有多个服务,然后每一个服务里面呢,又会有多个特征。

每一个特征会又一些属性,当然这些属性都是定义在了蓝牙设备的蓝牙芯片里面,不知道我说得对不对。每一个服务跟特征都有一个叫UUID的东西,这个UUID都是看自定义的,当然我们肯定不能改他。它反映到c#里面就是一个GUID。具体的可以参考这个连接

网上其他大神发的关于c#操作蓝牙实例都是很多的代码 看着头大。我就尽量通俗易懂的话来简单的带领大家入门。不懂可以加我+q 11656012,

首先想要控制蓝牙发送接收数据肯定得要一个蓝牙对象把,就跟我们使用串口收发数据得用到SerialPort类,这个蓝牙对象叫BluetoothLEDevice,如下图

怎么获取这个蓝牙对象呢。我目前了解到有两种方式,我就说一种在微软官方文档里面推荐的一种。它需要用另外一个类,叫做DeviceWatcher,如下图

这个类怎么使用的呢,肯定不能通过new来得到,所以这个时候又会用到另外一个类叫做DeviceInformation,如下图

使用方法如下

介绍完怎么获取DeviceWatcher对象之后,我们我们看到上面的代码的下面还订阅了DeviceWatcher对象的四个事件,分别的是Added,Updated,Removed,Stopped,稍后就解释一下这四个事件什么意思。

我们在拿到DeviceWatcher对象之后,就需要调用它的Start方法,才能开始搜索(官方话就做枚举)。当然它也有一个Stop方法。在调用Start方法之后,就会开始搜索了,我们必须在调用Start方法之前订阅这些事件。

下面我着重介绍这个Added事件(因为主要靠他),我们可以理解为每搜索到一个设备就会触发一次Added事件,然后这个事件它有一个事件参数,类型是DeviceInformation类型的,没错这个类型也是用来创建DeviceWatcher对象的那个类。

这个类可以理解为就是代表搜到的设备的基本参数,如下图为DeviceInformation类的全貌,重点在红框内的东西,我们主要用到的是它的 Id 这个属性。你看上面它还有一些方法,看名字都是用来获取一些DeviceInformation集合的。

在真实情况中是很多设备的,所以这个时候Added事件会触发很多次,但是可能会出现相同的mac地址的设备会触发这个事件(这是我这边遇到的),所以需要自己维护一个设备列表。出现了重复的设备就直接return,靠这个Id属性来辨识。

然后就是Updated事件,这个事件触发之后会带着一个DeviceInformationUpdate对象,我们看名字就知道它是一个更新的信息,比如信号的强弱。

Removed事件,就是在设备消失的时候,这个事件会触发,事件参数里面回携带是哪个设备,都是靠里面的id属性。

回到前面,怎么获取一个蓝牙对象。一句话:就是通过这个Added事件的事件参数传过来的DeviceInformation对象里面的Id属性。

用法如下:

先向上看图,就是通过BluetoothLEDevice的静态方法FromIdAsync,这是个异步方法,返回一个异步操作,在异步的结果里面就是我们要的BluetoothLEDevice对象。通过传入DeviceInformation对象里面的Id属性来获得,你看它里面还有两中方法可以用。可以自己试一试。

着重看那个Services属性。它是一个GattDeviceService类型的一个集合对象。蓝牙里面的每一个服务都是一个GattDeviceService对象。来看一下GattDeviceService里面有哪些成员

你看底下的几个属性,有代表这个服务的UUID,属于哪个蓝牙设备的Device,还有几个其他的,自己研究把,对于目前来说,其他的不重要。

当我们获取到了某一个服务之后,我们需要再调用这个服务的GetCharacteristicsAsync()方法来获取服务里面的特征,这也是一个异步的,也是返回一个异步操作,异步的结果是一个GattCharacteristicsResult类型,下面是GattCharacteristicsResult类型的成员,

着重看里面的第一个属性Characteristics,它是一个GattCharacteristic类型的一个集合,服务里面的每一个特征都是一个GattCharacteristic对象,

我们来看看GattCharacteristic对象里面的成员

你看它里面有一些ReadValueAsync();  WriteValueAsync(IBuffer value);  这样的一些方法。我们通过调用这写方法,就可以跟蓝牙设备通讯啦。

具体怎么写,怎么读,直接看代码吧。

这个低功耗蓝牙通讯不同于常见的socket或者串口通讯他们都有输入输出缓冲区,都提供对应的read跟write方法。在低功耗蓝牙通讯里面都是对 Characteristics 进行操作,一般写入就是调用对应的WriteValue方法,它有几个重载,可以自己用合适的。发送数据用WriteValue,那接收数据呢?大部分情况(我所遇见的)就是订阅 Characteristics 里面的 ValueChanged 这个事件。这个事件什么时候触发?那就是当硬件那边收到我们写过去的数据之后,他如果想给我们返回数据,他们那边可能也会调用一些api,传入数据。这个时候我们这边的这个事件就会触发,这样我们就接收到返回的数据了。

THE END
0.win10台式电脑蓝牙怎么连接蓝牙音箱Windows系列php小编香蕉为大家介绍win10台式电脑连接蓝牙音箱的方法。在现代生活中,蓝牙音箱成为了许多人享受音乐的首选设备。而对于win10用户来说,连接蓝牙音箱也是一件非常简单的事情。只需几个简单的步骤,你就可以享受到高品质的音乐体验。下面就跟着小编一起来看看具体的操作步骤吧! jvzquC41yy}/rqu0ep5gcz489:8167mvon
1.解决台式电脑win10系统USB蓝牙音箱不能调节音量1、win+r,输入regedit,打开注册表2、进入路径:计算机\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Bluetooth\Audio\AVRCP\CT3、找到DisableAbsoluteVolume值,修改为1,如果没有,右键新建DWORD32位,建立对应值。4、重启电脑,完美解决。 原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。 如有侵权,jvzquC41enuvf7ygpekov7hqo1jfxnqqrgx0c{ykenk03>876;:
2.win10怎么打开蓝牙win10打开蓝牙方法详解蓝牙功能在电脑上的应用极其广泛,可以用来连接各种蓝牙设备,不过有很多小伙伴在使用win10系统的电脑时,找不到蓝牙的开关,不知道在哪里可以打开蓝牙,这种小事当然难不倒小编,小编为大家整理好了win10系统打开蓝牙的方法,就在下文中哦。 win10蓝牙在哪里打开? jvzquC41i0vdqwqkpg4dqv3ep1~03?6913<29=;2:0nuou
3.在Windows中打开或关闭蓝牙在Windows 中打开或关闭蓝牙 应用对象 Windows 11Windows 10 对于具有蓝牙的 Windows 设备,可以打开和关闭蓝牙。 关闭和打开蓝牙会重置蓝牙,并可能有助于解决蓝牙连接问题。 可通过不同的方法在 Windows 中打开和关闭蓝牙。 从以下列表中选择所需的方法:jvzquC41uwvqq{y0okisq|thv0ipo8j/et0yrsfqyy0'N:'::+B2.J;';?&C=*G9'GD'JH'G6+C:.=2'G?&C:*D7'K5'K='CF+F9.>C'::&GB*C3'H6'N<';E+9;.J7';8&:L*G;'G2'K:'G:+96.>C/;k:4oiff/:f3;2g54h.;:84/7k48kid4h=6c
4.win10打开蓝牙的快捷键在哪windows10怎么快速打开蓝牙蓝牙是用户们很经常用到的一个功能,如果要在电脑中使用蓝牙功能的话,就需要打开蓝牙,很多win10系统用户都想知道打开蓝牙的快捷键在哪,其实设置一下将蓝牙图标添加到通知区域就可以快速打开了,这就给大家演示一下windows10快速打开蓝牙的详细设置方法吧。 方法如下: 1、打开设置以后,选择【设备】选项。 2、在下方的相关设置中选择这个【设备 jvzquC41o0nbqƒmwcpmkk7hqo1~ull4326934@<70jznn
5.1TB集显WiFi蓝牙Win10商用办公台式电脑整机套机带21.5英寸苏宁易购为您提供惠普(hp)小欧 260-p039cn TPC-W032-SF台式电脑和联想(Lenovo)天逸510S 十代六核 i5-10400 8GB DDR4内存 1TB 集显 WiFi 蓝牙 Win10 商用办公 台式电脑整机 套机 带21.5英寸显示器参数对比,让您了解惠普(hp)小欧 260-p039cn TPC-W032-SF台式电脑和联想(LejvzquC41yy}/u~skpi4dqv4rtfIpo8529272;>94/8724@>724e12@5295=396<542?16B9a2/6`2650jvsm
6.Win10系统如何开启蓝牙支持服务功能?很多小伙伴之所以喜欢使用win10系统,就是因为在Win10系统中我们可以使用各种工具对电脑进行设置。有的小伙伴在使用Win10系统时想要开启蓝牙支持服务功能,但又不知道该在哪里进行设置。其实很简单,我们只需要在Win10系统中打开服务窗口,然后在该窗口中找到“蓝牙支持服务”选项,将该服务进行启动,然后进入该服务的属性页面jvzquC41yy}/zƒ<0eqs0c{ykenk039=27:4ivvq
7.启天M420(i38100/8GB/1TB/集显/Win10)联想台式电脑报价搭载win10的联想台式电脑好用还是搭载win7的好用? A 只要是联想的都不好用 Q 我的电脑型号 JIAYUEI 主板联想 To be filled by O.E.M. 这电脑能用4G的内存吗?要什么样的内存才能用 A 这样子,你去下个aida64中文版检测下机器的硬件,就可以知道机器里的内存是什么型号,比如是ddr3[详细] 查看更多问答>> 大家来jvzquC41fgzbku3|qn4dqv3ep1jfutyqravd1rsfgz737@;270yivvq
8.笔记本蓝牙怎么打开,小编教你win10笔记本蓝牙怎么打开以上就是打开win10笔记本蓝牙的操作步骤了。 标签:蓝牙打开蓝牙win10笔记本蓝牙 有用57 本文固定连接:https://www.xiaobaixitong.com/win10jiaocheng/28357.html 口袋装机 电脑专题手机专题重装问题电脑教程视频教程手机专题win7下载电脑专题U盘教程重装视频u盘重装系统工具win8下载jvzquC41yy}/zrfqdcoyk}tpi0ipo8|kp36kkjtejgth1;=5794ivvq
9.win10蓝牙在哪里win10蓝牙在哪里解决方法win10蓝牙在哪里解决方法: 1、点击左下角的菜单,进入到【设置】中。 2、然后选择【设备】进入其中。 3、然后就能看到我们蓝牙的设置了。 以上就是电脑系统城为广大用户们提供的win10蓝牙使用常见问题汇总了,希望能够帮助到广大的用户们,谢谢阅读~jvzquC41yy}/fw}ve0tfv8kzwt0YRS32{ooi‚tpi18149233/891?:440nuou
10.Win102004如何通过手机连接电脑蓝牙通过电脑扬声器播放声音换句话说,你可以通过蓝牙将移动设备与 PC 无线配对,然后播放音乐。 操作步骤: 一、升级系统到Win10 2004版本,可以点击此处登录微软官网升级。 二、开始-设置-设备-蓝牙和其他设备,打开蓝牙添加自己的手机,配对一下。 三、打开微软应用商店,下载Bluetooth Audio Receiver,如下图: jvzquC41kmtpy7qgpq|p0lto0et0cyu1fgzbku43:;:37
11.w10电脑蓝牙模块消失了怎么办电脑w10蓝牙功能不见了修复方法在日常使用win10系统的过程中,当用户需要给电脑安装一些蓝牙设备时,却发现系统中的蓝牙功能不见了,今天小编就给大家带来w10电脑蓝牙模块消失了怎么办,如果你刚好遇到这个问题,跟着小编一起来操作吧。 解决方法: 1、 点击“开始”,打开设置。 2、 进入“系统”。 3、 点击“通知和操作”,在快速操作下可以看到托盘中的图标,可以选择jvzquC41o0nbqƒmwcpmkk7hqo1~ull4324>2:9;70jznn
12.win10打开蓝牙电脑蓝牙怎么开蓝牙设备能提高便携性,摆脱线材束缚。本文以Win10系统为例,介绍电脑蓝牙打开方法,一是点击通知中心图标,在快捷菜单开启蓝牙;二是通过开始菜单进入设置,选设备后点击蓝牙打开开关。 蓝牙日常生活中越来越常见,蓝牙耳机蓝牙键鼠能够极大的提高设备的便携性,摆脱线材的束缚,那么怎么打开使用电脑蓝牙?下面就为您详细介绍一下jvzquC41dnuh0lxfp0tfv8|gkzooa<>;689768ftvkimg8igvcomu862;:7:;B;
13.win10没有蓝牙开关选项怎么办win10无蓝牙开关选项处理方法很多用户在日常使用win10安装版系统的过程中,对于电脑中的一些外接设备,为了方便常常会选择通过无线蓝牙方式来连接,可是有些用户想要打开win10系统蓝牙功能时却发现蓝牙开关选项不见了,对此win10没有蓝牙开关选项怎么办呢?下面小编就来告诉大家win10无蓝牙开关选项处理方法。 jvzquC41o0nbqƒmwcpmkk7hqo1~ull42;3>25<550jznn