5

特定の近距離 (または近接) 内のデバイスのみがビーコンを識別して接続できるように、ビーコンの範囲を制限することは可能ですか? たとえば、0.5 メートル ゾーン外のデバイスは、ビーコンを認識したり接続したりできないとします。iOS デバイスをビーコンとして使用しています。Apple のCoreLocationAPI には、CLBeaconRegionクラスにperipheralDataWithMeasuredPowerというメソッドがあり、次のように記述されています。

peripheralDataWithMeasuredPower: 現在のデバイスをビーコンとしてアドバタイズするために使用できるデータを取得します。

(NSMutableDictionary *)peripheralDataWithMeasuredPower:(NSNumber *)measuredPower

パラメーター:

measuredPower : デバイスの受信信号強度インジケーター (RSSI) 値 (デシベル単位で測定)。この値は、1 メートル離れた場所から測定されたビーコンの強度を表し、測距中に使用されます。nilデバイスのデフォルト値を使用するように指定します。

これはビーコンの範囲を制限するために使用できますか? はいの場合、パラメーターに設定する値を決定する方法を理解できませんmeasurePowerか? 彼らは何を言おうとしているの...value represents the measured strength of the beacon from one meter away..ですか?

これが非常に基本的な質問である場合はご容赦ください。私は最近 iOS 開発を始めました。あなたの助けに感謝します。ありがとう。

4

4 に答える 4

3

私が調査したほとんどの BLE チップでは、通常、アドバタイズ範囲を制限するために使用できる送信電力レベルの設定が少なくとも 4 つあります。

Texas Instruments CC2541 (SensorTag 開発デバイスで使用) および CC2540 には、電力レベル オプションとして +4、0、-6、および -23 があります。ただし、SensorTag でそれを変更するには、ファームウェアの再コンパイルが必要です。そのままでは、提供されたファームウェアは 1 か所だけで電力レベルについて言及していますが、これは中央のリスナーにビーコンの音量を知らせるためにブロードキャストされる値にすぎません。信号強度 (RSSI)。実際に送信電力を変更するには、ファームウェアに追加の行を追加する必要があります。例えば:

HCI_EXT_SetTxPowerCmd( HCI_EXT_TX_POWER_0_DBM );

これに基づいて、iOS デバイスには電力レベルを設定できる場所が 2 つあります。1 つはリスナーにレベルを知らせるだけの場所で、もう 1 つは BLE チップの実際の送信電力が実際に変更される場所です。ただし、これらの値は、実際の範囲のニーズを満たすかどうかに関係なく、いくつかの列挙された選択肢に制限されることを期待してください。

(SensorTag の -23 設定は、おそらく 0.5 メートルの検出範囲に適しています。ただし、SensorTag を常にアドバタイズしたい場合は、追加のファームウェアの変更が必要になります。)

于 2014-02-28T16:56:04.727 に答える
1

proximity物件が役に立ったかどうか調べましたか?アップルのドキュメントから

CLProximity ビーコンまでの相対距離を反映する定数。

typedef {
   CLProximityUnknown,
   CLProximityImmediate,
   CLProximityNear,
   CLProximityFar
} CLProximity;

proximityまた、とを組み合わせて実験しaccuracyますrssi

于 2013-11-01T03:12:04.570 に答える
0

ビーコンごとに異なります。Radius Networks のビーコンを使用する場合、ビーコン ラジオが長距離にブロードキャストする機能を基本的に制限できる送信電力設定があります。他のブランドがそれを持っているかどうかはわかりませんが、私が見た限りではほとんどありません。

于 2014-04-07T16:22:47.123 に答える