問題タブ [hci]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
4408 参照

android - プログラムによる HCI Bluetooth スヌープ ログの有効化

開発者オプション UI から HCI Bluetooth スヌープ ログを有効にする方法はよく知られています。
これをプログラムで達成する方法はありますか?

0 投票する
2 に答える
2053 参照

bluetooth - Bluetooth LE アクティブ スキャンにより、他のマシンで接続の問題が発生する

あるマシンでの BLE アクティブ スキャンが別のマシンで接続の問題を引き起こすという問題があります。誰かがその理由を説明し、修正方法について提案を提供できれば、私は傷つきました.

私のコードが行うことの大まかなバージョンを単純なスクリプトに分解しました。

マシン 1:

上記は問題なく動作します

ただし、別のマシンで次を実行すると、接続の問題が発生します。

hci ログから、通常の接続は次のようになります。

悪い接続は次のとおりです。

注: 最後の 2 つのエントリ (Invalid HCI Command Parameters) は、スクリプトの粗さが原因であり、接続の失敗が原因でのみ発生します。

注目すべきは、接続が確立されているように見えますが、「できませんでした (接続が確立されませんでした)」と表示されます。これは私には少し混乱しているようです。

これをさまざまなマシンで試しました。(デスクトップ PC と RPi3)

0 投票する
2 に答える
3353 参照

linux - hcidump で RSSI を取得する

生の RSSI 値を読み取るために、Bluetooth HCI データを監視する Hcidump というユーティリティを使用します。hcidump コマンドを使用すると、照会応答メッセージを受信したときに生の RSSI 値を読み取ることができます。すべての応答パケットの RSSI 値を取得するには、まず照会モードを [RSSI を使用した照会] に設定します。生の RSSI 値を読み取るために、hcidump ツールを実行し、適切な HCI 関数を使用して定期的な照会を開始します。

hcidump を使用して RSSI の生データのみを取得する方法や、定期的な照会を開始する方法がわかりません。すべてのオプションが表示されますが、できません。

生データを取得するために hcidump --raw を作成し、このデータを解析して rssi を取得しようとしましたが、16 進数が rssi 情報であることがわかりません。

これは私が得るものです

ここで、RSSI 値を知る必要があります。

0 投票する
1 に答える
604 参照

c - raw ソケットのシャットダウン/クローズ後に read() が戻らないのはなぜですか?

次のようなループで生の HCI ソケットからメッセージを読み取るスレッドがあります。

機能はpoll_end()正常に動作し、意図したとおりです。SIGINT シグナルを受信するまでは 0 を返し、それ以降は 1 を返します。

メインスレッドでは、次のようにソケットを作成します。

また、スレッド:

次に、しばらくして、次のようにシャットダウンを呼び出します(メインスレッドで):

shutdown() を呼び出した後に read() が返されると想定しています。L2CAP ソケットの別のスレッドで同じメソッドを使用すると、正常に動作します。しかし、そうではありません。pthread_join(t_hci, NULL)メイン スレッドでの呼び出しが返されません。

ソケットは正常に動作します。そこからメッセージを読み取ることができます。代わりに close (スレッドが終了した後に行う) を呼び出そうとしましたが、結果は同じです。

何が問題なのですか、それとも私の仮定が間違っていますか?

0 投票する
1 に答える
1054 参照

bluetooth - BlueZ どの層が Bluetooth 切断の理由を取得するか

スマートフォン(AG-Audio Gateway)と組み込みボード(HF-Handsfree)間のBluetooth接続にBlueZスタックを使用しています。

Bluez のどの層 (HCI、L2CAP、RFCOMM) で、Bluetooth 切断の理由が得られますか。したがって、次のタイプの切断を区別できます。

  1. スマートフォン SIMPLE DISCONNECT ですが、ペアリング リストに HF Embedded デバイスがまだ残っています。
  2. Bluetooth 接続中にスマートフォン FORGET HF デバイス。
  3. HF デバイスがスマートフォンの bluetooth 範囲外に出たため、切断されました
0 投票する
1 に答える
1223 参照

node.js - hcidump --raw 出力から情報を取得できません

nodeJs と Bluez を介して BLE スキャン モジュールを作成しようとしています。hcidump --rawコマンドの出力から MAC アドレス、マイナー、メジャー、および rssi の値を取得する方法を知りたいです。Radius Networks ibeacon_scan ファイルを見てみましたが、nodeJs でそれを行う方法がわかりません。誰でもそれで私を助けることができますか?どうもありがとう

0 投票する
1 に答える
753 参照

android - Android での Bluetooth 通信の流れ

Android の Bluetooth スタックから Bluetooth チップへの通信フローを理解しようとしています。Bluetooth for Android hereに関するドキュメントを見つけました。ただし、特に Bluetooth スタックからチップまでの通信については詳しく説明していません。ここに私の質問があります:

  1. BTチップとの通信に関わるシステムモジュールとその流れは?

  2. 上記のフローにおける HCI の役割は何ですか?

  3. HCI は Bluetooth チップへの実際の通信 (コマンドおよびデータ転送) を実行しますか? それとも、通信のロギング(HCISnoop ログ)のみを行いますか。

誰かが私のクエリに関する明確な説明やリンクを提供していただければ幸いです。

前もって感謝します。