1

PyBlueZを使用して作成されたUbuntuデスクトップでBluetoothサーバーを実行しています。そのサーバーは、UUIDを介して特定のサービスをアドバタイズしています。PyBlueZで作成したクライアントを使用して、このサーバーを徹底的にテストしました。

現在、BlueCoveを使用してJavaクライアントを実装しようとしています。BlueCoveクライアントはデスクトップを正常に見つけることができます(「ユーザーフレンドリーな名前」を印刷して確認しました)。ただし、デスクトップでアドバタイズされたUUIDのサービス検索を実行すると、サービスが見つかりません。エラーなどは発生しません。検出されたサービスのコールバックは発生しません。

これら2つのシステムを接続するときに起こっている可能性のある異常なことはありますか?UUIDは同じですが、PyBlueZ形式ではUUIDにダッシュ「-」が必要ですが、BlueCoveでは16進数の連続した1つの文字列が必要です。これは純粋にプレゼンテーションの問題だと思います。

最後に、無関係な問題として、BlueCoveコミュニティはありますか?BlueCoveの質問に対する答えを見つけるためのリソースが極端に不足しています...

4

1 に答える 1

2

私が犯した間違いは、searchServices() が非同期メソッドであり、実行にデバイス検出と同じ時間を必要とすることを認識していなかったことです。サービスを見つける機会を与えるために sleep() していませんでした。

searchServices() が完了する時間を与えているので、少なくとも serviceDiscovered コールバックを呼び出しています。

于 2012-03-22T05:30:23.010 に答える