問題タブ [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.
android - デバイスがペアリングされていても BluetoothServerSocket.accept() が返されない
BluetoothChat の例に基づいて Android Bluetooth アプリケーションを開発しています。私はBluetoothサーバーを起動し、安全でないrfcomm接続で私のアプリに接続するためにデバイス(電話ではない)をリッスンしています。
HTC Desire S、android 2.3.5 を使用しています。デバイスはペアリングされますが、「.accept()」メソッドで接続がブロックされるため、データを受信しません。それはただ待ち続けるだけです。
socket = mmServerSocket.accept();
//...そして待機中
- デバイスがペアリングされているのに、なぜまだ待機するのですか?
- リフレクションも試しましたが、まだ結果が得られないため、接続を確立するにはどうすればよいですか
- HTC の Bluetooth スタックに問題はありますか? おそらく別のAndroidフォンを使用して接続を確立した人はいますか?
android - アンドロイド ブルートゥース: RFCOMM + ブルートゥース ヘッドセット
私は、2 つのデバイス間の Bluetooth RFCOMM 接続を集中的に使用する Android アプリケーションを開発していますBluetoothAdapter
。
私が疑問に思っているのは:
ユーザーが Bluetooth ヘッドセットを使用して音楽を聴いているときに、そのような接続を使用することは可能ですか?
android - Android Bluetooth Socket Connect がハングする
sock.connect() を呼び出すと、無期限にハングするという問題があります。例外もタイムアウトもありません。
その理由は、別のアプリが既に Bluetooth デバイスを使用しているためです。接続を失敗させ、少なくとも例外または何かをスローして、デバイスが別のアプリで既に使用されていることを知らせようとしています。
これに近づくための他の提案はありますか?
ありがとう。
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 に直接統合しました。
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のものです。
linux - Debian:Bluetooth経由でログインコンソールを転送する
少し前に、Debianを実行する新しいシングルボードコンピュータを手に入れました。これは、最終的には学校でのプロジェクトの「心臓部」になります。
現在、有線ネットワークとsshを使用してオンボードディストリビューションにアクセスしています。これは、デスクトップ上にある限りは問題ありませんが、ロボットに組み込まれている場合は問題ありません。安価なUSB-BTアダプターを使用してBluetooth接続を確立することができましたが、今ではrfcommデバイスで立ち往生しており、続行する方法がわかりません。
私が最も望んでいるのは、Bluetooth接続によって提供される仮想シリアルポートを実際のシリアルポートと同じように動作させることです。minicom(または同様のもの)を使用してログインし、ボード上のすべてに完全にアクセスできるようにします。
Webを検索したときに見つけたのは、携帯電話や同様のトピックを使用してダイヤルアップネットワークを設定する方法についてのガイドだけでしたが、Bluetoothコンソールについては何も見つかりませんでした。たぶん私は間違ったキーワードを試しただけです。
これを行う方法についてのヒントをいただければ幸いです。
ありがとう、フィリップ
android - Bluetooth経由でAndroidデバイスから同じ値で5バイトを送信する方法
私はBluetoothチャットの例を使用して、Androidデバイスから別のデバイスにBluetooth経由でデータを転送しています。0、64、0、32、152の値で5バイトを送信する方法を知りたいです。
c++ - C++ での Bluetooth
RFCOMM 経由で別の Bluetooth デバイスと通信しようとしています。アプリケーションに C++ (VS2008) を使用したい。32feet ライブラリについては既に知っていましたが、C++ で機能するかどうかはわかりませんでした。この種のプロジェクトの良い出発点を知っている人はいますか? それとも、C++ で書かれた 32 フィートのサンプルですか? C++ を使用した Bluetooth 用のシンプルで使いやすい API が必要です。
android - Android - ペアリングせずに複数の Bluetooth デバイスに接続する
検出できないデバイスがたくさんありますが、それらの MAC アドレスはわかっています。現在、ConnectThread でこれを使用して複数のデバイスに接続できます。
問題は、2.3 より前のデバイスで安全でない RFCOMM をサポートしたいということです。次に、代わりにこれを実行できる別の回答でこれを見つけました:
これは、ペアリングを必要とせずに単一のデバイスに接続するのに完全に機能します.
私の質問は、両方の世界を最大限に活用し、InsecureBluetooth クラスでもリフレクションを使用するにはどうすればよいかということです。または、InsecureBluetooth クラス内で行う必要がありますか? InsecureBluetooth クラスの関連部分は次のとおりです。
c - LinuxソケットAPIを使用してRFCOMMBluetoothデバイスにすばやく再接続します
私は、UARTからBluetoothへのコンバーターであるBluetoothデバイスからのBluetoothストリームを維持しようとする非常に単純なBluetoothRFCOMMクライアントアプリケーションを持っています。私の望ましい動作は、Bluetooth送信機が再起動したときに(2秒未満で実行できる)、非常に迅速に接続に戻ることができることです。現在、SO_RCVTIMEOのおかげで、私は非常に迅速に切断しましたが、再接続しようとすると、数秒で...
...メッセージ。これは、プロセスを再開するかどうかには関係ありません。Bluetooth送信機を頻繁にシャットダウン(再プログラミング)したい場合、これは少し実用的ではないことを想像できます。この動作を修正するために変更できるソケットオプションやその他のBluetooth設定はありますか?