iBeacon SDK על אנדרואיד

ibeacon sdk

שימושים אפשריים ומודלים עסקיים עבור המשואה המאפשרת אינטראקציה עם המשתמש תלוי-מיקום אפילו בתוך בניינים נמצאים בשלבי התווכחו בלהט. In-חנות פרסום והנחות, תשלומים ניידים, ניווט, תחבורה ציבורית, לוקליזציה בבניינים ציבוריים ומוזיאונים ואוטומציה הביתה הן רק קצות הקרחון. וכמובן אוסף של נתונים בכל מקום – עכשיו חדש עם מידע על מיקום מדויק. לפני ללמוד יותר על טכנולוגית iBeacon, נזכיר גם את ה- SDK iBeacon בכתבה.

מהי ההייפ?

פרוטוקול iBeacon שפותח על ידי אפל המבוסס על ב- Bluetooth Low Energy נתמך על ידי מגוון של התקנים. המאמר מסביר iBeacons ו- Bluetooth Low Energy ומשתמש למשל לפתח אפליקציה לאנדרואיד עבור רשימות קניות תלויות מיקום להראות את האינטראקציה תלוית מיקום של אפליקציה עם iBeacons. היישום מבוסס על MOKOSmart iBeacon SDK.

iBeacon, בלוטות 4.0, BLE, SMART. WOT?

הטכנולוגיה הבסיסית עבור iBeacon היא Bluetooth. ב- Bluetooth Low Energy (BLE), אשר לעתים קרובות נקרא את תווית שיווק Bluetooth Smart, נכלל בגרסה 4.0 של התקן Bluetooth. BLE אינו תואם לאחור עם גירסאות קודמות נקרא קלאסי Bluetooth. בלוטות 4.0 מציין כי התקנים תואמי תקן חייבים ליישם אחד או שני וריאנטים, דהיינו. אנרגיה או קלאסי נמוך.

BLE מיושמת על כמעט כל הסמארטפונים הנוכחי כגון iPhone 4+ ואת סמסונג גלקסי 3+. אייפון יכול לתפקד הן כמקלט של אותות iBeacon ו – בניגוד אנדרואיד – יש משואה עצמו. אנדרואיד כולל נהגי BLE מגרסת API 18, דהיינו. דְמוּי אָדָם 4.3. אגב, מחשבים נוכחיים הם גם BLE-מסוגלים. ב- Windows, למרות זאת, הנהגים הם רק על הלוח מ- Windows 8 ומאז בסביבות אמצע 2011, BLE כבר זמין במחשבים של אפל.

BLE ממשיכה לתמוך במגוון התקנים היקפיים כגון צגים קצב הלב ואת מסוקי צעצוע, מדי חום, ציוד כושר מברשות שיניים, כן, מברשות שיניים וסניקרס.

מעניין בקשר iBeacons הוא החיישן

תג של טקסס אינסטרומנטס, אשר בנוסף לתפקידה בתור iBeacon גם יכול למדוד טמפרטורה, לחות, לחץ, ואצה. תג החיישן מגיע גם עם גירוסקופ, מגנטומטר, ושני לחצני החומרה. המכשיר האידיאלי מצגות שליטה מרחוק תוך העברת ולהציג את הלחות והטמפרטורה של הידיים של הדובר. אני חושב פרויקט ארגז החול הבא שלי יהיה פחד במה-o-מחצלת. אתה יכול למצוא רשימה מפורטת של התקנים באתר Bluetooth הרשמי.

GATT מוכן

המודל תקשורת המשמש את ההתקנים נתוני לשכת נקרא GATT – בפרופיל תכונה גנרי. GATT מגדיר את התפקידים של הלקוח והשרת. הלקוח יבקש נתונים מהשרת באמצעות שירותים. קבוצות שירות מספר המפתח אטומי / זוגות ערך, אשר נקראים המאפיינים. שירותים ומאפיינים שניהם מזוהים באמצעות UUIDs ויכולים גם מכילים תיאורים נוספים. שירותים והמאפיינים שלהם מקוטלגים בצורה של פרופילים; המפרט מגדיר מגוון שלם של אותם מתחומי הבריאות, ספורט וכושר – במקרה המעניין שלנו – חישת קרבה. פרופילי הפרט והשירותים והמאפיינים שלהם ניתן למצוא בפורטל מפתחי Bluetooth תחת מפרט GATT.

GATT ibeacon SDK

Get to the beacon

אז מה הם iBeacons? iBeacon היא טכנולוגיה מאוד פשוטה (ו סימן מסחרי של אפל המאפשרת אינטראקציה תלוי-מיקום עם אפליקציות. משואה שולחת אות שיכול להתקבל עם התקני BLE תואמים ועובדה על יישומים המותקנים עליו אות מכיל את זיהוי של המשואה ואת כוח הקבלה. iBeacons עצמם, ולכן – בניגוד הצהרות לא מדויקות בעיתונות – לקוח תוכן או אחר לא מסוגל לספק התנהגות. זוהי האחריות של יישומי קבלה ולכן מפתחים.

iBeacon IRL

גדולות פריסות של iBeacons בגרמניה כנראה תהיינה הרבה זמן לבוא, אבל יש כמה דוגמאות מארה"ב והולנד. לדוגמה, מייג'ור ליג בייסבול ציידה 28 אצטדיונים עם iBeacons והשימושים בהם, בין השאר, עבור ביצוע צ'ק אין ביישום MLB “במגרשי הבייסבול”.

חלון ראווה יושמה רובנס הבית באנטוורפן, המציע מידע רקע כגון צילומי רנטגן של ציורים ומשחקים מטמונאות למבקרים.

הדוגמה הממשלה מבחינת גודל מגיע מאפל עצמה. על 250 חנויות אפלות צוידו iBeacons. בשילוב עם אפליקציית החנות האפלה, הודעות תלויות מיקום נשלחות קונים שנמצאים בחנות. למרות זאת, האינטראקציות האפשריות נראו כרגע להיות די מוגבלות: ביקורות ראשונות לדווח רק שני שונות (ודי גנרי) הודעות שהם קיבלו. מבצעים מיוחדים או מידע ספציפי לגבי מוצרים בודדים סמוך לא הוצעו.

פונקציונלי

iBeacon SDK אינו משתמש בפרופיל BLE נפרד, אלא חבילות פרסום Bluetooth, דהיינו. חבילות שידור, אשר משמשים כדי לזהות התקני Bluetooth. אם אתם מעוניינים המבנה המדויק של החבילה, אתה יכול לקרוא את זה, לדוגמה, בבלוג של אדם Warski.

יש לארוז כזו נשלחת במרווחי זמן קבועים, שניתן להגדירה באמצעות GATT. הוא מכיל את UUID של המשואה, אשר בדרך כלל מוגדר מראש על ידי היצרן. אז כל במשואות MOKOSmart לשלוח אותו UUID. מזהים ראשיים ומשניות משמשים גם כדי לזהות את משואות הפרט. מזהי סרן יכול לייצג, לדוגמה, סניף של חנות או מסעדה בשרשרת זיכיון, מזהי קטין מדף בודד או שולחן.

יתר על כן, עוצמת האות כלולה בחבילת הפרסום, אשר ניתן להשתמש בהם כדי למדוד את המרחק של מקלט מן המשואה. למרות זאת, אתה לא יכול לצפות דיוק גבוה כאן, מאז ניתן חסום את האות על ידי מכשולים מרחבית כגון רהיטים או אנשים.

IBeacon SDK מציעה שני מושגים עבור האינטראקציה של אפליקציה עם המידע הזה: החל ואזור הניטור. כאשר החל, המרחק אל המשואה נקבע. בשל חוסר הדיוק הנ"ל, זה מתרחש רק שלושה שלבים. “מיידי” מרחק הוא של כמה סנטימטרים, “סמוך ל” הוא מספר מטרים “רחוק” הוא מטר מרחק של למעלה מעשרה. הטיווח אפשרי רק אם האפליקציה המקבלת היא פעילה.

זה אינו הכרחי עבור ניטור באזור. במצב זה, גם אפליקציה פעילה יכולה לקבל הודעה בעת כניסה או יציאה באזור המוגדר על ידי אלומות אחד או יותר. בשלב המאוחר עכשיו זה נהיה ברור מה עושה הטכנולוגיה הזו אטרקטיבית עבור פרסום הקמעונאי. בנוסף, עבור רוב במשואות, עוצמת השידור ואת המרווח יכולים להיות מוגדר על מנת לייעל את חיי הסוללה מבוססות על תנאים מקומיים.

“רוב במשואות” מרמז כי ישנה יותר ליצרן אחד iBeacons על השוק. למעשה, ישנם לא מעט: MOKOSmart, Kontakt.io, קרח, Estimote, ו gimbal. בנוסף החומרה, יצרנים אלה מציעים גם פתרונות שירות הענן iBeacon SDK לניהול במשואות. החובבים שבינינו יכולים להגדיר iBeacon משדרים עצמם עם מעט מאמץ יחסית באמצעות פטל Pi או Arduino.

מהבהב רשימה

הבה נניח את המצב הבא עבור הדוגמה יישום: היזם הוא בסופרמרקט בשבת בבוקר. ילדים רעבים מחכים בבית ואחר הצהריים יש מכירה לאפות בבית הספר. רק אז יהיה סוף השבוע באמת להתחיל. אז סיבות טובות להזדרז. לצערי, ברשימת הקניות הארוכה אינה מותאמת הפריסה של הסופרמרקט. אם בסופרמרקט צויד iBeacons במחלקות השונות, אפליקציית רשימת קניות יכולה להדגיש את הערכים המתאימים ולהפחית את רמת הלחץ משמעותי של (כמובן לגמרי בדיוני) מפתח.

מאז האפליקציה שלנו צריכה לתקשר עם Bluetooth, אנחנו הראשונים דורשים אישורים Bluetooth ו- BLUETOOTH_ADMIN במניפסט אנדרואיד. על מנת להיות מסוגל להשתמש בשירות שמציע API Estimote לאינטראקציה עם iBeacons, עלינו גם לעשות את זה ידוע ומקום API שהורד libs / בספרייה שלנו.

אב הטיפוס שלנו מורכב פשוט, טרום מלא לרשימה ואזורים המוגדרים מראש, דהיינו. מחלקות בסופרמרקט שלנו. רשום ברשימה יודע באיזה אזור זה מוקצה. בדוגמה שלנו, נקצה רק אחד מגדלור לכל אזור. אפשר גם לשלב רשימה של משואות לתוך אזור אחד. הפעילות העיקרית היא שתפקיד להכיר את האזור הנוכחי וקדימה במידע זה כדי מתאם, האחראית על הדגשת ערכי הרשימה. בנוסף, נוסיף את האפשרות לבחור את האזור הפעיל ללא משואות לעשות לבדיקת UI שלנו בלי חומרה נוספת.

בפעילות על יצירת שיטה, אנו מופע מנהל Beacon מן MOKOSmart לאפליקציה שלנו. אנו משתמשים מאזינים לאזור הניטור ידי הפיכת האזור הנוכחי ידוע המתאם שלנו והגדרתי את המרווח עבור סריקות המשואה. בדוגמה, נגדיר כי שנייה אחת יש לסרוק ולאחר מכן 250 ms צריך לחכות. ערכים אלו נבחרו באגרסיביות יחסית להשיג תוצאות מהירות במבחנים. במציאות, האיזון הקשה בין היענות vs. כדי לענות על חיי סוללה. אב טיפוס זה, אנחנו גם למלא את רשימת הקניות שלנו עם ערכי דמה. אנחנו מתחילים או להפסיק ניטור על () התחל או onStop () שיטת הפעילות העיקרית.

ItemList

המתאם מיושם כנגזרת של מתאם android.widget.Array ודורס תצוגת הגט () שיטה, אשר נקרא לכל קו שיוצג. הכותרת של הפריט שכתובה בשורה הראשונה של הביקורת מוגדרת בפריסה, באזור שהוקצה השני.

כפי שניתן לראות ברישום 1, המחוז נכנס מועבר למתאם באזור נכנס בדף () התקשרות של MonitoringListener, אשר מוקצה BeaconManager שלנו: מתאם רשימת פריט. פרדה (אזור). בעת התקשרות getView (), שקים זה אם באזור של הכניסה בשורה התואם את האזור הנוכחי. אם זה המקרה, הוא צובע את הרקע של הקו. בנוסף או לחילופין, אחד גם יכול לשים את הערכים עבור האזור הנוכחי בתחילה ידי מיון הרשימה.

הקוד של היישום ברור; זה לא לוקח מאמץ מימושים רבים לקבל אותות iBeacon ולטפל בהם ביישום. המושגים iBeacon הנעים וניטור ממופים ב- SDK MOKOSmart iBeacon כך שיוכלו לשמש באופן אינטואיטיבי. קוד המקור המלא של האפליקציה ניתן למצוא באתר GitHub.

מסקנה ו- Outlook

ראינו כי אינטראקציה עם iBeacons באמצעות SDK MOKOSmart iBeacon קל לעשות. אז אני לא מצפה משוכות גדולות בטכנולוגיה של יישום, אלא בפריסת המשואות ואת הכוונון של עוצמת השידור. יש פרמטרים אלה השפעה ישירה על יכולת התגובה של היישומים כאשר המיקום משתנה. בכל מקרה, האיזון צריך להיות קשה.

לקבלת מעניין במיוחד, למשל. B. בתחום האוטומציה הביתה, אני מחשיב את השילוב של iBeacons עם חיישנים, כמו תג החיישן מטקסס אינסטרומנטס שהוזכר לעיל. Estimote יהיה גם להשיק משואות ניידות עם חיישני תנועה וטמפרטורה על השוק עם מדבקות Estimote. התצוגה המקדימה של המפתחים הראשונות צריכה הועברה בסוף אוקטובר 2014, ערכות אך לא נשלחו עד הסוף 2014.

זה נותר לראות אם שטח היישום "ניווט הפנימי" ניתן למפות וחסון עם הטכנולוגיה הזו. בשל הרגישות של אות Bluetooth גורם להפרעה, תאורה חזקה עם אותות iBeacon של האזור המתאים וחישובי מיקום באמצעות טריאנגולציה עם תוכניות בחדר יהיה צורך. פתרונות מתאימים מוצעים על ידי MOKOSmart (iBeacon ניווט מקורה SDK) ו שונים יצרנים אחרים כגון LabWerk, אבל המחבר אינו מודע לכל דיווחים מעשיים.

עם התפתחות אפליקציה אינטראקציה עם iBeacons, היבטי אבטחה והגנה על נתונים צריכים גם לקחת בחשבון. בשל הפשטות של האות, iBeacon הוא נוטה זיופים, אשר אסור לשכוח במהלך הפיתוח. נתונים כגון המיקום הנוכחי ואת פרופיל התנועה שניתן לגבות על סמך התנהגות המשתמשים יש גם צורך גבוה עבור הגנה.

MOKOSMART iBeacon SDK

פיתרון ibeacon sdk