問題タブ [rfcomm]

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 投票する
2 に答える
5246 参照

android - デバイスがペアリングされていても BluetoothServerSocket.accept() が返されない

BluetoothChat の例に基づいて Android Bluetooth アプリケーションを開発しています。私はBluetoothサーバーを起動し、安全でないrfcomm接続で私のアプリに接続するためにデバイス(電話ではない)をリッスンしています。

HTC Desire S、android 2.3.5 を使用しています。デバイスはペアリングされますが、「.accept()」メソッドで接続がブロックされるため、データを受信しません。それはただ待ち続けるだけです。

socket = mmServerSocket.accept(); //...そして待機中

  • デバイスがペアリングされているのに、なぜまだ待機するのですか?
  • リフレクションも試しましたが、まだ結果が得られないため、接続を確立するにはどうすればよいですか
  • HTC の Bluetooth スタックに問題はありますか? おそらく別のAndroidフォンを使用して接続を確立した人はいますか?
0 投票する
1 に答える
1354 参照

android - アンドロイド ブルートゥース: RFCOMM + ブルートゥース ヘッドセット

私は、2 つのデバイス間の Bluetooth RFCOMM 接続を集中的に使用する Android アプリケーションを開発していますBluetoothAdapter

私が疑問に思っているのは:

ユーザーが Bluetooth ヘッドセットを使用して音楽を聴いているときに、そのような接続を使用することは可能ですか?

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

android - Android Bluetooth Socket Connect がハングする

sock.connect() を呼び出すと、無期限にハングするという問題があります。例外もタイムアウトもありません。

その理由は、別のアプリが既に Bluetooth デバイスを使用しているためです。接続を失敗させ、少なくとも例外または何かをスローして、デバイスが別のアプリで既に使用されていることを知らせようとしています。

これに近づくための他の提案はありますか?

ありがとう。

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

android - RFID は BluetoothSocket でシリアル接続を取得します

RFID リーダー デバイスに接続しようとしています。BluetoothSocket を作成し、以下のように connect を呼び出すことで接続できます (多くの詳細は省略されています)。

これは期待どおりに機能し、デバイスとの接続を確立できます。

私の問題は、デバイス API がシリアル ポートで動作するように設計されていることです。API を使用するには、次のような文字列を渡す必要があります。

Android は、この方法でシリアル ポートを世界に開放しているようには見えません。Linux では、次のような文字列で接続できると期待しています。

ハンドセットの /dev ディレクトリを調べても、何も表示されません。さらに、接続を確立しても /dev のエントリは変更されません。これは、Bluetooth デバイスに接続するときに Android が /dev にシリアル デバイスを作成しないと私に信じさせます。

BluetoothSocket がデバイスへの接続に使用している com ポートにアクセスするにはどうすればよいですか? Android に com1 や /dev/ttyS0 のような仮想デバイスはありますか?

クラス RfcommSocket を使用していた古いバージョンの API には、getPort() および getFileDescriptor() メソッドがあり、これが役立つ可能性があります。現在の bluetooth ソケットは、これらの詳細を隠しているようです。

前もって感謝します!

編集: Android は単にシリアル ストリーム用の仮想デバイスを作成しないことが判明しました。代わりに、クライアント コードを bluetoothsocket に直接統合しました。

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

python - Bluetooth RFCOMMはコンピューター上で動作していますが、別のコンピューターで仮想COMポートを使用することを余儀なくされています

AndroidにBluetoothクライアントがあり、RFCOMMを使用して、UUID00001101-0000-1000-8000-00805F9B34FBを使用してコンピューターに接続する必要があります。

PyBluezライブラリとPython2.6が使用されます。PyBluezドキュメントの次のコードを使用しました

Windows7では完全に正常に動作します。

しかし、Windows XP上の別のコンピュータとの反応はありません。つまり、コードは「RFCOMMチャネルでの接続を待機しています」という行に留まります。ただし、Bluetoothクライアントから接続されていると警告されます。

このWindowsXPコンピュータのBluetooth構成により、Bluetoothとのシリアル通信用にCOMポートを設定できます。この構成済みのCOMポートでリッスンすると、Bluetoothクライアントからのデータを確認できます。

私はどのWindowsコンピューターでもコードを動作させることを好みますが、これらのコンピューターで仮想COMポートを構成したくありません。したがって、上記のプログラムはWindowsXPコンピュータでも動作するようにしたいと思います。

何が恋しいですか?仮想シリアルポートでデータを再生する機能を無効にしても、WindowsXPコンピュータがBluetoothデータをプログラムに転送しないかのようです。私が使用しているUUIDはよく知られているようですが、プログラムを別の特定のプラットフォームと互換性を持たせるには、これを使用する必要があります。

Windows7コンピューターのBluetoothスタックはAtherosCommunicationsのものであり、WindowsXPコンピューターのBluetoothスタックはWidcommのものです。

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

linux - Debian:Bluetooth経由でログインコンソールを転送する

少し前に、Debianを実行する新しいシングルボードコンピュータを手に入れました。これは、最終的には学校でのプロジェクトの「心臓部」になります。

現在、有線ネットワークとsshを使用してオンボードディストリビューションにアクセスしています。これは、デスクトップ上にある限りは問題ありませんが、ロボットに組み込まれている場合は問題ありません。安価なUSB-BTアダプターを使用してBluetooth接続を確立することができましたが、今ではrfcommデバイスで立ち往生しており、続行する方法がわかりません。

私が最も望んでいるのは、Bluetooth接続によって提供される仮想シリアルポートを実際のシリアルポートと同じように動作させることです。minicom(または同様のもの)を使用してログインし、ボード上のすべてに完全にアクセスできるようにします。

Webを検索したときに見つけたのは、携帯電話や同様のトピックを使用してダイヤルアップネットワークを設定する方法についてのガイドだけでしたが、Bluetoothコンソールについては何も見つかりませんでした。たぶん私は間違ったキーワードを試しただけです。

これを行う方法についてのヒントをいただければ幸いです。

ありがとう、フィリップ

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

android - Bluetooth経由でAndroidデバイスから同じ値で5バイトを送信する方法

私はBluetoothチャットの例を使用して、Androidデバイスから別のデバイスにBluetooth経由でデータを転送しています。0、64、0、32、152の値で5バイトを送信する方法を知りたいです。

0 投票する
3 に答える
33834 参照

c++ - C++ での Bluetooth

RFCOMM 経由で別の Bluetooth デバイスと通信しようとしています。アプリケーションに C++ (VS2008) を使用したい。32feet ライブラリについては既に知っていましたが、C++ で機能するかどうかはわかりませんでした。この種のプロジェクトの良い出発点を知っている人はいますか? それとも、C++ で書かれた 32 フィートのサンプルですか? C++ を使用した Bluetooth 用のシンプルで使いやすい API が必要です。

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

android - Android - ペアリングせずに複数の Bluetooth デバイスに接続する

検出できないデバイスがたくさんありますが、それらの MAC アドレスはわかっています。現在、ConnectThread でこれを使用して複数のデバイスに接続できます。

問題は、2.3 より前のデバイスで安全でない RFCOMM をサポートしたいということです。次に、代わりにこれを実行できる別の回答でこれを見つけました:

これは、ペアリングを必要とせずに単一のデバイスに接続するのに完全に機能します.

私の質問は、両方の世界を最大限に活用し、InsecureBluetooth クラスでもリフレクションを使用するにはどうすればよいかということです。または、InsecureBluetooth クラス内で行う必要がありますか? InsecureBluetooth クラスの関連部分は次のとおりです。

0 投票する
0 に答える
2301 参照

c - LinuxソケットAPIを使用してRFCOMMBluetoothデバイスにすばやく再接続します

私は、UARTからBluetoothへのコンバーターであるBluetoothデバイスからのBluetoothストリームを維持しようとする非常に単純なBluetoothRFCOMMクライアントアプリケーションを持っています。私の望ましい動作は、Bluetooth送信機が再起動したときに(2秒未満で実行できる)、非常に迅速に接続に戻ることができることです。現在、SO_RCVTIMEOのおかげで、私は非常に迅速に切断しましたが、再接続しようとすると、数秒で...

...メッセージ。これは、プロセスを再開するかどうかには関係ありません。Bluetooth送信機を頻繁にシャットダウン(再プログラミング)したい場合、これは少し実用的ではないことを想像できます。この動作を修正するために変更できるソケットオプションやその他のBluetooth設定はありますか?