問題タブ [iobluetooth]

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 に答える
1772 参照

objective-c - OS XでデバイスのBluetoothアドレスを取得するにはどうすればよいですか?

私はIOBluetoothフレームワークを何十回も調べてきましたが、現在のデバイスのBluetoothデバイスアドレスを取得する方法を一生見つけることができません。IOBluetoothDeviceInquiryを使用して範囲内のデバイスをスキャンするアプリケーションを作成しましたが、これはスキャンを実行しているデバイスのアドレスを提供していないようです。

これはプログラムでどのように達成できますか?(システムプロファイラーを開かずに)

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

objective-c - IOBluetoothAddSCOAudioDevice で SCO オーディオ接続を開く

Mac OS X から HandsFree デバイスをエミュレートしようとしています。

  1. SDP サービスを Handsfree として正しく宣伝しています
  2. Androidフォンを「ハンズフリー」デバイスとして表示されるコンピューターにペアリングできます
  3. いくつかの AT コマンド (AT+BRST、CIND、CMER) を送信して、サービス レベルの接続を確立できます。
  4. 次に、オーディオ ドライバーをインストールして、デバイスとの間で送受信されるすべてのサウンドをルーティングします。

残念ながら、SCO チャネルは開かれていないようです。私のAndroid携帯は、それ自体のスピーカーからまだ音を発しています(つまり、ダイヤルパッドを押すと)。

Mac OS X のサウンド設定に移動すると、自分のデバイスが入力/出力デバイスとして表示されますが、サウンド レベルは変わりません。

これが私のコードです:

オーディオ ドライバーがインストールされ、システムによって報告されるのに、SCO 接続を開くことができない理由について何か考えはありますか?

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

objective-c - AppleのBluetoothAPIで使用されるNSDictionaryでアクセスされるトレースキー

AppleのBluetoothAPIは、[IOBluetoothDevice openL2CAPChannelSync:withPSM:withConfiguration:delegate:]にどの構成ディクショナリを提供する必要があるかを示していません。

私が提供すると思われるキー/値は私にはわかりません。これを克服するために、API呼び出しに空の辞書を送信したいのですが、舞台裏では、どのキーにアクセスするかを追跡します。

アクセスしたキーをNSLogするNSDictionaryのサブクラスを作成するにはどうすればよいですか?

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

android - Android Bluetooth ゲーム、バイト ストリームで int[] を転送する必要がある

状況は次のとおりです。私はアンドロイド用のポンのマルチプレイヤーバージョンを作成しています。パドルがボールに接続したら、他のプレーヤーにボールの着弾点 (x、y 座標) を送信して、他のプレーヤーの画面を更新して、ボールがどこから来ているかを示すようにしたいと考えています。私のパドルの位置。もう一方のデバイスがボールの軌道を計算し、最終的にこのプロセスを繰り返します。本質的に私が欲しいのは、このようなものです--

ここでの問題bluetoothConnection.write()は、java.io.OutputStream に依存しているため、byte[] の書き込みのみをサポートすることです。

それで、私の int[] を byte[] に変換する方法はありますか(そして後でまた元に戻します)?それが役立つ場合、私の int[] には常に正確に 5 つの int が含まれ、すべて常に正になります。デバイスの画面サイズに依存するため、int の最大値が何であるかはわかりません。

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

android - Bluetoothリモートデバイスからデータを受信するためにAndroidでスレッドを使用する必要があるのはなぜですか?

私は最近、自分の作業プロジェクトについていくつかの調査を行っています。アプリのBluetoothカードリーダーからカードスワイプデータを読み取ろうとしています。

そのデータを取得するためにスレッドを使用する必要があるので、このプロセスがインターフェイスアクティビティを妨げないように使用する必要がある理由を知っていますが、ここでの懸念は、データのフェッチ時にインターフェイスアクティビティを処理しないことです。ただし、全二重接続を実現するためにBluetoothServerSocketが必要な場合は、スレッド化が理にかなっています。だから私の質問は基本的に、リモートデバイスからデータを受信して​​いるだけの場合、スレッドの下にBluetoothServerSockerが本当に必要ですか?

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

macos - Mac の IOBluetooth フレームワークでよりわかりやすいエラーを取得する方法

OS X で Apple が提供する IOBluetooth フレームワークを使用して、作成した Arduino ロボットと通信しています。私はそれを 1 つの問題だけで動作させることができました。不明な理由で RFCOMM チャネルが閉じるまでに約 10 秒間しか動作しません。Apple ドキュメントを検索しましたが、RFCOMM チャネルが閉じられた理由に関する何らかのエラー コードまたは説明を取得する方法が見つかりません。

RFCOMM チャネルが閉じられた理由を調べる方法はありますか?

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

java - 非同期リスナーにブロッキングをさせる方法は?

テキストベースのATコマンドを使用して単純なBluetooth周辺機器と通信するblackberryアプリを作成しています-モデムに似ています...イベントリスナーを使用してblackberryでのみ動作させることができます。したがって、通信は非同期になります。

ただし、これは単純なデバイスであり、同時アクセスを制御する必要があるため、ブロッキング コールのみを使用したいと考えています。

待機/通知を使用して通信をブロッキングに変換しようとする次のコードがあります。しかし、実行すると、getStringValue が完了するまで notifyResults は実行されません。つまり、遅延に関係なく常にタイムアウトします。

btCon オブジェクトは、すでに別のスレッドで実行されています。

スレッド化で明らかな何かが欠けていると確信しています。誰か親切に指摘してくれませんか?

ありがとう

また、notifyAll が IllegalMonitorStateException で爆発することも追加する必要があります。

以前、単純なブール値フラグと待機ループで試しました。しかし、同じ問題が存在しました。notifyResult は、getStringValue が完了するまで実行されません。

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

iphone - MacでのCoreBluetoothの問題

現在のMacbookProを6か月以内に新しく購入しましたが、CBCentralManagerのインスタンスCBCentralManagerStateUnsupported[centralManager state];

私のMacはBluetoothソフトウェアバージョン4.0.3f12を使用していますが、Bluetooth LEをサポートしていることを示すものは何も見つかりません。また、MacがLEをサポートしていることを示すAppleの関連ドキュメントも見つかりません。このドキュメントはどこにありますか。Macが実際にBluetoothLEデバイスではない場合、MacとiOS間のBluetooth通信についてどのような提案がありますか。BluetoothLEハードウェアを搭載したiPhone4Sを持っています。

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

android - Androidデバイスを複数のBluetoothシリアル組み込みピアに接続する

私はこの設定の解決策を見つけようとしています:

単一のAndroidデバイスがあり、複数のシリアル組み込みデバイスに接続したい...

これが、Bluetoothソケットを取得するための「通常の」方法を使用して、すべてのデバイスで機能するわけではありません。機能している間は、複数のデバイスに接続し、複数のデバイスとの間でデータを送受信できます。

そして、これが問題です。「通常」の方法が機能しない電話では、「回避策」の方法が単一の接続のソリューションを提供します。私は広範囲にわたって検索しましたが zipを思いつきました。

回避策の問題は最後のリンクに記載されています。両方の接続が同じポートを使用します。これにより、ブロックが発生し、両方の組み込みデバイスが実際にデータを送信できますが、Androidでは処理されません。組み込みデバイスは、Androidから送信されたデータを受信できます。

誰かが以前にこれを処理しましたか?

ここにもう少しリファレンスがあります、

アップデート:

これに続い(以前に投稿した)、mPortにチャンスを与え、おそらく他のポートインデックスと、他のデバイスがそれらを管理する方法を確認したいと思いました。BluetoothSocketオブジェクトのフィールドは同じであるのに異なることがわかりました。どちらの場合もクラスFQN:

HTC Vivid 2.3.4から派生し、「回避策」のテクニックを使用します。

Socketクラスタイプは次のとおりです。[ android.bluetooth.BluetoothSocket ]

LG-P925 2.2.2から派生し、「通常の」技術を使用します。

Socketクラスタイプは次のとおりです。[ android.bluetooth.BluetoothSocket ]

誰もがいくつかの洞察を持っています...

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

objective-c - Mac から Bluetooth デバイスへのファイル転送、簡単な例?

ドロップ フォルダーから画像を取得し、新しいファイルを Bluetooth 経由で所定のデバイスに送信する小さな Mac アプリをまとめようとしながら、Bluetooth プログラミング ガイドをグーグルで調べて読むのに 2 日間を費やしました。有効な例はあまりないようです。

Bluetooth サービス ブラウザを起動し、デバイスとその OBEX サービスを選択して、サービスを確立し、接続を確立できるところまで来ましたが、それ以上何も起こりません。うまくいく簡単な例を教えてください。

AppDelegate のソース コードが同封されています。読んでくれてありがとう!