다음을 통해 공유


BluetoothSignalStrengthFilter 클래스

정의

수신된 RSSI(신호 강도 지표) 기반 필터링을 구성하는 데 사용되는 매개 변수를 그룹화합니다.

public ref class BluetoothSignalStrengthFilter sealed
/// [Windows.Foundation.Metadata.Activatable(65536, Windows.Foundation.UniversalApiContract)]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class BluetoothSignalStrengthFilter final
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
class BluetoothSignalStrengthFilter final
[Windows.Foundation.Metadata.Activatable(65536, typeof(Windows.Foundation.UniversalApiContract))]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class BluetoothSignalStrengthFilter
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
public sealed class BluetoothSignalStrengthFilter
function BluetoothSignalStrengthFilter()
Public NotInheritable Class BluetoothSignalStrengthFilter
상속
Object Platform::Object IInspectable BluetoothSignalStrengthFilter
특성

Windows 요구 사항

디바이스 패밀리
Windows 10 (10.0.10240.0 - for Xbox, see UWP features that aren't yet supported on Xbox에서 도입되었습니다.)
API contract
Windows.Foundation.UniversalApiContract (v1.0에서 도입되었습니다.)
앱 기능
bluetooth

설명

BluetoothSignalStrengthFilter 클래스는 해당 속성에 대해 제한된 범위만 허용합니다. 그러나 앱에서 이 클래스를 사용하는 방법에 따라 추가 제한이 적용될 수 있습니다. 예를 들어 RSSI 값의 유효한 범위는 Bluetooth LE와 Bluetooth BR/EDR 디바이스 간에 다릅니다.

이러한 속성의 유효한 범위는 다음과 같습니다.

  • InRangeThresholdInDBm - 범위에서 고려할 RSSI 이벤트의 최소 임계값입니다. 유효한 범위는 -128~127입니다.
  • OutOfRangeThresholdInDBm - RSSI 이벤트의 최소 임계값이 범위를 벗어난 것으로 간주됩니다. 유효한 범위는 -128~127입니다.
  • OutOfRangeTimeout - RSSI 이벤트가 범위를 벗어난 것으로 간주될 시간 제한입니다. 유효한 범위가 1초보다 크거나 같습니다.
  • SamplingInterval - RSSI 이벤트가 샘플링되는 간격입니다. 유효한 범위가 0보다 크거나 같습니다. 25.5초보다 크거나 같은 샘플링 간격은 샘플링을 완전히 사용하지 않도록 설정합니다. 이 특수한 경우 필터링은 트리거 기반입니다. 모든 디바이스에 대해 RSSI 값을 필터링할 수 있는 두 가지 상태가 있습니다.
  • 범위 내입니다.
  • 범위를 벗어났습니다. 범위에서 간주되는 경우 모든 RSSI 이벤트가 전파됩니다. 여기에는 OutOfRangeTimeout이 만료되지 않은 한 RSSI 값이 OutOfRangeThresholdInDBm보다 낮거나 같은 이벤트가 포함됩니다.

이 클래스는 BluetoothLEAdvertisementWatcher 클래스에서 사용할 때 속성에 대한 추가 제한 사항이 있습니다. BluetoothLEAdvertisementWatcher가 BluetoothLEAdvertisementWatcher의 유효한 범위를 벗어난 매개 변수로 시작되면 예외 throw됩니다.

일반적으로 이 API에는 세 가지 기본 사용 사례가 있습니다.

InRangeThresholdInDBm OutOfRangeThresholdInDBm OutOfRangeTimeout SamplingInterval 동작
모두 <= InRangeThresholdInDBm >= 1 0 "범위 내"로 간주되는 한 모든 RSSI 이벤트가 도착할 때 수신됩니다. OutOfRangeTimeout이 이벤트 없이 만료되거나 OutOfRangeThresholdInDBm보다 큰 RSSI 값이 있는 이벤트 없이 만료되는 경우 이벤트는 "범위를 벗어난" 것으로 간주됩니다. OutOfRangeTimeout이 만료될 때 추가 이벤트가 생성되지 않습니다.
모두 <= InRangeThresholdInDBm >= 1 (0, 25.5) "범위 내"로 간주되는 한 SamplingInterval 에서 정의한 일정한 간격으로 RSSI 이벤트를 받습니다. RSSI 값은 SamplingInterval 내에서 수신된 이벤트 값의 평균입니다. SamplingInterval 내에서 이벤트가 수신되지 않으면 이벤트가 전파되지 않습니다. OutOfRangeTimeout이 이벤트 없이 만료되거나 RSSI 값이 OutOfRangeThresholdInDBm보다 큰 이벤트가 없는 경우 이벤트는 "범위를 벗어난" 것으로 간주되고 마지막으로 받은 RSSI 값이 있는 이벤트가 생성됩니다. 마지막 RSSI 값이 OutOfRangeThresholdInDBm보다 높은 경우 -127 dBm으로 설정됩니다.
모두 <= InRangeThresholdInDBm >= 1 >=25.5(사용 안 함) RSSI 이벤트가 "범위 외"에서 "범위 내"로 전환될 때 RSSI 이벤트를 받습니다. OutOfRangeTimeout이 이벤트 없이 만료되거나 RSSI 값이 OutOfRangeThresholdInDBm보다 큰 이벤트가 없는 경우 이벤트는 "범위를 벗어난" 것으로 간주되고 마지막으로 받은 RSSI 값이 있는 이벤트가 생성됩니다. 마지막 RSSI 값이 OutOfRangeThresholdInDBm보다 높은 경우 OutOfRangeThresholdInDBm으로 설정됩니다.

생성자

BluetoothSignalStrengthFilter()

BluetoothSignalStrengthFilter 개체를 만듭니다.

속성

InRangeThresholdInDBm

이전 이벤트가 범위를 벗어난 것으로 간주되는 경우 RSSI 이벤트가 전파되거나 범위에서 고려될 dBm의 최소 수신 RSSI(신호 강도 지표) 값입니다.

OutOfRangeThresholdInDBm

RSSI 이벤트가 범위를 벗어난 것으로 간주되는 dBm의 최소 수신된 RSSI(신호 강도 지표) 값입니다.

OutOfRangeTimeout

수신된 RSSI(신호 강도 지표) 이벤트에 대한 시간 제한은 범위를 벗어난 것으로 간주됩니다.

SamplingInterval

수신된 RSSI(신호 강도 지표) 이벤트가 샘플링되는 간격입니다.

적용 대상

추가 정보