問題タブ [cbperipheral]
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 - CBCharacteristic の isNotifying が YES の場合、peripheral:didUpdateValueForCharacteristic:error: はエラーを渡しますか?
特性のプロパティが に設定されているときにCBPeripheralDelegate
がperipheral:didUpdateValueForCharacteristic:error:
エラーを返す場合はありますか?isNotifying
YES
これは明らかに、明示的な読み取り要求が送信された場合のコンテキストでは意味がありますが、ペリフェラルの特性がセントラルに通知し、その通知がセントラルによって正常に受信された場合、エラーが発生する可能性はないようです。
メソッドのドキュメントには、これに関する詳細は追加されていません。
bluetooth-lowenergy - 周辺機器から受信したエラー:didUpdateNotificationStateForCharacteristic
2 番目の BLE セントラル アプリと正常に接続する Bluetooth Low Energy ペリフェラル アプリを開発しました。ただし、周辺機器が提供するサービスの特徴の 1 つについて、セントラル アプリに通知をサブスクライブさせることができません。中央アプリには、次のものがあります。
残念ながら、これは失敗し、デリゲート メソッドperipheral:didUpdateNotificationStateForCharacteristicでエラーが受信されます(エラー タイプは「不明」です)。上記のコード (aChar) で特徴的なオブジェクトを出力すると、次のようになります。
通知 = NO であることに注意してください。特性が通知できるようにペリフェラルを設定するにはどうすればよいですか?
ios - iOS が BLE サービスと特性をキャッシュするための条件は何ですか?
同じデバイスを切断してから再接続すると、iosがBLE周辺機器のサービスと特性をキャッシュしていることを読みました(もちろん、これらのサービスと特性が発見された後)。したがって、再検出の長いプロセスは必要なく、再接続後にこれらの特性に直接書き込みまたは読み取りを行うことができます。
このスレッド: BLE 周辺サービスをより速く検出する方法はありますか? 接続が暗号化されている場合、サービスと特性がキャッシュされると言われています。また、WWDC 2013 セッション 702 では、サービスと特性がキャッシュされていると表示されていますが、条件が指定されていません。
iOS が BLE サービスと特性をキャッシュするための条件は何ですか? 暗号化された接続だけが必要であることを誰かが確認できますか?
ios - iOS 8.2 [周辺のdiscoverServices:] diddiscoverservicesを呼び出さない
iPhone を iOS 8.2 に更新しましたが、サービスを検出するために呼び出したときに機能するように呼び出していないため、プロジェクトの 1 つが機能cbperipheral
していませんdiddiscoverservices
。
Bluetoothに接続していますが、接続すると:
私は何も受け取らない:
iOS 8.1 で問題なく動作します。
iOS のバグなのか、プロジェクト内の何かを変更して正常に動作させる必要があるのか、誰にもわかりCoreBluetooth
ませんか?
bluetooth-lowenergy - CoreBluetooth - セントラルからペリフェラルへのデータの書き込み
Apple が提供する CoreBluetooth 用の Sample アプリを参照したところ、Peripheral から Central に Data を送信できたので、Central から Peripheral に Data を書き込む必要があります。グーグルの後、私はそれが使用できることを発見しました[_discoveredPeripheral writeValue:aData forCharacteristic:charc type:CBCharacteristicWriteWithResponse];
以下は、周辺機器にメッセージを送信するためのセントラルの実装です。
このメソッドを呼び出すと、データを書き込むことができません。代わりに、以下のようにコンソールに CoreBluetooth 警告が表示されます。
誰かが周辺機器のオブジェクトを取得する最良の方法と、セントラルから周辺機器へのデータの送信を開始する方法を教えてくれれば幸いです。
EDIT目的の C で UUID から特性を取得する方法に 示されている方法を試しましたか?
しかし、この場合、サービスをループしようとするたびにサービスをループすることができず、services=nil が返されます。
bluetooth - 広告の iPhone ローカル名を変更する
CoreBluetooth フレームワークを使用して、ペリフェラル モードでアドバタイズしている iPhone のペリフェラル名を変更することは可能ですか?
例: 周辺機器の iPhone がカスタム名をブロードキャストし、中央モードのスキャン時に別の iPhone がその名前を読み取れるようにしたいと考えています。
ペリフェラル 広告 iPhone に GAP 名を設定することはできますか?