iBeacon SDK באנדרואיד

ibeacon sdk

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

מה ההייפ?

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

iBeacon, בלוטות 4.0, הפכתי, לִכאוֹב. וווט?

הטכנולוגיה הבסיסית עבור iBeacon היא Bluetooth. אנרגיית Bluetooth נמוכה (הפכתי), המכונה לעתים קרובות תווית השיווק החכמה Bluetooth, נכלל בגרסה 4.0 של תקן Bluetooth. BLE אינו תואם לאחור לגרסאות קודמות שנקראו Bluetooth Classic. בלוטות 4.0 מציין כי התקנים תואמי תקן חייבים ליישם גרסה אחת או שתיהן, כְּלוֹמַר. אנרגיה נמוכה או קלאסית.

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

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

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

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

GATT מוכן

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

gatt ibeacon sdk

להגיע למשואה

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

iBeacon IRL

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

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

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

פונקציונליות

iBeacon SDK אינו משתמש בפרופיל BLE נפרד, אלא חבילות פרסום בלוטות ', כְּלוֹמַר. חבילות שידור, המשמשים לגילוי התקני Bluetooth. אם אתה מעוניין במבנה המדויק של החבילה, אתה יכול לקרוא את זה, לדוגמה, בבלוג של אדם ורסקי.

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

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

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

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

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

רשימה מהבהבת

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

מכיוון שהאפליקציה שלנו צריכה לתקשר עם Bluetooth, ראשית אנו דורשים הרשאות BLUETOOTH ו- BLUETOOTH_ADMIN במניפסט של Android. על מנת להיות מסוגלים להשתמש בשירות שמציע ה- API של Estimote לאינטראקציה עם iBeacons, עלינו גם להודיע ​​על כך ולמקם את ה- API שהורד בספריות / הספריות שלנו.

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

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

רשימת הפריטים

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

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

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

מסקנה והשקפה

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

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

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

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

MOKOSMART iBeacon SDK

ibeacon sdk solution