我正在使用AltBeacon庫在我的設備附近測距信標。我正在使用庫的所有默認值,即掃描週期爲1100毫秒,掃描週期爲0毫秒。Altbeacon庫範圍僅在30%的時間內檢測到燈塔
圖書館每1100ms呼叫我的聽衆,但問題是,在很多這些呼叫中,沒有信標檢測。烽火臺只能檢測到約30%-40%的呼叫,另外70%的呼叫說周圍沒有信標。
我能做些什麼來解決這個問題?
問候
我正在使用AltBeacon庫在我的設備附近測距信標。我正在使用庫的所有默認值,即掃描週期爲1100毫秒,掃描週期爲0毫秒。Altbeacon庫範圍僅在30%的時間內檢測到燈塔
圖書館每1100ms呼叫我的聽衆,但問題是,在很多這些呼叫中,沒有信標檢測。烽火臺只能檢測到約30%-40%的呼叫,另外70%的呼叫說周圍沒有信標。
我能做些什麼來解決這個問題?
問候
編輯:看到日誌摘錄後,我已經提交了第二個答案。
兩種可能性浮現在腦海中:
嘗試重複該測試與你的Android設備上禁用無線網絡連接。一些Android設備將WiFi /藍牙組件相結合,這些組件在同時使用時會相互干擾。
確保它不是硬件問題。嘗試使用安裝了「定位」應用程序的iOS設備等已知工作掃描程序或使用相同的自定義信標解析器表達式的Android Locate app並查看是否看到相同的行爲。
1.是的,我所有的測試都是在沒有wifi的情況下完成的,因爲我在過去遇到過問題。 2.我已經安裝了Android Locate App,如果我在燈塔的詳細信息中輸入,我會看到很多「未檢測到」,並且我在不同的秒鐘內看到它。 ¿這是正常的嗎? – OverMind 2014-10-01 13:13:30
與我的iOS版本的應用程序,這不會發生,一切正常工作 – OverMind 2014-10-01 13:18:48
對不起,你有麻煩。是否有可能從您的應用程序捕獲一些日誌輸出?要從庫中獲得調試級別日誌輸出,請添加一行代碼,如:beaconManager.setDebug(true);在捕獲間歇性信標檢測期間捕獲LogCat輸出 - 一分鐘或更長時間將是最好的。日誌摘要會很長,所以請將它發送到[email protected]。我將審查和總結我在此論壇中回覆的任何問題,而不會發布任何標識符或其他私人信息。 – davidgyoung 2014-10-01 14:13:00
審查非常大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都表明一個相當強的信號在日誌期間是相當一致的。但是信標的檢測間隔非常不規則。這是不尋常的。
這表明無線電或硬件問題,無論是與信標,電話或無線電環境。一些可能性:
我覺得跟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
非常感謝您的深入分析。我一直在與我的技術團隊一起評估所有可能性,我們懷疑這可能是其中的任何一種。3.我的團隊的一個人,已經與您的圖書館對信標數據進行了非常深入的分析,並且希望與您討論問題。他有很多圖表可以向你展示他描述他的理論的問題。我可以讓他和你聯繫嗎?我們對使用AltBeacon非常感興趣,但我們必須解決我們的問題:)提前致謝。 – OverMind 2014-10-06 18:36:59
好的,請通過[email protected]與我們聯繫,我們可以設置一段時間發言。 – davidgyoung 2014-10-06 18:40:34
我已經在上述基礎上添加了額外的編輯功能,以便讓其他信息脫機。 – davidgyoung 2014-10-07 19:38:34
您使用的是什麼類型的燈標?它的傳輸頻率是多少?如果信標每三秒傳輸一次,這就是你期望看到的。 – davidgyoung 2014-10-01 10:04:22
我目前使用的是Estimote Beacons。信標的默認廣告時間間隔爲950毫秒。我已將其更改爲500毫秒,但我遇到同樣的問題。我也嘗試過使用RECO信標。 – OverMind 2014-10-01 10:11:56
你可以發佈你的代碼設置範圍?您使用哪種Android設備模型進行測試? – davidgyoung 2014-10-01 10:19:25