[英]How to limit the advertising range of a beacon?
是否可以限制信標的范圍,以便只有特定近距離(或接近度)內的設備才能識別並連接到信標? 讓我們說例如0.5米區域以外的設備不應該能夠看到或連接到信標。 我正在使用iOS設備作為燈塔。 在Apple的CoreLocation
API中, CLBeaconRegion類中有一個名為peripheralDataWithMeasuredPower的方法,它說:
peripheralDataWithMeasuredPower:檢索可用於將當前設備通告為信標的數據。
(NSMutableDictionary *)peripheralDataWithMeasuredPower:(NSNumber *)measuredPower
參數:
measuredPower :設備的接收信號強度指示器(RSSI)值(以分貝為單位)。 該值表示距離一米遠的信標的測量強度,並在測距期間使用。 指定
nil
以使用設備的默認值。
這可以用來限制信標的范圍嗎? 如果是,我無法理解如何確定為measurePower
參數設置的值? 他們想說的是什么...value represents the measured strength of the beacon from one meter away..
如果這是一個非常基本的問題,請原諒。 我最近開始iOS開發,非常感謝您的幫助。 謝謝。
不幸的是,沒有特殊硬件就沒有簡單的方法來調整iBeacon的范圍。
您提到的功率場只是iBeacon傳輸的校准值。 它不會影響iBeacon的實際物理無線電范圍。 如果距離50米的iPhone可以看到發射器,那么改變功率場值將不會改變這一點。 它唯一做的是改變是校准常數,它是iOS軟件內部距離估計算法(用於精度和接近場)的輸入。 改變功率場將影響API返回的估計距離,但不會改變首次檢測到iBeacon的實際距離。
改變標准藍牙iBeacon的發射功率幾乎是不可能的 。 從理論上講,你可以使用金屬屏蔽在發射器周圍構建一個“法拉第籠”來靜音它的功率,但我的經驗是它不是很有效,而且很容易受到屏蔽中的微小缺陷的影響。 如果你想改變發射功率,你必須讓別人建立自定義硬件。
軟件替代方案是使用測距API在iBeacon可見時跟蹤iBeacon,並且僅在估計距離足夠接近時執行操作,比如說你建議的0.5米。 這很有效 - 只在前台。
如果您需要在近距離實際在后台喚醒您的應用程序,這將無法正常工作。 您可以做的最好的事情是讓監控API在首次檢測到iBeacon時喚醒您的應用,然后向用戶發送通知並開始測距。 如果用戶選擇將應用程序帶到前台(50米處),您可以繼續監控,然后在0.5米處執行所需的操作。 如果用戶沒有選擇將應用程序帶到前台,iOS在暫停應用程序之前只會給你大約5秒的時間來繼續測距。 在這段時間內,距離不太可能從50米變為0.5米。
對於我研究過的大多數BLE芯片,通常至少有四種傳輸功率級別設置可用於限制廣告范圍。
德州儀器CC2541(用於其SensorTag開發設備)和CC2540具有+ 4,0,-6和-23作為其功率電平選項。 但是,在SensorTag中更改它確實需要重新編譯固件。 按原樣,所提供的固件僅在一個地方提到功率電平,但這只是一個廣播的值,以通知任何中央收聽者信標有多大 - 這樣中央設備可以更好地計算基於接收的估計范圍信號強度(RSSI)。 必須在固件中添加一條額外的線路才能實際更改傳輸功率。 例如:
HCI_EXT_SetTxPowerCmd( HCI_EXT_TX_POWER_0_DBM );
基於此,iOS設備上應該有兩個位置可以設置功率級別:一個用於通知監聽器級別是什么,另一個用於實際更改BLE芯片的真實傳輸功率。 但是,期望這些值僅限於少數列舉的選項,這些選擇可能會或可能不會滿足您的實際范圍需求。
(SensorTag的-23設置可能適用於0.5米的檢測范圍。但如果您希望SensorTag始終進行廣告宣傳,則需要額外更改固件 。)
您是否想看看proximity
屬性是否有用? 來自蘋果文檔 :
CLProximity反映與信標相對距離的常量。
typedef {
CLProximityUnknown,
CLProximityImmediate,
CLProximityNear,
CLProximityFar
} CLProximity;
我也會嘗試嘗試將proximity
與accuracy
和rssi
相結合。
從燈塔到燈塔,它會有所不同。 如果您使用Radius Networks的信標,則它們具有發射功率設置,使您可以基本上限制信標無線電廣播到遠程范圍的能力。 我不知道其他品牌是否擁有它,但大部分都不是我所見過的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.