加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

Windows 10 IoT蓝牙LE

发布时间:2020-12-13 20:34:06 所属栏目:Windows 来源:网络整理
导读:重新连接到我的BLE设备时出现问题. Senario有效 – BLE设备未配对 – Pi启动并启动我的App,找到BLE设备,配对和连接,接收数据 – 启动Pi并启动我的应用程序,它不会配对已经配对,它连接正常和接收数据. Senario不起作用 – BLE设备不是配对或配对,无关紧要 –
重新连接到我的BLE设备时出现问题.

Senario有效
– BLE设备未配对
– Pi启动并启动我的App,找到BLE设备,配对和连接,接收数据
– 启动Pi并启动我的应用程序,它不会配对已经配对,它连接正常和接收数据.

Senario不起作用
– BLE设备不是配对或配对,无关紧要
– 如果我的BLE设备因断电或超出范围而断开连接并上电或返回范围,Pi将重新连接并抛出:
mscorlib.ni.dll中的“System.Exception”
指定的登录会话没有用户会话密钥. (HRESULT异常:0x80070572)

如果我尝试重启Pi,当我尝试执行时会抛出相同的消息:await _readCharacteristic.WriteClientCharacteristicConfigurationDescriptorAsync(GattClientCharacteristicConfigurationDescriptorValue.Notify);

唯一有效的方法是每次断开连接时取消配对设备.

这个问题与这家伙有同样的问题:https://social.msdn.microsoft.com/Forums/sqlserver/en-US/b98d77f2-bf5e-45fc-9495-1c444b54450e/uwpreconnecting-to-a-ble-csac-device-causes-exception?forum=wpdevelop

也许这里有人见过同样的问题并解决了吗?

谢谢

您收到此特定错误的原因几乎可以肯定是BLE设备本身不存储在配对过程中协商的绑定信息.对于要重新使用的现有BLE配对,设备必须保持与其伙伴的绑定以用于将来的通信会话.

开发人员有时可以通过PC或移动应用程序删除以前与已保留设备配对的设备,在其(非Windows)PC或电话应用程序中解决此设备的缺点,并在每次看到蓝牙设备时协商新的配对.这是可能的,因为许多蓝牙设备具有静态PIN,不需要交互配对,并且保持开放配对模式.因此,应用程序会在每次通信时创建一个新设备. Mac BLE API也不需要用户交互来进行配对和解除配对.

但是这种解决方案在Windows BLE API下是行不通的,因为与常规蓝牙不同,蓝牙低功耗API需要用户在配对和不配对“仪式”期间进行交互.用户必须同意每个配对,并且必须同意每个配对.从Windows上的UX角度来看,这使得此解决方案解决方案成为非首发解决方案.我的猜测是BLE设备制造商没有存储粘接.

我们自己开发自己的BLE驱动程序,与我们自己的BLE板对话;我们不得不重新运行运行我们的BLE设备的固件,因为虽然它可以在Mac OS和Android上使用上述方法工作,但Microsoft UWP上提供的BLE API需要在配对仪式期间进行用户交互.无论如何,这似乎是做事的正确方法.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读