2016-01-08 14 views
7

BLEデバイスへの再接続で問題が発生しました。Windows 10 IoT Bluetooth LE

を作品Senario - BLEデバイスが をペアリングされていない - パイブーツと私のアプリを起動し、検索するには、ペアと接続し、BLEデバイスのデータ を受け取る - ブートPiと私のアプリを起動し、それはその既にとしてペアにしないだろう対になって、細かいデータと受信データを接続します。動作しません

Senario - BLEデバイスがペアリングされていないか、ペアが、 問題ではない - による電力損失または範囲外とパワーアップを取得またはバックパイ範囲での私のBLEデバイスの切断が再接続されます場合とthrow: mscorlib.ni.dllの 'System.Exception' 指定されたログオンセッションのユーザーセッションキーがありません。 (HRESULTからの例外:0x80070572)私はパイを再起動しようとした場合、私が実行しようとすると、

、同じメッセージがスローされます。_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

たぶん、同じ問題を見て、それを解決した、ここで誰もがあるのでしょうか?

おかげ

答えて

9

あなたが受けているこの特定のエラーの原因は、BLEデバイス自体は、ペアリングプロセス中にネゴシエートされたボンディング情報を格納していないことはほぼ確実です。既存のBLEペアリングを再利用するためには、デバイスは将来の通信セッションのためにパートナーとの結合を維持する必要があります。

開発者は、PCまたはモバイルアプリケーションで既に保持されているデバイスで以前のペアリングを削除して、(Windows以外の)PCまたは携帯電話アプリケーションでこのデバイスの不具合を回避することができます。 Bluetoothデバイス。これは、多くのBluetoothデバイスが静的PINを持ち、ペアリングのための対話を必要とせず、オープンペアリングモードのままであるため可能です。したがって、アプリは各通信時にペアリングする新しいデバイスを作成します。 Mac BLE APIは、ペアリングとペア解除のためのユーザー操作を必要としません。

ただし、通常のBluetoothとは異なり、Bluetooth Low Energy APIではペアリングやペアの「セレモニー」の両方でユーザーの操作が必要になるため、このソリューションはWindows BLE APIでは動作しません。ユーザーはすべてのペアリングに同意し、すべてのペア解除に同意する必要があります。これにより、この回避策の解決策は、Windows上のUXの観点からは始まりません。私の推測では、BLEのデバイスメーカーはボンディングを保存していません。

私たちは、私たち自身のBLEドライバを開発して、自分のBLEボードと話すような状況に遭遇しました。 BLEデバイスを実行しているファームウェアを再実行する必要がありました。これは、前述の方法でMac OSとAndroidで動作するものの、Microsoft UWP上で利用可能なBLE APIは、ペアリング式でユーザーの操作が必要となるためです。とにかく、これは正しいことです。

+1

すばらしいおかげで、本当に便利な答えです。私はHM11 bleモジュール(cc2540ベース)にデータを送信する際に問題があり、 "HRESULT 0x80650003"から例外を受け取りました。あなたの投稿が私の問題を解決しました。* "PINコード不要" *から "Auth and bond" *これはすべてのウェブからの唯一の有用な答えです。 –

+0

@VladimirTsykunov私もこの問題を抱えています。あなたのPCまたはBluetoothデバイスで「PINコード不要」から「認証と接続」に設定を変更しましたか?ありがとう –

+2

はい、私はAuthとBondにデバイスのブルートゥースを切り替え、これは多くの助けとなりました。しかし、win10にはまだ多くのバグと接続解除があります。外部BTのドングルの使用はまた、Win10の8月の更新でBTのコアにいくつかの変更があるかもしれません@ダニエルメトリッツキ –

関連する問題