8
私はCorelBluetoothフレームワークを使用してアプリケーションを開発中ですが、RSSI値を取得するためにBLEデバイスに接続してください。corebluetooth RSSIエラーを読み込んでいます:操作がキャンセルされました
私は、periodlyタイマーコードをRSSIを読み取るための機能を設定するには、
NSTimer *timer;
timer = [NSTimer scheduledTimerWithTimeInterval:1.2f target:self selector:@selector(detectRSSI) userInfo:nil repeats:YES];
を下回っているとdetectRSSIコードが
- (void)detectRSSI
{
[self.peripheral readRSSI];
}
を下回っているので、問題は、関数作品、
です私は時間間隔を1.2秒以下に設定すると、
p eripheralDidUpdateRSSIはランダムにこのようなエラーメッセージを報告します。
The operation was cancelled.
とレート以上1.2secであれば、それは起こったのではないでしょう。
誰でもRSSI値をより頻繁に読み取るように考えていますか(0.5秒以下)?
おそらく代わりに試みてください:peripheral.RSSI –
私は[peripheral RSSI]またはperipheral.RSSIだけを呼び出すと、RSSIは変化しません。値は[peripheral readRSSI]を呼び出した後に更新されます。最後に、読み取り頻度の限界がファームウェアによって定義されているという答えが見つかりました。 – momoyo
BLEを使用している場合は、 'didRangeBeacons:'を使用します。デバイスは1秒間に何回もスキャンするだけです。 – random