2016-01-30 53 views
1

這幾天我正在學習燈塔,並對此有疑問。
在我的JavaScript廣告iBeacon顯示程序,我可以設置measurePower值象下面這樣:
'檢測到的rssi值'和'我設置的rssi'有什麼區別?

var Bleacon = require('bleacon'); 

var uuid = 'E2C56DB5-DFFB-48D2-B060-D0F5A71096E0'; 
var major = 1; 
var minor = 2; 
var measuredPower = -50; 

console.log('starting advertising ...'); 
Bleacon.startAdvertising(uuid, major, minor, measuredPower); 

當我啓動該程序,在iOS中檢測到iBeacon顯示「定位信標」的應用程序。

但出現在該應用中,RSSI值與我設置的值不同。

這是我的想法:var measuredPower = -50;是我將得到的rssi值,如果我測量距信標發射機1米遠處的信標rssi值。

但即使是在1米之遠,價值似乎並不密切...

你能解釋一下嗎?

回答

0

其初始配置過程中的measuredPower字段被設置在所述信標,那麼它是通過在每個分組信標發送。它應該設置爲接收設備在1米外測量的RSSI值。通過將傳輸中接收到的值與接收機測量的實際RSSI進行比較,接收機可以判斷信標距離大於或小於1米,甚至可以使用公式粗略估計距離。

,你是一米處看到的RSSI的顯著不同的價值觀,這一事實可能意味着你的變送器-50 measuredPower字段不正確。您可以使用定位應用程序進行「校準」,該程序將在大約30秒內平均測量1米處的RSSI,然後您可以在代碼中使用該值。

有幾件事情需要注意:

  • 如果你改變你的信標發射功率(如果變送器允許),您將需要重新校準,並設置measuredPower

  • 每個設備類型將由於天線增益差異而略微不同地測量RSSI。以後的型號iPhone通常用作標準參考。

+0

感謝您的幫助。順便說一下,你說過,「如果你改變了信標的發射功率(如果發射機允許的話),你將需要重新校準和設置measuredPower」。那麼,是否必須根據傳輸功率在我的代碼中設置「測量功率」?我必須手動校準嗎?在bleacon中是否會設置傳輸功率api? – user3595632

+0

您可能無法使用信標設置傳輸功率,但通常僅限於硬件信標。但是您需要進行校準才能獲得適當的測量功率值。 – davidgyoung

+0

根據https://community.estimote.com/hc/en-us/articles/201636913-What-are-Broadcasting-Power-RSSI-and-other-characteristics-of-beacon-s-signal-,「measured功率「是一個工廠校準的只讀常量,它指示距離信標1米距離的預期RSSI,這意味着不允許自己設置'measuredPower',但這是!我可以在我的代碼中設置'measuredPower'怎麼可能? – user3595632