এটি কি আলটব্যাকনের অ্যান্ড্রয়েড বেকন লাইব্রেরির সাথে আইবিকন সনাক্ত করার জন্য সঠিক লেআউট?


95

আমি নিম্নলিখিত বীকন লেআউটটি ব্যবহার করে অ্যান্ড্রয়েড বেকন লাইব্রেরির রেফারেন্স বাস্তবায়ন অ্যাপ্লিকেশনটিকে সফলভাবে সংশোধন করেছি , যাতে এটি আমার হাতে থাকা একটি আইবিकन ডিভাইস সনাক্ত করে:

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);
    }
}

বিএলই প্যাকেটের অভ্যন্তরে নতুন হওয়ার কারণে, আমি নিশ্চিত নই যে এটি ব্যবহারের সঠিক লেআউট কিনা। গ্রন্থাগারটি AltBeacon স্ট্যান্ডার্ডকে সমর্থন করে এবং এর ডকুমেন্টেশনগুলিতে কীভাবে iBeacon ডিভাইসগুলি সনাক্ত করা যায় তা উল্লেখ করা হয়নি।

  • এই কোডটি সনাক্ত করবে সমস্ত আইবিकन ডিভাইস ? উদাহরণস্বরূপ, m:উপসর্গটি খুব নিয়ন্ত্রক বা এটি সঠিক বাইট ক্রম যা আইবিকন স্পেকের সাথে মেলে?
  • একইভাবে, বাকী লেআউটটি ঠিক আইবিकन স্পেকের সাথে মেলে?

তথ্যসূত্র:


রেফারেন্স অ্যাপ্লিকেশনটি এখন নিচে ..
ব্লুথ্রিন

4
@ ব্লুট্রিন ধন্যবাদ, নতুন রেপোতে লিঙ্কটি আপডেট করেছেন।
ento

উত্তর:


67

এটি আমার জন্য কাজ করেছে: "এম: ২-৩ = 0215, আমি: 4-19, i: 20-21, i: 22-23, পি: 24-24"

আমি মনে করি না যে আপনাকে 4c00 অংশটি মিলিয়ে নেওয়া দরকার কারণ এটি নির্মাতা আইডি, সুতরাং আপনি সম্ভবত এটি ছেড়ে দিয়ে মি: 2-2 = 0215 দিয়ে শুরু করতে পারেন অন্য সমস্ত কিছু ঠিক দেখাচ্ছে, এবং এটি কার্যকর বলে মনে হচ্ছে।


8
ধন্যবাদ! এস্টিমোট বীকনগুলির সাথে পরীক্ষা করে আমি নিশ্চিত করতে পারি যে m:2-3=0215পরিবর্তনটি আসলেই প্রয়োজনীয়।
মাটিয়াশ

8
এটি আমার জন্যও ব্যবহার করা হয়েছে..আমি ব্যবহৃত হয়েছি .. বেকনমেনেজ.আর্টবিটসন পার্সার্স ()। যুক্ত করুন (নতুন বেকনপার্সার () .সেটবিকনলআউট ("এম: ২-৩ = 0215, আই: 4-19, আই: 20-21, আই: 22 -23, পি: 24-24 "));
জন

4
আপনি কিভাবে এই লেআউটটি পড়বেন? এম, আই এবং পি কী? আমার কাছে চীন থেকে বাইরের বাক্স কিনেছে। ব্লুটুথ এলই স্ক্যানার অ্যাপ্লিকেশনটি ব্যবহার করে আমি বীকনের ইউআইডিআইটি, প্রধান এবং অপ্রাপ্তবয়স্ককে সন্ধান করতে সক্ষম হয়েছি। তবে আমি এটিতে ইউআইডি প্যাটার্নটি কীভাবে খুঁজে পাব setBeaconLayout?
ইমান

4
@AimanB কল্যাণকামী এই উল্লেখ করুন: stackoverflow.com/questions/25319682/... । এতে, মি: উত্পাদনকারী ডেটা, i: প্রক্সিমিটি ইউআইডি, i: মেজর সংখ্যা, i: গৌণ সংখ্যা, পি: সিগন্যাল পাওয়ার, ডি: ব্যাটারির স্তর। তারা বাইট অফসেট উপস্থাপন। (গণনা করার সময় আপনাকে 6 যোগ করতে হবে): উদাহরণস্বরূপ: উত্পাদক আইডি "এম: ২-৩ = 0215, i: 4-19, i: 20-21, i: 22-23, পি: 24-24 "।
Trueblue

4
আশেপাশের কোনও বীকনকে স্ক্যান করার কোনও উপায় কি না যদি এর প্রাক্কলন হয় বা না হয়?
এন জে

4

আপনি আইবিकन স্পেকটি ডাউনলোড করতে পারেন ("আর্টওয়ার্ক এবং স্পেসিফিকেশন ডাউনলোড করুন" ক্লিক করুন)।

বর্তমান সংস্করণে কোম্পানির আইডি অবশ্যই হবে 0x4C00এবং বীকনের ধরণটি অবশ্যই 0x0215। অন্যান্য সমস্ত ক্ষেত্র প্রয়োজনীয়, এবং যেমন আপনি নির্দিষ্ট করেছেন।

হ্যাঁ, আপনি ঠিকই সঠিক এবং এটি সমস্ত সম্মতিযুক্ত আইবিকন সনাক্ত করবে।

ওটি: এটি এও নির্দিষ্ট করে যে বিজ্ঞাপনের ব্যবধানটি অবশ্যই 100 মিমি হতে হবে, তবে আমি সমস্ত আইবিকনগুলিকে সেটিকে দৃ stick়ভাবে সন্দেহ করি।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.