問題タブ [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 - Android で BluetoothSocket.connet() を試行すると A2DP がドロップする
そのため、A2DP、HFP、AVRCP、および SPP を利用するハードウェア デバイスを使用しています。私が受けている問題は一部の電話だけにあるようですが、解決したいと思います。
Android (pair.connect) を介してハードウェア デバイスを接続している間、すべて正常に動作します。デフォルトの音楽プレーヤーに入ると、AVRCP コマンドが機能するだけでなく、正しくストリーミングされます。
ただし、私が取り組んでいるアプリでは、SPP を使用しています。BluetoothSocket.connet() メソッドを使用しようとすると、ハードウェアで A2DP と AVRCP (メディア接続) が失われます。Bluetooth チャットの例の標準の bluetoothSerialService クラスを使用しています。
...
私がテストしている動作しない電話には、Droid X (2.2/2.3)、HTC Desire 2.2、Droid1 2.2 が含まれます。また、Samsung Captivate 2.2 および LG Optimus One 2.2 で動作します。
android - Android to Bluetooth Device (WT-11) 通信・接続
これで、Bluegiga WT-11 Bluetooth モジュールとペアリングし、デバイスからの接続をサーバー ソケットでリッスンする Android アプリケーションができました。「よく知られている」 UUID との通信に SPP と RFCOMM を使用しています00001101-0000-1000-8000-00805F9B34FB
。listenUsingRfcommWithServiceRecord()
ペアリングは正常に機能していますが、サーバー ソケット ( then waiting onを使用して作成) での接続の受け入れがaccept()
確実に機能していません。時々動作しますが、時々一緒に動作しなくなったり、断続的に動作したりすることがあります.
最も紛らわしいのは、電話がデバイスから接続を取得しているように見え、LogCat に数行を吐き出し、接続を完全に無視しているように見えることです。デバイスは接続が失敗したと見なし、アプリケーションは で接続を取得しませんaccept()
。
これは、電話 (Galaxy S II) が接続を取得したが、それに対して何もしないときの LogCat です (現在、いくつかの電話でこれを試しました。他の電話からのログまたは成功した電話からのログが必要な場合はお知らせください)。繋がり):
@WBANこれを手伝ってもらえますか?かなり似たようなことをしたことがわかります。
どんな助けでも大歓迎です!
ありがとう!
c++ - Bluetoothソケット(RFCOMM、SPP)を介して1バイトのみを送信する方法またはBluetoothソケット(RFCOMM、SPP)をフラッシュする方法は?
RFCOMMとシリアルポートプロファイル(SPP)に基づくMS Bluetoothソケットを使用して、PCとBluetoothデバイス間の接続を設定しました。
連続してデータを受信しても問題ありません。ただし、1バイト(コマンドとして機能)を送信する場合、デバイスはそれを受信しません。
コードスニペットは次のとおりです(エラー処理は省略)。
::send
正常に戻りますが、デバイスのモードは変更されていません。したがって、明らかに、指定されたバイトは送信されておらず、送信バッファに残っています(これが私の仮定です)。1バイトのみを強制的に送信する方法、つまりバッファなしで送信する方法はありますか?
デバイス側の間違いは除外できます。Bluetoothリンクを手動で設定し(Windows通知バー/ Bluetooth /デバイスの追加)、Puttyを使用してシリアル接続を確立すると、受信と送信の両方が期待どおりに機能します。
OS:Windows 7 IDE:Visual Studio 2010
android - AndroidからRFCOMMBlueToothプロファイルのCTS/RTS状態にアクセスする
私は自分の携帯電話のBluetoothとRS232インターフェースを持ちRFCOMMプロファイルをサポートするBluetoothボードを使用してAndroidアプリケーションに取り組んでいます。
RFCOMM接続は正常に機能していますが、Android APIを介して、RFCOMMプロファイルの一部であり、BTボードにも公開されているRTSおよびCTS信号にアクセスする方法が見つかりません。
誰かがAndroidデバイスからRTS/CTSを読み書きする方法を教えてもらえますか?
同様の質問がここで尋ねられました: Android上のBluetooth制御信号(DTR、DSR、RTS、CTS) ですが、答えられませんでした。
android - RFCOMM_CreateConnection - すでに開かれている状態:2、RFC 状態:4、MCB 状態:5
RFCOMM を使用して Bluetooth 経由でデバイスに接続する Android アプリを作成しています。接続を確立するための基礎として BluetoothChat の例を使用すると、ほとんどの場合、すべてが完全に機能します。
ただし、ソケットが既に開いているというメッセージが原因で、再接続できない場合があります。
RFCOMM_CreateConnection - すでに開かれている状態:2、RFC 状態:4、MCB 状態:5
これは、デバイスに接続し、アプリを閉じて (onDestroy() を呼び出し)、再度開いて再度接続しようとすると、上記の結果になる傾向があります。
ConnectThread (ref.BluetoothChat の例) での接続には、このメソッドを使用します。
この問題を解決する唯一の方法は、Android フォンの Bluetooth をオフ/オンにすることです。
これにより、onDestroy() でソケットが閉じられていないと思われますが、前述の例に示すように、すべてのスレッドを閉じることを呼び出しています。
どんなアイデアでも大歓迎です。
java - PCのRFCOMMから文字列を受信、Androidから送信
電話(Android 2.3.3)から1つの文字列を取得しようとしており、PC(Windows 7)に送信され、RFCOMM基本接続を使用しています。
出力文字列の場合、次のようなものです
そして、それは基本的に機能します(ハイパーターミナルを使用してみました)。私がやりたいことは、PCで文字列「TEST」を受け取るだけですが、後でマイクロコントローラーを制御するJavaアプリケーションを使用することです。
ありがとう。
android - PC側でAndroidフォンに接続する
AndroidフォンのプログラムがBluetooth経由でPCに接続し、いくつかのコマンドを送信するプロジェクトに取り組んでいます。
今私の問題は、PC側でRFCOMMを使用してAndroid携帯に接続することです。コード、サンプル、チュートリアル、ライブラリは私を助けることができるので、それらを共有してください。また、Java や .Net ではなく、C や Delphi などのネイティブ言語を使用することをお勧めします。
前もって感謝します
android - Bluetooth RFCOMM接続:Windows7のcomポートからシリアルデータを読み取ります
AndroidBluetoothChatサンプルアプリケーションを使用しています。Windows7のAndroidデバイスからシリアルデータを読み取ろうとしています。
AndroidデバイスをラップトップのBluetoothアダプターとペアリングすることができました。サンプルアプリケーションのUUIDを、他のいくつかの議論に従って次のものに置き換えました。
Androidアプリケーションを実行すると、ラップトップに接続できます。私のAndroidデバイスの「ハードウェア」プロパティには、「Standards Serial over Bluetooth link(COM10)」という「デバイス機能」エントリがあります。CoolTermをCOM10に接続しようとすると、「エラー1168」が表示されます(エラーの追加の説明はありません)。
Bluetooth経由でWindowsのCOMポートにシリアルデータを送信するプロセスについて何か誤解していますか?
android - 安全でない RFCOMM ソケットを作成するには、ペアリングが必要です
ある Android デバイスを別のデバイスに接続するために、listenUsingInsecureRfcommWithServiceRecord 呼び出しと createInsecureRfcommSocketToServiceRecord 呼び出しを使用しています。
最初の設定では、Nexus One と Nexus S の両方で Android 2.3.6 を実行していました。この設定では、接続しても「ペアリング要求」ダイアログが表示されませんでした。
2 番目の設定では、Android 2.3.3 を実行している Samsung Galaxy S2 で同じ Nexus One を試しました。この設定では、両方のデバイスで「ペアリング要求」ダイアログが表示されました。両方のデバイスが安全でない接続をサポートするはずの API レベル 10 であるため、これは奇妙です。
他の誰かがこの奇妙な動作に遭遇しましたか? これが 2.3.3 の問題であること、または私がテストした特定のモデルの問題であることを誰かが確認できますか? 回避策はありますか?
必要に応じて、logcat から関連部分を投稿できます。
macos - Mac の IOBluetooth フレームワークでよりわかりやすいエラーを取得する方法
OS X で Apple が提供する IOBluetooth フレームワークを使用して、作成した Arduino ロボットと通信しています。私はそれを 1 つの問題だけで動作させることができました。不明な理由で RFCOMM チャネルが閉じるまでに約 10 秒間しか動作しません。Apple ドキュメントを検索しましたが、RFCOMM チャネルが閉じられた理由に関する何らかのエラー コードまたは説明を取得する方法が見つかりません。
RFCOMM チャネルが閉じられた理由を調べる方法はありますか?