iBeacon SDK على Android

ibeacon sdk

إن حالات الاستخدام الممكنة ونماذج الأعمال الخاصة بالمنارة التي تمكّن تفاعل المستخدم المعتمد على الموقع حتى داخل المباني يتم مناقشتها حاليًا. الإعلانات داخل المتجر والخصومات, مدفوعات المحمول, التنقل, النقل العام, توطين المباني العامة والمتاحف والتشغيل الآلي للمنزل هي مجرد نصائح من جبل الجليد. وبالطبع مجموعة البيانات الموجودة في كل مكان – الآن جديد ومع معلومات دقيقة عن الموقع. قبل معرفة المزيد عن تقنية iBeacon, سنذكر أيضًا iBeacon SDK في المقالة.

ما هو الضجيج?

يتم دعم بروتوكول iBeacon الذي طورته شركة Apple استنادًا إلى Bluetooth Low Energy بواسطة مجموعة متنوعة من الأجهزة. تشرح المقالة iBeacons و Bluetooth Low Energy وتستخدم مثال تطوير تطبيق Android لقوائم التسوق المعتمدة على الموقع لإظهار التفاعل المعتمد على الموقع لتطبيق مع iBeacons. يعتمد التنفيذ على MOKOSmart iBeacon SDK.

iBeacon, بلوتوث 4.0, أصبح, ذكي. ووت?

التكنولوجيا الأساسية لـ iBeacon هي البلوتوث. بلوتوث منخفض الطاقة (أصبح), والتي يشار إليها غالبًا باسم ملصق تسويق Bluetooth Smart, تم تضمينه في الإصدار 4.0 معيار البلوتوث. لا يتوافق BLE مع الإصدارات السابقة التي تسمى Bluetooth Classic. بلوتوث 4.0 يحدد أن الأجهزة المتوافقة مع المعايير يجب أن تنفذ أحد المتغيرين أو كليهما, بمعنى آخر. طاقة منخفضة أو كلاسيكية.

يتم تطبيق BLE على جميع الهواتف الذكية الحالية تقريبًا مثل iPhone 4+ و Samsung Galaxy 3+. يمكن لجهاز iPhone أن يعمل كمستقبل لإشارات iBeacon و – على عكس Android – عند منارة بحد ذاتها. يتضمن Android برامج تشغيل BLE من إصدار API 18, بمعنى آخر. ذكري المظهر 4.3. صدفة, أجهزة الكمبيوتر الحالية قادرة أيضًا على BLE. في Windows, ومع ذلك, السائقين على متن الطائرة فقط من Windows 8 ومنذ منتصف عام 2011 تقريبًا, كان BLE متاحًا على أجهزة كمبيوتر Apple.

تواصل BLE دعم مجموعة متنوعة من الأجهزة الطرفية مثل أجهزة مراقبة معدل ضربات القلب وطائرات الهليكوبتر, موازين الحرارة, معدات اللياقة البدنية وفرشاة الأسنان, نعم, فرش الأسنان والأحذية الرياضية.

المثير للاهتمام فيما يتعلق بـ iBeacons هو المستشعر

علامة من شركة Texas Instruments, والتي بالإضافة إلى وظيفتها باعتبارها iBeacon يمكنها أيضًا قياس درجة الحرارة, رطوبة, الضغط, والتسارع. تأتي علامة المستشعر أيضًا مع جيروسكوب, مقياس المغناطيسية, واثنين من أزرار الأجهزة. الجهاز المثالي للتحكم في العروض التقديمية عن بُعد أثناء نقل وعرض الرطوبة ودرجة حرارة يد السماعة. أعتقد أن مشروعي القادم للحفرة الرملية سيكون خوف المسرح. يمكنك العثور على قائمة مفصلة بالأجهزة على موقع Bluetooth الرسمي.

جات جاهز

يُطلق على نموذج الاتصال الذي تستخدمه الأجهزة لتبادل البيانات اسم "الجات" – ملف تعريف السمة العامة. تحدد الجات أدوار العميل والخادم. يطلب العميل البيانات من الخادم عبر الخدمات. تجمع الخدمة عدة أزواج من المفاتيح / القيمة الذرية, والتي تسمى الخصائص. يتم تحديد كل من الخدمات والخصائص عبر UUID ويمكن أن تحتوي أيضًا على مزيد من الأوصاف. يتم فهرسة الخدمات وخصائصها في شكل ملفات تعريف; تحدد المواصفات مجموعة كاملة منهم من مجالات الرعاية الصحية, الرياضة واللياقة البدنية و – في حالتنا مثيرة للاهتمام – الاستشعار عن قرب. يمكن العثور على ملفات التعريف الفردية وخدماتها وخصائصها في بوابة مطور Bluetooth بموجب مواصفات GATT.

gatt ibeacon sdk

اذهب إلى المنارة

إذن ما هي أجهزة iBeacons? iBeacon هي تقنية بسيطة للغاية (وعلامة تجارية لشركة Apple تتيح التفاعل المعتمد على الموقع مع التطبيقات. يرسل المنارة إشارة يمكن استقبالها باستخدام الأجهزة المتوافقة مع BLE ومعالجتها بواسطة التطبيقات المثبتة عليها. تحتوي الإشارة على تعريف المنارة وقوة الاستقبال. المنارات الإلكترونية نفسها, وبالتالي – على عكس التصريحات غير الدقيقة في الصحافة – غير قادر على تقديم المحتوى أو تتبع سلوك العملاء. هذه هي مسؤولية التطبيقات المستقبلة وبالتالي المطورين.

iBeacon IRL

من المحتمل أن يستغرق نشر أجهزة iBeacons الكبيرة في ألمانيا وقتًا طويلاً, ولكن هناك بعض الأمثلة من الولايات المتحدة وهولندا. فمثلا, تم تجهيز دوري البيسبول الرئيسي 28 الملاعب مع iBeacons ويستخدمها, ضمن أشياء أخرى, لتسجيل الوصول في تطبيق MLB “في بولبارك”.

تم تنفيذ عرض في Rubens House في أنتويرب, التي تقدم معلومات أساسية مثل صور الأشعة السينية للرسومات وألعاب غيوكاشينغ للزوار.

يأتي المثال الرئيسي من حيث الحجم من Apple نفسها. على 250 تم تجهيز متاجر Apple Store بأجهزة iBeacons. بالاشتراك مع تطبيق Apple Store, يتم إرسال الرسائل المعتمدة على الموقع إلى المشترين المتواجدين في المتجر. ومع ذلك, يبدو أن التفاعلات الممكنة حاليًا محدودة للغاية: أول تقرير الاستعراضات اثنين فقط مختلفة (وعامة تماما) الرسائل التي قد تلقوها. لم يتم تقديم عروض خاصة أو معلومات محددة حول المنتجات الفردية القريبة.

وظائف

لا تستخدم iBeacon SDK ملف تعريف BLE منفصل, بل بالأحرى حزم إعلانات بلوتوث, بمعنى آخر. حزم البث, التي تستخدم لاكتشاف أجهزة البلوتوث. إذا كنت مهتمًا بالهيكل الدقيق للحزمة, يمكنك قراءة هذا, فمثلا, على مدونة آدم وارسكي.

يتم إرسال مثل هذه الحزمة على فترات منتظمة يمكن تهيئتها عبر الجات. يحتوي على UUID الخاص بالمنارة, والتي يتم تكوينها مسبقًا من قبل الشركة المصنعة. لذلك ترسل جميع إشارات MOKOSmart نفس UUID. كما تستخدم المعرفات الرئيسية والثانوية لتحديد المنارات الفردية. يمكن أن تمثل المعرفات الرئيسية, فمثلا, فرع لمتجر أو مطعم في سلسلة امتياز, المعرفات الثانوية رف واحد أو طاولة.

علاوة على ذلك, يتم تضمين قوة الإشارة في الحزمة الإعلانية, والتي يمكن استخدامها لقياس مسافة المستقبل من المنارة. ومع ذلك, لا يمكنك توقع دقة عالية هنا, حيث يمكن إعاقة الإشارة بواسطة عوائق مكانية مثل الأثاث أو الأشخاص.

يقدم IBeacon SDK مفهومين لتفاعل التطبيق مع هذه المعلومات: المدى ورصد المنطقة. عندما تتراوح, يتم تحديد المسافة إلى المنارة. بسبب عدم الدقة المذكورة أعلاه, هذا يحدث في ثلاث مراحل فقط. “فوري” هي مسافة بضعة سنتيمترات, “قريب” بضعة أمتار و “بعيدا” هي مسافة تزيد عن عشرة أمتار. لا يمكن تحقيق النطاق إلا إذا كان التطبيق المستلم نشطًا.

هذا ليس ضروريا لرصد المنطقة. في هذا الوضع, يمكن أيضًا إخطار تطبيق غير نشط عند دخول أو مغادرة منطقة محددة بواسطة منارة أو أكثر. على أبعد تقدير ، أصبح من الواضح الآن ما الذي يجعل هذه التكنولوجيا جذابة للإعلان والتجزئة. بالاضافة, لمعظم منارات, يمكن تكوين قوة الإرسال والفاصل الزمني من أجل تحسين عمر البطارية بناءً على الظروف المحلية.

“معظم منارات” يعني أن هناك أكثر من شركة مصنعة لأجهزة iBeacons في السوق. حقيقة, هناك عدد لا بأس به: موكوسمارت, Kontakt.io, جليد, وأنا أقدر لك, و Gimbal. بالإضافة إلى الأجهزة, تقدم هذه الشركات المصنعة أيضًا خدمة iBeacon SDK والحلول السحابية لإدارة المنارات. يمكن للهواة بيننا إعداد أجهزة إرسال iBeacon بأنفسهم بجهد ضئيل نسبيًا باستخدام Raspberry Pi أو Arduino.

قائمة وامضة

دعنا نفترض الحالة التالية لمثال التنفيذ: المطور في السوبر ماركت صباح السبت. الأطفال الجوعى ينتظرون في المنزل وفي فترة ما بعد الظهر هناك بيع مخبوزات في المدرسة. عندها فقط ستبدأ عطلة نهاية الأسبوع حقًا. لذا من الأسباب الجيدة للإسراع. للأسف, قائمة التسوق طويلة وغير متوافقة مع تصميم السوبر ماركت. إذا كان السوبر ماركت مجهزًا بأجهزة iBeacons في الأقسام المختلفة, يمكن لتطبيق قائمة التسوق أن يبرز الإدخالات المناسبة ويقلل بشكل كبير من مستوى الضغط في (بالطبع خيالية تماما) مطور.

نظرًا لأن تطبيقنا يجب أن يتصل بالبلوتوث, نطلب أولاً تراخيص BLUETOOTH و BLUETOOTH_ADMIN في بيان Android. من أجل التمكن من استخدام الخدمة المقدمة من قبل Estimote API للتفاعل مع iBeacons, يجب علينا أيضًا أن نجعلها معروفة ونضع واجهة برمجة التطبيقات التي تم تنزيلها في دليل libs /.

يتكون نموذجنا الأولي من ملف, قائمة مملوءة مسبقًا ومناطق محددة مسبقًا, بمعنى آخر. الأقسام في السوبر ماركت لدينا. يعرف إدخال القائمة المنطقة التي تم تعيينه إليها. في مثالنا, نقوم بتعيين منارة واحدة فقط لكل منطقة. من الممكن أيضًا دمج قائمة منارات في منطقة واحدة. النشاط الرئيسي مسؤول عن التعرف على المنطقة الحالية وإعادة توجيه هذه المعلومات إلى محول, وهو المسؤول عن تمييز إدخالات القائمة. بالاضافة, نضيف خيار تحديد المنطقة النشطة بدون إشارات لجعل واجهة المستخدم الخاصة بنا قابلة للاختبار بدون أجهزة إضافية.

في النشاط على طريقة الإنشاء, نقوم بإنشاء مثيل لـ Beacon Manager من MOKOSmart لتطبيقنا. نحن نستخدم مستمعًا لمراقبة المنطقة من خلال جعل المنطقة الحالية معروفة لمحولنا وتحديد الفاصل الزمني لعمليات مسح المنارة. في المثال, نحدد أنه يجب فحص ثانية واحدة ثم 250 يجب أن تنتظر مللي ثانية. يتم اختيار هذه القيم بقوة نسبية للحصول على نتائج سريعة في الاختبارات. في الواقع, التوازن الصعب بين الاستجابة مقابل. لتلبية عمر البطارية. في هذا النموذج الأولي, نقوم أيضًا بملء قائمة التسوق الخاصة بنا بقيم وهمية. نبدأ أو نتوقف عن المراقبة في () ابدأ أو onStop () طريقة النشاط الرئيسي.

قائمة العناصر

يتم تنفيذ المحول كمشتق من android.widget.Array Adaptor ويتجاوز get View () طريقة, وهو ما يتم استدعاء كل سطر ليتم عرضه. تتم كتابة عنوان العنصر في السطر الأول من المراجعة المحددة في التخطيط, في الثانية المنطقة المخصصة.

كما يمكن رؤيته في القائمة 1, يتم نقل المنطقة التي تم إدخالها إلى المحول في المنطقة المدخلة () رد الاتصال من MonitoringListener, الذي تم تعيينه إلى BeaconManager الخاص بنا: محول قائمة العناصر. الفصل (منطقة). عند الاتصال بـ getView (), يتحقق هذا مما إذا كانت منطقة الإدخال في السطر تطابق المنطقة الحالية. اذا كانت هذه القضيه, إنه يلون خلفية الخط. بالإضافة أو بدلا من ذلك, يمكن للمرء أيضًا وضع إدخالات المنطقة الحالية في البداية عن طريق فرز القائمة.

كود التطبيق واضح; لا يتطلب الأمر الكثير من جهود التنفيذ لتلقي إشارات iBeacon والتعامل معها في التطبيق. تم تعيين مفاهيم النطاق والمراقبة من iBeacon في MOKOSmart iBeacon SDK بحيث يمكن استخدامها بشكل حدسي. يمكن العثور على كود المصدر الكامل للتطبيق على GitHub.

الخلاصة والتوقعات

لقد رأينا أن التفاعل مع iBeacons باستخدام MOKOSmart iBeacon SDK أمر سهل. لذلك لا أتوقع عقبات كبيرة في تكنولوجيا التنفيذ, ولكن بالأحرى في نشر المنارات وضبط قوة الإرسال. هذه المعلمات لها تأثير مباشر على استجابة التطبيق عندما يتغير الموقع. على كل حال, يجب أن يكون التوازن صعبًا.

للاهتمام بشكل خاص, على سبيل المثال. ب. في مجال التشغيل الآلي للمنزل, أنا أعتبر الجمع بين أجهزة iBeacons والمستشعرات, كما هو الحال في علامة الاستشعار من شركة Texas Instruments المذكورة أعلاه. كما ستطلق Estimote أيضًا إشارات متنقلة مزودة بأجهزة استشعار للحركة ودرجة الحرارة في السوق باستخدام ملصقات Estimote. من المفترض أن يتم تسليم أول معاينات للمطورين في نهاية أكتوبر 2014, ولكن لم يتم شحن أي مجموعات بحلول نهاية 2014.

ويبقى أن نرى ما إذا كان يمكن تعيين منطقة تطبيق "التنقل الداخلي" بشكل قوي باستخدام هذه التقنية. بسبب حساسية إشارة البلوتوث لعوامل التداخل, سيكون من الضروري وجود إضاءة قوية بإشارات iBeacon للمنطقة المقابلة وحسابات الموقع باستخدام التثليث مع مخططات الغرف. تقدم MOKOSmart الحلول المناسبة (الملاحة الداخلية iBeacon SDK) والعديد من الشركات المصنعة الأخرى مثل LabWerk, لكن المؤلف ليس على علم بأي تقارير عملية.

مع تطوير تطبيق يتفاعل مع iBeacons, يجب أيضًا مراعاة جوانب الأمان وحماية البيانات. بسبب بساطة الإشارة, iBeacon عرضة للانتحال, والتي لا ينبغي نسيانها أثناء التطوير. البيانات مثل الموقع الحالي وملف تعريف الحركة التي يمكن جمعها بناءً على سلوك المستخدم لها أيضًا حاجة كبيرة للحماية.

برنامج MOKOSMART iBeacon SDK

ibeacon sdk solution