2014-10-01 66 views
3

我正在使用AltBeacon庫在我的設備附近測距信標。我正在使用庫的所有默認值,即掃描週期爲1100毫秒,掃描週期爲0毫秒。Altbeacon庫範圍僅在30%的時間內檢測到燈塔

圖書館每1100ms呼叫我的聽衆,但問題是,在很多這些呼叫中,沒有信標檢測。烽火臺只能檢測到約30%-40%的呼叫,另外70%的呼叫說周圍沒有信標。

我能做些什麼來解決這個問題?

問候

+0

您使用的是什麼類型的燈標?它的傳輸頻率是多少?如果信標每三秒傳輸一次,這就是你期望看到的。 – davidgyoung 2014-10-01 10:04:22

+0

我目前使用的是Estimote Beacons。信標的默認廣告時間間隔爲950毫秒。我已將其更改爲500毫秒,但我遇到同樣的問題。我也嘗試過使用RECO信標。 – OverMind 2014-10-01 10:11:56

+0

你可以發佈你的代碼設置範圍?您使用哪種Android設備模型進行測試? – davidgyoung 2014-10-01 10:19:25

回答

1

編輯:看到日誌摘錄後,我已經提交了第二個答案。

兩種可能性浮現在腦海中:

  1. 嘗試重複該測試與你的Android設備上禁用無線網絡連接。一些Android設備將WiFi /藍牙組件相結合,這些組件在同時使用時會相互干擾。

  2. 確保它不是硬件問題。嘗試使用安裝了「定位」應用程序的iOS設備等已知工作掃描程序或使用相同的自定義信標解析器表達式的Android Locate app並查看是否看到相同的行爲。

+0

1.是的,我所有的測試都是在沒有wifi的情況下完成的,因爲我在過去遇到過問題。 2.我已經安裝了Android Locate App,如果我在燈塔的詳細信息中輸入,我會看到很多「未檢測到」,並且我在不同的秒鐘內看到它。 ¿這是正常的嗎? – OverMind 2014-10-01 13:13:30

+0

與我的iOS版本的應用程序,這不會發生,一切正常工作 – OverMind 2014-10-01 13:18:48

+0

對不起,你有麻煩。是否有可能從您的應用程序捕獲一些日誌輸出?要從庫中獲得調試級別日誌輸出,請添加一行代碼,如:beaconManager.setDebug(true);在捕獲間歇性信標檢測期間捕獲LogCat輸出 - 一分鐘或更長時間將是最好的。日誌摘要會很長,所以請將它發送到[email protected]。我將審查和總結我在此論壇中回覆的任何問題,而不會發布任何標識符或其他私人信息。 – davidgyoung 2014-10-01 14:13:00

5

審查非常大50秒logcat的摘錄發送私人後,我看到不定期檢測到兩個信標:

Beacon #1 7383942b-xxxx-xxxx-xxxx-xxxxxxxxxxxx id2: 5 id3: 5000 
    Max time between detections: 5.75600001 s 
    Mean time between detections: 2.03854544 s 
    % range cycles with detection: 51% 

Beacon #2 b9407f30-xxxx-xxxx-xxxx-xxxxxxxxxxxx id2: 60039 id3: 2279 
    Max time between detections: 4.794999515 s 
    Mean time between detections: 1.377583336 s 
    % range cycles with detection: 82 % 

庫代碼在啓動和停止藍牙掃描每1100毫秒爲預計,在89%的測距週期中,至少有一個信標被檢測到。這表明應用程序,庫和操作系統都正常工作 - 沒有顯着的時間段沒有檢測到信標。更重要的是,每個信標的RSSI都表明一個相當強的信號在日誌期間是相當一致的。但是信標的檢測間隔非常不規則。這是不尋常的。

這表明無線電或硬件問題,無論是與信標,電話或無線電環境。一些可能性:

  1. 信標確實沒有定期傳輸,實際上有輟學。 (這似乎不太可能,如果你使用兩個不同的燈塔模型。)
  2. 手機的藍牙硬件有一個問題,導致它錯過了很多藍牙廣告數據包(可能是由於CRC錯誤),所以操作系統,庫和應用程序永遠不會看到它
  3. 的測試是在一個位置正在做,有很多無線電噪聲,這是造成在可能提到的CRC錯誤2.

我覺得跟Android設備的一個問題是最有可能的可能性,雖然我承認這是我見過的第一個這樣的案例。我建議你嘗試第二個Android設備,看看你是否可以重現這個問題。由於這可能是硬件問題,因此記錄您正在使用的設備型號會很有用。

編輯:發問升級到此版本時發送的附加信息的脫機說他使用的是Nexus 5的庫2.0β7的版本,並表示這個問題沒用過存在,只露面這個庫。我做了一些額外的測試自己與在Nexus 5和庫的2.0β7的版本,修改android-beacon-library-reference應用添加在每個測距回調下面的代碼:

public void didRangeBeaconsInRegion(Collection<Beacon> beacons, Region region) { 
    if (beacons.size() > 0) { 
     EditText editText = (EditText)RangingActivity.this 
       .findViewById(R.id.rangingText); 
     int rssi = -100; 
     for (Beacon beacon: beacons) { 
      logToDisplay("Beacon "+beacon.toString()+" is about "+beacon.getDistance()+" meters away, with Rssi: "+beacon.getRssi()); 
      if (beacon.getId1().toString().equals("2f234454-cf6d-4a0f-adf2-f4911ba9ffa6") && beacon.getId2().toString().equals("1") && beacon.getId3().toString().equals("1")) { 
       rssi = beacon.getRssi(); 
      } 
     } 
     if (rssi > -100) { 
      Log.d(TAG, "Beacon found in ranging cycle. rssi: "+rssi); 
     } 
     else { 
      Log.d(TAG, "Beacon not found in ranging cycle"); 
     } 

    } 
} 

我再打開一個RadBeacon USB傳輸在10Hz下使用2f234454-cf6d-4a0f-adf2-f4911ba9ffa6/1/1,然後用下面的過濾器和結果查看調試輸出。正如你所看到的,在60秒內我沒有檢測到任何信標,我沒有進行測試。

$ adb logcat -v time | grep "ranging cycle" 

10-07 15:17:00.076 D/RangingActivity(16630): Beacon found in ranging cycle. rssi: -67 
10-07 15:17:01.180 D/RangingActivity(16630): Beacon found in ranging cycle. rssi: -73 
10-07 15:17:02.287 D/RangingActivity(16630): Beacon found in ranging cycle. rssi: -75 
10-07 15:17:03.422 D/RangingActivity(16630): Beacon found in ranging cycle. rssi: -66 
10-07 15:17:04.545 D/RangingActivity(16630): Beacon found in ranging cycle. rssi: -67 
10-07 15:17:05.714 D/RangingActivity(16630): Beacon found in ranging cycle. rssi: -66 
10-07 15:17:06.815 D/RangingActivity(16630): Beacon found in ranging cycle. rssi: -66 
10-07 15:17:07.989 D/RangingActivity(16630): Beacon found in ranging cycle. rssi: -65 
10-07 15:17:09.087 D/RangingActivity(16630): Beacon found in ranging cycle. rssi: -72 
10-07 15:17:10.198 D/RangingActivity(16630): Beacon found in ranging cycle. rssi: -65 
10-07 15:17:11.322 D/RangingActivity(16630): Beacon found in ranging cycle. rssi: -71 
10-07 15:17:12.484 D/RangingActivity(16630): Beacon found in ranging cycle. rssi: -67 
10-07 15:17:13.587 D/RangingActivity(16630): Beacon found in ranging cycle. rssi: -64 
10-07 15:17:14.758 D/RangingActivity(16630): Beacon found in ranging cycle. rssi: -66 
10-07 15:17:15.867 D/RangingActivity(16630): Beacon found in ranging cycle. rssi: -66 
10-07 15:17:16.998 D/RangingActivity(16630): Beacon found in ranging cycle. rssi: -66 
10-07 15:17:18.195 D/RangingActivity(16630): Beacon found in ranging cycle. rssi: -67 
10-07 15:17:19.280 D/RangingActivity(16630): Beacon found in ranging cycle. rssi: -67 
10-07 15:17:20.415 D/RangingActivity(16630): Beacon found in ranging cycle. rssi: -67 
10-07 15:17:21.560 D/RangingActivity(16630): Beacon found in ranging cycle. rssi: -66 
10-07 15:17:22.659 D/RangingActivity(16630): Beacon found in ranging cycle. rssi: -67 
10-07 15:17:23.802 D/RangingActivity(16630): Beacon found in ranging cycle. rssi: -66 
10-07 15:17:25.035 D/RangingActivity(16630): Beacon found in ranging cycle. rssi: -66 
10-07 15:17:26.189 D/RangingActivity(16630): Beacon found in ranging cycle. rssi: -67 
10-07 15:17:27.331 D/RangingActivity(16630): Beacon found in ranging cycle. rssi: -73 
10-07 15:17:28.458 D/RangingActivity(16630): Beacon found in ranging cycle. rssi: -67 
10-07 15:17:29.618 D/RangingActivity(16630): Beacon found in ranging cycle. rssi: -67 
10-07 15:17:30.756 D/RangingActivity(16630): Beacon found in ranging cycle. rssi: -84 
10-07 15:17:31.886 D/RangingActivity(16630): Beacon found in ranging cycle. rssi: -76 
10-07 15:17:33.047 D/RangingActivity(16630): Beacon found in ranging cycle. rssi: -76 
10-07 15:17:34.193 D/RangingActivity(16630): Beacon found in ranging cycle. rssi: -85 
10-07 15:17:35.339 D/RangingActivity(16630): Beacon found in ranging cycle. rssi: -83 
10-07 15:17:36.502 D/RangingActivity(16630): Beacon found in ranging cycle. rssi: -90 
10-07 15:17:37.683 D/RangingActivity(16630): Beacon found in ranging cycle. rssi: -78 
10-07 15:17:38.871 D/RangingActivity(16630): Beacon found in ranging cycle. rssi: -87 
10-07 15:17:40.079 D/RangingActivity(16630): Beacon found in ranging cycle. rssi: -90 
10-07 15:17:41.234 D/RangingActivity(16630): Beacon found in ranging cycle. rssi: -85 
10-07 15:17:42.422 D/RangingActivity(16630): Beacon found in ranging cycle. rssi: -87 
10-07 15:17:43.588 D/RangingActivity(16630): Beacon found in ranging cycle. rssi: -88 
10-07 15:17:44.751 D/RangingActivity(16630): Beacon found in ranging cycle. rssi: -88 
10-07 15:17:45.924 D/RangingActivity(16630): Beacon found in ranging cycle. rssi: -86 
10-07 15:17:47.114 D/RangingActivity(16630): Beacon found in ranging cycle. rssi: -83 
10-07 15:17:48.264 D/RangingActivity(16630): Beacon found in ranging cycle. rssi: -82 
10-07 15:17:49.409 D/RangingActivity(16630): Beacon found in ranging cycle. rssi: -82 
10-07 15:17:50.612 D/RangingActivity(16630): Beacon found in ranging cycle. rssi: -88 
10-07 15:17:51.781 D/RangingActivity(16630): Beacon found in ranging cycle. rssi: -79 
10-07 15:17:52.913 D/RangingActivity(16630): Beacon found in ranging cycle. rssi: -79 
10-07 15:17:54.122 D/RangingActivity(16630): Beacon found in ranging cycle. rssi: -82 
10-07 15:17:55.296 D/RangingActivity(16630): Beacon found in ranging cycle. rssi: -84 
10-07 15:17:56.441 D/RangingActivity(16630): Beacon found in ranging cycle. rssi: -89 
10-07 15:17:57.631 D/RangingActivity(16630): Beacon found in ranging cycle. rssi: -75 
10-07 15:17:58.782 D/RangingActivity(16630): Beacon found in ranging cycle. rssi: -63 
10-07 15:17:59.924 D/RangingActivity(16630): Beacon found in ranging cycle. rssi: -71 
10-07 15:18:01.098 D/RangingActivity(16630): Beacon found in ranging cycle. rssi: -72 
+0

非常感謝您的深入分析。我一直在與我的技術團隊一起評估所有可能性,我們懷疑這可能是其中的任何一種。3.我的團隊的一個人,已經與您的圖書館對信標數據進行了非常深入的分析,並且希望與您討論問題。他有很多圖表可以向你展示他描述他的理論的問題。我可以讓他和你聯繫嗎?我們對使用AltBeacon非常感興趣,但我們必須解決我們的問題:)提前致謝。 – OverMind 2014-10-06 18:36:59

+0

好的,請通過[email protected]與我們聯繫,我們可以設置一段時間發言。 – davidgyoung 2014-10-06 18:40:34

+0

我已經在上述基礎上添加了額外的編輯功能,以便讓其他信息脫機。 – davidgyoung 2014-10-07 19:38:34