C# 低功耗蓝牙设备通信

一、最近工作中遇到这样的问题:

程序在电脑上对低功耗的蓝牙进行通信。

程序是可以在win10系统电脑上进行对低功耗蓝牙进行通信,但在win7系统上运行时提示:找不到Windows运行时类型“Windows.Devices.Bluetooth.GenericAttributeProfile.GattDeviceService”问题

二、通过网上了解到一些解决方案:

1.升级电脑系统win7系统->win10系统。(遇到升级后电脑变的很卡)

2.购买蓝牙5.0适配器,安装低功耗蓝牙驱动。(不行,虽然实现了能搜索到低功耗蓝牙,但程序运行时,还是提示以上问题。)

3.在代码上进行解决问题。(目前还在研究解决方案,这个比较难实现,如果哪个大佬指点,感激不尽)。

public class Bluetooth
{
    // 搜索蓝牙设备对象
    public Windows.Devices.Bluetooth.Advertisement.BluetoothLEAdvertisementWatcher            deviceWatcher;
 
    // 搜索蓝牙设备
     private void StartBleDeviceWatcher()
     {
         try
         {
             this.deviceWatcher = new Windows.Devices.Bluetooth.Advertisement.BluetoothLEAdvertisementWatcher();
             // 主动扫描
             this.deviceWatcher.ScanningMode = Windows.Devices.Bluetooth.Advertisement.BluetoothLEScanningMode.Active;
             // 设备信号超过这个阈值时,会被认为在范围内。
             this.deviceWatcher.SignalStrengthFilter.InRangeThresholdInDBm = -80;
             // 设备信号低于这个阈值时,会被认为在范围外。
             this.deviceWatcher.SignalStrengthFilter.OutOfRangeThresholdInDBm = -90;
             // 设置设备在范围外的超时时间,超过这个时间后,设备将被认为不在范围内。
             this.deviceWatcher.SignalStrengthFilter.OutOfRangeTimeout = TimeSpan.FromMilliseconds(5000);
             // 设置信号强度的采样间隔,用于控制多久采集一次信号强度。
             this.deviceWatcher.SignalStrengthFilter.SamplingInterval = TimeSpan.FromMilliseconds(10000);

             this.deviceWatcher.Received += DeviceWatcher_Received;             

             new Thread(new ThreadStart(
                 this.deviceWatcher.Start
             )).Start();
             //this.deviceWatcher.Start();        
         }
         catch (Exception ex)
         {
             if (ex.Message.Contains("设备未就绪"))
             {
                 MessageBox.Show("请先打开蓝牙");
             }
         }
     }
}

参考:C#和低功耗蓝牙BLE通讯_c#低功耗蓝牙-CSDN博客

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值