क्या AltBeacon की Android Beacon लाइब्रेरी के साथ iBeacons का पता लगाने के लिए यह सही लेआउट है?


93

मैं सफलतापूर्वक संशोधित किया है संदर्भ कार्यान्वयन एप्लिकेशन के एंड्रॉयड बीकन लाइब्रेरी निम्नलिखित का उपयोग कर बीकन लेआउट , इतना है कि यह एक iBeacon डिवाइस मैं हाथ में है कि पता लगाता है:

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 पैकेट के आंतरिक के लिए नया होने के नाते, मुझे यकीन नहीं है कि यह उपयोग करने के लिए सही लेआउट है। लाइब्रेरी AltBeacon मानक का समर्थन करती है और इसके प्रलेखन में iBeacon उपकरणों का पता लगाने का तरीका नहीं बताया गया है।

  • क्या यह कोड सभी iBeacon उपकरणों का पता लगाएगा ? यानी m:उपसर्ग भी प्रतिबंधात्मक है या क्या यह सही बाइट अनुक्रम है जो आईबेकन कल्पना से मेल खाता है?
  • इसी तरह, क्या बाकी लेआउट iBeacon कल्पना से मेल खाते हैं?

संदर्भ:


संदर्भ आवेदन अब नीचे है ..
ब्लूट्रिन

1
@BlueTrin धन्यवाद, नए रेपो के लिंक को अपडेट किया।
19

जवाबों:


66

इसने मेरे लिए काम किया: "m: 2-3 = 0215, i: 4-19, i: 20-21, i: 22-23, p: 243"

मुझे नहीं लगता कि आपको 4c00 वाले हिस्से का मिलान करने की आवश्यकता है क्योंकि वह निर्माता आईडी है, इसलिए आप संभवतः उस बंद को छोड़ सकते हैं और मीटर के साथ शुरू कर सकते हैं: 2-3 = 0215 सब कुछ सही दिखता है, और यह काम करने लगता है।


8
धन्यवाद! एस्टिमोट बीकन के परीक्षण से मैं पुष्टि कर सकता हूं कि m:2-3=0215परिवर्तन वास्तव में आवश्यक है।
मतीश

8
इसने मेरे लिए भी काम किया..मैं भी इस्तेमाल किया .. beaconManager.getBeaconParsers ()। Add (new BeaconParser ()। SetBeaconLayout ("m: 2-3 = 0215, i: 4-19, i: 20-21, i: 22) -23, पी: 24-24 "));
जॉन

2
आप उस लेआउट को कैसे पढ़ते हैं? मी, आई और पी क्या है? मेरे पास चीन से खरीदे गए एक आउट-ऑफ-द-बॉक्स बीकन हैं। ब्लूटूथ ले स्कैनर ऐप का उपयोग करके, मैं बीकन के यूयूआईडी, प्रमुख और मामूली को खोजने में सक्षम था। लेकिन मुझे इसे लगाने के लिए UUID पैटर्न कैसे मिलेगा setBeaconLayout?
emen

3
@AimanB कृपया इसे देखें: stackoverflow.com/questions/25319682/… । इसमें, m: निर्माता डेटा, i: निकटता UUID, i: मेजर नंबर, i: माइनर नंबर, p: सिग्नल पावर, d: बैटरी स्तर। वे बाइट ऑफसेट का प्रतिनिधित्व करते हैं। (आपको गिनती करते समय 6 जोड़ने की आवश्यकता है।) p: 24-24 "।
Trueblue

3
वहाँ किसी भी बीकन के लिए स्कैन करने का एक तरीका है, भले ही उसका अनुमान हो या नहीं?
एन जय

3

आप iBeacon कल्पना को डाउनलोड कर सकते हैं ("आर्टवर्क और विनिर्देशों डाउनलोड करें" पर क्लिक करें)।

वर्तमान संस्करण में कंपनी आईडी होनी चाहिए 0x4C00, और बीकन प्रकार होना चाहिए0x0215 । अन्य सभी फ़ील्ड आवश्यक हैं, और जैसा कि आपने निर्दिष्ट किया है।

तो हाँ, आप बिल्कुल सही हैं और यह सभी आज्ञाकारी iBeacons का पता लगाएगा।

OT: यह भी निर्दिष्ट करता है कि विज्ञापन अंतराल 100ms होना चाहिए, लेकिन मुझे गंभीरता से संदेह है कि सभी iBeacons उस पर चिपक जाते हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.