2017-07-05 23 views
1

我想了解「我們建議不要將掃描週期縮短到1.1秒以下,因爲許多信標只能以1赫茲的頻率傳輸」,在android beacon庫文檔中使用。對最終信標檢測進行隨機化掃描週期

是否因爲我們可能會錯過信標包,因爲掃描時間太少? 我的使用案例需要檢查電池的使用情況。我想問一下這個特定的場景是否可行。

我設置了背景掃描時間爲20ms,背景掃描時間爲980ms。

這意味着每秒鐘都有一次掃描。這種配置可以提高應用程序的響應速度。另外,由於掃描週期較短,因此也應節省電池電量。

1)此配置是否能夠檢測到信標? 2)如果由於掃描週期過短而未命中,是否仍有可能在下次掃描中檢測到信標? 3)如果傳輸頻率是1Hz,並且如果它丟失,它會錯過每次,因爲背景掃描時間和掃描時間之間的總時間是1秒? 4)如果是,將隨機掃描範圍內的幫助?

由於

回答

3

考慮以下因素:

  1. 如果信標包發送通過空中當掃描是活動的,你有近距離檢測它90%的機會。

  2. 如果掃描在傳輸過程中開始或停止,則不會檢測到數據包。

  3. 開始掃描不是即時的。這需要時間。從您開始掃描指令開始,您將錯過數據包,直到掃描完全開始。這一次需要的是設備依賴性,但它可能在幾十毫秒內。

  4. 如果您設置的掃描週期短於信標傳輸速率,則檢測到的機率大約會減少掃描週期除以傳輸週期的比率。

  5. BLE通告包不規則地發出。

所有上述因素意味着短掃描間隔對於可靠檢測是不利的。如果您想節省電池電量,最好將掃描儀開啓1.1秒,然後在需要達到電池目標時關閉。通過減少掃描週期和掃描週期來縮短平均檢測時間只會使平均檢測時間變慢,因爲在基於點2和點3的浪費循環開啓和關閉的時間浪費了有用的掃描時間。

+0

嗨大衛,我想知道。無論應用程序掃描什麼,操作系統是否每秒掃描一次以尋址可定向連接的設備?如果是這樣,是否有可能搭上掃描「免費」? –

+1

操作系統肯定不是*總是*掃描。但是,它可能會*在任何時候根據其他應用或Google Play服務的請求掃描其附近功能。 「免費騎馬」的操作系統概念被稱爲「機會主義」掃描。從電池節省的角度來看,它並不是免費的,但從另一個應用程序通過掃描耗盡電池的意義上說,它是免費的,您的應用程序可能會獲得檢測回調。 – davidgyoung

+0

感謝您的回覆。這正是我所說的「免費騎馬」,意思是免費的。我知道無論誰打開電臺,收音機的費用都是固定的。所以我的後續問題是:只要我開始掃描某些東西而不管我的掃描設置是否自動啓用機會掃描? –