Bu, AltBeacon'un Android Beacon Kitaplığı ile iBeacon'ları algılamak için doğru düzen midir?


95

Ben başarıyla değiştirdiniz referans uygulama app ait Android Beacon Kütüphanesi aşağıdaki kullanarak işaret düzeni ben el altında olması bir iBeacon cihazı algılar böylece,:

public class MainActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        BeaconManager beaconManager = BeaconManager.getInstanceForApplication(this);
        beaconManager.getBeaconParsers().add(new BeaconParser().
               setBeaconLayout("m:0-3=4c000215,i:4-19,i:20-21,i:22-23,p:24-24"));
        beaconManager.bind(this);
    }
}

BLE paketlerinin içinde yeni olduğum için, bunun kullanılacak doğru düzen olup olmadığından emin değilim. Kitaplık AltBeacon standardını onaylar ve dokümantasyonu iBeacon cihazlarının nasıl tespit edileceğinden bahsetmez.

  • Bu kod tüm iBeacon cihazlarını algılayacak mı? Yani m:önek çok kısıtlayıcı mı yoksa iBeacon spesifikasyonuyla eşleşen doğru bayt dizisi mi?
  • Benzer şekilde, düzenin geri kalanı iBeacon teknik özellikleriyle tam olarak eşleşiyor mu?

Referans:


Referans başvuru şu anda kapalı ..
BlueTrin

1
@BlueTrin Teşekkürler, yeni deponun bağlantısını güncelledi.
ento

Yanıtlar:


67

Bu benim için çalıştı: "m: 2-3 = 0215, i: 4-19, i: 20-21, i: 22-23, p: 24-24"

4c00 parçasını eşleştirmeniz gerektiğini düşünmüyorum çünkü bu üretici kimliği, bu yüzden muhtemelen bunu bırakıp m ile başlayabilirsiniz: 2-3 = 0215 Diğer her şey doğru görünüyor ve işe yarıyor gibi görünüyor.


8
Teşekkürler! Estimote işaretleriyle test ederek, m:2-3=0215değişikliğin gerçekten gerekli olduğunu doğrulayabilirim .
matiash

8
Bu benim için de çalıştı ... beaconManager.getBeaconParsers (). Add (new BeaconParser (). SetBeaconLayout ("m: 2-3 = 0215, i: 4-19, i: 20-21, i: 22 -23, s: 24-24 "));
John

2
Bu düzeni nasıl okuyorsunuz? M, i ve p nedir? Çin'den satın aldığım kutudan çıkmış bir işaretim var. Bluetooth LE Tarayıcı uygulamasını kullanarak, işaretin UUID'sini, majör ve minör bulmayı başardım. Ama içine yerleştirmek için UUID modelini nasıl bulabilirim setBeaconLayout?
emen

3
@AimanB Lütfen şuna bakın: stackoverflow.com/questions/25319682/… . Bu, m: Üretici Verileri, i: Yakınlık UUID, i: Büyük Numara, i: Küçük Numara, p: Sinyal Gücü, d: pil seviyesi. Bayt uzaklığını temsil ederler. (Sayarken 6 eklemeniz gerekir). Ör: Üretici Kimliği "m: 2-3 = 0215, i: 4-19, i: 20-21, i: 22-23," dizesinde 8. ve 9. arasında yer almaktadır. s: 24-24 ".
trueblue

3
Tahmini olup olmadığına bakılmaksızın etrafta herhangi bir işaretçi taramanın bir yolu var mı?
N Jay

4

İBeacon spesifikasyonunu indirebilirsiniz (" Çizim ve Spesifikasyonları İndir" e tıklayın).

Güncel sürümünde Şirket Kimliği gerekir olmak 0x4C00ve işaret türü olmalıdır 0x0215. Diğer tüm alanlar, belirttiğiniz gibi zorunludur.

Yani evet, kesinlikle haklısınız ve tüm uyumlu iBeacon'ları algılayacaktır.

OT: Aynı zamanda reklam aralığının 100 ms olması gerektiğini belirtiyor, ancak tüm iBeacon'ların buna bağlı olduğundan şüpheliyim.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.