問題タブ [cbperipheralmanager]
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.
ios - 周辺機器が他の機器に接続されていないのはなぜですか?
私のiPad mini(iOS7.1.2)には、CoreBluetoothを使用して周辺機器として機能するアプリがあります。その状態 ( CBPeripheralManager::state
) はPoweredOn
であり、サービスの追加および広告の開始時に他のエラーはありません。ただし、周辺機器周辺の中央デバイスは接続できません。
もちろん、中央の装置に問題があるのではないかと考えていました。それらの中央デバイスは、「その周辺デバイス」以外の他の周辺デバイスと接続できるため、そうではありませんでした。周辺機器と接続しようとしたら、- (void)centralManager:(CBCentralManager *)central didDisconnectPeripheral:(CBPeripheral *)peripheral error:(NSError *)error
呼ばれました。(エラー コード 7)。
周辺機器にエラーは表示されず、周辺機器を再起動するまでセントラルは接続できません。もっとどうすればいいですか?デバイスを iOS8 にアップグレードする必要がありますか?
ps 中心となるデバイスは、iPhon4s から iPhone6+ まで、iOS7.0.6 から iOS8.2 までさまざまです。中心装置、それ以外の周辺装置は問題ありません。
ps 一度だけ発生したのですが、変な状態だったところ、周辺の状態が急に に変化してResetting
、PoweredOn
また。その後、接続に問題はありません。Resetting
状態が突然 に変更された理由と、状態がどのように変更されたのかはわかりません 。
+追加 @ 04081228 (GMT+0000)
周辺機器に接続しようとしている中央機器から怪しげなログを見つけました。以下はログの一部です。
4 月 8 日 21:20:57 BTServer[61]: ATT がデバイス "9C3C82F8-50F5-FE2C-EE41-D8B8B85D7DA3" で GATT プライマリ > サービスを見つけられませんでした
4 月 8 日 21:20:57 BTServer[61]: デバイスとしての ATT 中止コマンド >"9C3C82F8-50F5-FE2C-EE41-D8B8B85D7DA3" は接続されなくなりました
4 月 8 日 21:21:08 BTServer[61]: ATT がデバイス "9C3C82F8-50F5-FE2C-EE41-D8B8B85D7DA3" で GATT プライマリ > サービスを見つけられませんでした
4 月 8 日 21:21:08 BTServer[61]: デバイスとしての ATT 中止コマンド >"9C3C82F8-50F5-FE2C-EE41-D8B8B85D7DA3" は接続されなくなりました
これは iOS の既知の問題であるというgithub からのコメントを見つけました。しかし、これに関する他の情報は見つかりませんでした。
+追加 @ 04081304 (GMT+0000)
こんなログも発見。これが何を意味するのかもわかりません。
4 月 8 日 22:02:03 BTServer[61]: ATT は結果 BM3 STATUS 14 で MTU を 158 に設定できませんでした
4 月 8 日 22:02:13 BTServer[61]: ATT は結果 BM3 STATUS 14 で MTU を 158 に設定できませんでした
ios - 周辺機器がバックグラウンドでしばらくしてから切断されました
plist でバックグラウンド フェッチ モードを使用しています。周辺機器をデバイスに接続すると、バックグラウンドでしばらく動作しますが、10 ~ 15 分後に自動的に切断されます。周辺機器を常に接続したい。アプリケーションがバックグラウンドからウェイクアップしたときに呼び出されるメソッド..
ios - ペリフェラル:didUpdateValueForCharacteristic: 呼び出しが非常に高速であるため、UITextView がブロックされる
からのデータを追加して、UITextView にデータを表示しようとしていますperipheral:didUpdateValueForCharacteristic:error:
。この場合peripheral:didUpdateValueForCharacteristic:error:
、 が非常に頻繁に呼び出されるため、UITextView
( self.responseTextView
) はデータを出力できないか、UI をブロックします。
ios - CBPeripheralManagerDelegate メソッドが呼び出されないのはなぜですか?
クラスを var bluetoothManager = CBPeripheralManager(delegate: self, queue: nil, options: nil) として初期化したのに、CBPeripheralManagerDelegate メソッドが呼び出さないのはなぜですか?
バンドルに BlueTooth Framework を既に追加しています。
swift - Swift で CoreBluetooth の CBPeripheralManager をリセットするには?
CoreBluetooth を使用して迅速にアプリを作成しています。アプリが最初に起動したときと同じ状態に CBPeripheralManager をリセットする方法を探しています。
ios - iPhone がロックされているときに CBCentralManager が didDiscoverPeripheral メソッドを呼び出さない
特定の周辺機器をスキャンするアプリに取り組んでいます。周辺機器は、少量のデータを送信する必要があることがわかりました。
アプリはフォアグラウンドでもバックグラウンドでも動作します。このコードもplistに追加しました
UIBackgroundModes bluetooth-central iPhone がロックされ、周辺機器がアドバタイズを開始すると、呼び出されません
いくつかの調査を行いましたが、答えが見つかりませんでした。
どんな助けでも大歓迎です。
ありがとう
ios - CBPeripheral デバイスにコマンドを書き込む方法は?
2 つのモジュールを持つ BLE デバイスがあります
1-Blue Tooth (BlueCreation BC127A) 2-MicroController が接続されており、LOGIN RESET VERSION などのコマンド セットがあります。
uCと通信するBLEにコマンドを書きたいです。
私の仕様/ドキュメントに従って、パケット構造は次のようになります。
BLE で正確なコマンドを書き込むと、「値の長さが無効です」というエラーが表示されます。
ドキュメントによると、そのパケット長は 17 ですが、sizeof(byte)/sizeof(char); を取得すると間違っていると思います。4 を取得します。両方の値を使用しましたが、肯定的な応答を得ることができませんでした。
コマンドを正常に記述してこの問題を克服するには、助けが必要です。これは、BlueTooth を統合した最初のプロジェクトです。
私のコード 次のパケット構造 私のコマンド LOGIN は次のようになります。
ありがとう。
ios - iOS BluetoothperipheralManagerDidUpdateState は呼び出されませんでした
PC で実行しているアプリがデータを取得できるように、iPhone を心拍数モニターとして機能させ、標準の心拍数サービスを使用して情報を送信するように設定しようとしています。私はiOSの初心者ですが、以前にAndroidとWindowsでBluetoothを実行していました。ここの情報に従っていて、最初のハードルに落ちています...
ドキュメントで指定されているように、最初に呼び出します
また、peripheralManagerDidUpdateState コールバックも実装していますが、ここに問題があります。このコールバックは決して実行されません! 私は数分間待っていましたが、何も起こりませんでした。一日中検索してもオンラインで何も見つからなかったため、非常に簡単な手順を見逃していると思います。ここでコードと物理的にiPhoneで何かを行う際の明示的な手順を説明できる人はいますか? このコールバックを実行する前に接続する必要がありますか? 何かとペアリングする必要がありますか?
これが完全なコードです。それはすべて正常に実行され、エラーはまったく発生していません。
ios - iOS: Bluetooth キーボードとして機能するように iOS デバイスをセットアップする方法
私は、iOS デバイスがキーボードであることを世界に伝えたいと思っています。人々がそれとペアリングすると、キーストロークを送信できるようになります。
フォーラムの記事によると、1800 (デバイス情報)、180f (バッテリー)、1812 (入力デバイス)、180a (メーカー) の 4 つのサービスを提供する必要があるようです。
これを行ったところ、BLE ユーティリティは 4 つのサービスを報告しましたが、1812 の兆候はありません。
iOS 周辺機器を OS/X とペアリングしようとすると、OS/X はあきらめ、iOS アプリのさまざまな周辺機器デリゲート メソッドはほとんど呼び出されません (ブレークポイントを入れました)。たとえば、私が各サービスに追加した特性のうち、どれも読み取られたり、購読されたりしていません。
BLE で入力デバイスをアドバタイズする適切な方法を説明できる人はいますか?