iBeacon SDK σε Android

Πίνακας περιεχομένων
ibeacon sdk

Πιθανές περιπτώσεις χρήσης και επιχειρηματικά μοντέλα για το beacon που επιτρέπει την αλληλεπίδραση χρηστών ανάλογα με την τοποθεσία ακόμη και μέσα σε κτίρια συζητούνται επί του παρόντος έντονα. Διαφήμιση στο κατάστημα και εκπτώσεις, πληρωμές μέσω κινητού τηλεφώνου, πλοήγηση, δημόσια συγκοινωνία, ο εντοπισμός σε δημόσια κτίρια και μουσεία και ο οικιακός αυτοματισμός είναι μόνο οι άκρες του παγόβουνου. Και φυσικά η πανταχού παρούσα συλλογή δεδομένων – τώρα νέο και με ακριβείς πληροφορίες τοποθεσίας. Πριν μάθετε περισσότερα για την τεχνολογία iBeacon, θα αναφέρουμε επίσης το iBeacon SDK στο άρθρο.

Τι είναι το hype?

Το πρωτόκολλο iBeacon που αναπτύχθηκε από την Apple με βάση το Bluetooth Low Energy υποστηρίζεται από μια ποικιλία συσκευών. Το άρθρο εξηγεί τα iBeacons και το Bluetooth Low Energy και χρησιμοποιεί το παράδειγμα της ανάπτυξης μιας εφαρμογής Android για λίστες αγορών που εξαρτώνται από την τοποθεσία για να δείξει την αλληλεπίδραση μιας εφαρμογής με το iBeacons που εξαρτάται από την τοποθεσία. Η υλοποίηση βασίζεται στο MOKOSmart iBeacon SDK.

iBeacon, Bluetooth 4.0, ΓΙΑΤΙ, ΕΞΥΠΝΟΣ. Wot?

Η βασική τεχνολογία για το iBeacon είναι το Bluetooth. Χαμηλή ενέργεια Bluetooth (ΓΙΑΤΙ), που συχνά αναφέρεται ως η ετικέτα μάρκετινγκ Bluetooth Smart, έχει συμπεριληφθεί στην έκδοση 4.0 του προτύπου Bluetooth. Το BLE δεν είναι συμβατό με προηγούμενες εκδόσεις που ονομάζονται Bluetooth Classic. Bluetooth 4.0 καθορίζει ότι οι συσκευές που είναι συμβατές με τα πρότυπα πρέπει να εφαρμόζουν μία ή και τις δύο παραλλαγές, δηλ. Χαμηλής Ενέργειας ή Κλασικό.

Το BLE εφαρμόζεται σε όλα σχεδόν τα τρέχοντα smartphone, όπως το iPhone 4+ και το Samsung Galaxy 3+. Ένα iPhone μπορεί να λειτουργήσει τόσο ως δέκτης σημάτων iBeacon όσο και – σε αντίθεση με το Android – σαν φάρος εαυτό. Το Android περιλαμβάνει προγράμματα οδήγησης BLE από την έκδοση API 18, δηλ. Android 4.3. Τυχαία, Οι τρέχοντες υπολογιστές έχουν επίσης δυνατότητα BLE. Στα Windows, ωστόσο, τα προγράμματα οδήγησης είναι ενσωματωμένα μόνο από Windows 8 και από τα μέσα του 2011 περίπου, Το BLE ήταν διαθέσιμο σε υπολογιστές Apple.

Η BLE συνεχίζει να υποστηρίζει μια ποικιλία περιφερειακών συσκευών, όπως μόνιτορ καρδιακών παλμών και ελικόπτερα παιχνιδιών, θερμόμετρα, όργανα γυμναστικής και οδοντόβουρτσες, Ναί, οδοντόβουρτσες και αθλητικά παπούτσια.

Ενδιαφέρον σε σχέση με τα iBeacons είναι ο αισθητήρας

Ετικέτα από την Texas Instruments, το οποίο εκτός από τη λειτουργία του ως iBeacon μπορεί να μετρήσει και τη θερμοκρασία, υγρασία, πίεση, και επιτάχυνση. Το Sensor Tag συνοδεύεται επίσης από γυροσκόπιο, ένα μαγνητόμετρο, και δύο κουμπιά υλικού. Η ιδανική συσκευή για τον απομακρυσμένο έλεγχο των παρουσιάσεων κατά τη μετάδοση και εμφάνιση της υγρασίας και της θερμοκρασίας των χεριών του ομιλητή. Νομίζω ότι το επόμενο έργο μου θα είναι το stage fright-o-mat. Μπορείτε να βρείτε μια λεπτομερή λίστα συσκευών στον επίσημο ιστότοπο Bluetooth.

Έτοιμη η GATT

Το μοντέλο επικοινωνίας που χρησιμοποιείται από τις συσκευές για την ανταλλαγή δεδομένων ονομάζεται GATT – Γενικό προφίλ χαρακτηριστικών. Η GATT ορίζει τους ρόλους του πελάτη και του διακομιστή. Ο πελάτης ζητά δεδομένα από τον διακομιστή μέσω υπηρεσιών. Μια υπηρεσία ομαδοποιεί πολλά ζεύγη ατομικών κλειδιών/τιμών, που ονομάζονται χαρακτηριστικά. Τόσο οι υπηρεσίες όσο και τα χαρακτηριστικά προσδιορίζονται μέσω UUID και μπορούν επίσης να περιέχουν περαιτέρω περιγραφές. Οι υπηρεσίες και τα χαρακτηριστικά τους καταλογίζονται με τη μορφή προφίλ; η προδιαγραφή ορίζει μια ολόκληρη σειρά από αυτούς από τους τομείς της υγειονομικής περίθαλψης, αθλητισμός και φυσική κατάσταση και – στην περίπτωσή μας ενδιαφέρουσα – ανίχνευση εγγύτητας. Τα μεμονωμένα προφίλ και οι υπηρεσίες και τα χαρακτηριστικά τους βρίσκονται στην πύλη προγραμματιστών Bluetooth στις Προδιαγραφές GATT.

gatt ibeacon sdk

Φτάστε στο φάρο

Τι είναι λοιπόν τα iBeacons? Το iBeacon είναι μια πολύ απλή τεχνολογία (και εμπορικό σήμα της Apple που επιτρέπει την αλληλεπίδραση ανάλογα με την τοποθεσία με εφαρμογές. Ένας φάρος εκπέμπει ένα σήμα που μπορεί να ληφθεί με συσκευές συμβατές με BLE και να υποβληθεί σε επεξεργασία από εφαρμογές που είναι εγκατεστημένες σε αυτό. Το σήμα περιέχει την αναγνώριση του φάρου και την ισχύ λήψης. Τα ίδια τα iBeacon είναι, ως εκ τούτου – σε αντίθεση με ανακριβείς δηλώσεις στον Τύπο – αδυναμία παράδοσης περιεχομένου ή παρακολούθησης της συμπεριφοράς των πελατών. Αυτή είναι ευθύνη των εφαρμογών που λαμβάνουν και συνεπώς των προγραμματιστών.

iBeacon IRL

Οι μεγαλύτερες αναπτύξεις iBeacons στη Γερμανία πιθανότατα θα ακολουθήσουν πολύ καιρό, αλλά υπάρχουν μερικά παραδείγματα από τις ΗΠΑ και την Ολλανδία. Για παράδειγμα, Η Major League Baseball έχει εξοπλιστεί 28 στάδια με iBeacons και τα χρησιμοποιεί, μεταξύ άλλων, για check-in στην εφαρμογή MLB “Στο Ballpark”.

Μια βιτρίνα υλοποιήθηκε στο Rubens House στην Αμβέρσα, το οποίο προσφέρει πληροφορίες για τους επισκέπτες, όπως ακτίνες Χ από πίνακες ζωγραφικής και παιχνίδια geocaching.

Το χαρακτηριστικό παράδειγμα όσον αφορά το μέγεθος προέρχεται από την ίδια την Apple. Πάνω από 250 Τα Apple Stores έχουν εξοπλιστεί με iBeacon. Σε συνδυασμό με την εφαρμογή Apple Store, Τα μηνύματα που εξαρτώνται από την τοποθεσία αποστέλλονται σε αγοραστές που βρίσκονται στο κατάστημα. Ωστόσο, οι πιθανές αλληλεπιδράσεις φαίνονται επί του παρόντος να είναι αρκετά περιορισμένες: Οι πρώτες κριτικές αναφέρουν μόνο δύο διαφορετικές (και αρκετά γενικό) μηνύματα που θα είχαν λάβει. Δεν προσφέρθηκαν ειδικές προσφορές ή συγκεκριμένες πληροφορίες για μεμονωμένα προϊόντα σε κοντινή απόσταση.

Λειτουργικότητα

Το iBeacon SDK δεν χρησιμοποιεί ξεχωριστό προφίλ BLE, αλλά μάλλον πακέτα διαφήμισης Bluetooth, δηλ. πακέτα εκπομπής, που χρησιμοποιούνται για την ανακάλυψη συσκευών Bluetooth. Εάν ενδιαφέρεστε για την ακριβή δομή του πακέτου, μπορείτε να το διαβάσετε αυτό, για παράδειγμα, στο blog του Adam Warski.

Ένα τέτοιο πακέτο αποστέλλεται σε τακτά χρονικά διαστήματα που μπορούν να διαμορφωθούν μέσω της GATT. Περιέχει το UUID του beacon, η οποία είναι συνήθως προρυθμισμένη από τον κατασκευαστή. Έτσι όλοι οι φάροι MOKOSmart στέλνουν το ίδιο UUID. Τα κύρια και δευτερεύοντα αναγνωριστικά χρησιμοποιούνται επίσης για την αναγνώριση των μεμονωμένων φάρων. Τα κύρια αναγνωριστικά μπορούν να αντιπροσωπεύουν, για παράδειγμα, ένα υποκατάστημα ενός καταστήματος ή ενός εστιατορίου σε μια αλυσίδα franchise, οι ανήλικες ταυτότητες ένα μόνο ράφι ή ένα τραπέζι.

Επί πλέον, η ισχύς του σήματος περιλαμβάνεται στο διαφημιστικό πακέτο, που μπορεί να χρησιμοποιηθεί για τη μέτρηση της απόστασης του δέκτη από τον φάρο. Ωστόσο, δεν μπορείτε να περιμένετε υψηλή ακρίβεια εδώ, αφού το σήμα μπορεί να παρεμποδιστεί από χωρικά εμπόδια όπως έπιπλα ή άτομα.

Το IBeacon SDK προσφέρει δύο έννοιες για την αλληλεπίδραση μιας εφαρμογής με αυτές τις πληροφορίες: εμβέλειας και παρακολούθησης της περιοχής. Όταν κυμαίνονται, καθορίζεται η απόσταση από το φάρο. Λόγω της ανακρίβειας που αναφέρθηκε παραπάνω, αυτό γίνεται σε τρία μόνο στάδια. “Αμεσος” είναι μια απόσταση μερικών εκατοστών, “Κοντά” είναι λίγα μέτρα και “Μακριά” είναι μια απόσταση πάνω από δέκα μέτρα. Η εμβέλεια είναι δυνατή μόνο εάν η εφαρμογή λήψης είναι ενεργή.

Αυτό δεν είναι απαραίτητο για την παρακολούθηση της περιοχής. Σε αυτή τη λειτουργία, μια ανενεργή εφαρμογή μπορεί επίσης να ειδοποιηθεί κατά την είσοδο ή έξοδο από μια περιοχή που ορίζεται από έναν ή περισσότερους φάρους. Το αργότερο τώρα γίνεται σαφές τι κάνει αυτή την τεχνολογία ελκυστική για διαφήμιση και λιανική. Επιπλέον, για τους περισσότερους φάρους, Η ισχύς μετάδοσης και το διάστημα μπορούν να διαμορφωθούν ώστε να βελτιστοποιηθεί η διάρκεια ζωής της μπαταρίας με βάση τις τοπικές συνθήκες.

“Οι περισσότεροι φάροι” σημαίνει ότι υπάρχουν περισσότεροι από ένας κατασκευαστές iBeacon στην αγορά. στην πραγματικότητα, είναι αρκετοί: MOKOSmart, Kontakt.io, Είναι, αγαπώ, και Gimbal. Εκτός από το υλικό, Αυτοί οι κατασκευαστές προσφέρουν επίσης υπηρεσίες iBeacon SDK και λύσεις cloud για τη διαχείριση των beacons. Οι χομπίστες ανάμεσά μας μπορούν να ρυθμίσουν οι ίδιοι τους πομπούς iBeacon με σχετικά λίγη προσπάθεια χρησιμοποιώντας το Raspberry Pi ή το Arduino.

Λίστα που αναβοσβήνει

Ας υποθέσουμε την ακόλουθη κατάσταση για το παράδειγμα υλοποίησης: Ο προγραμματιστής βρίσκεται στο σούπερ μάρκετ το πρωί του Σαββάτου. Πεινασμένα παιδιά περιμένουν στο σπίτι και το απόγευμα γίνεται bake sale στο σχολείο. Μόνο τότε θα ξεκινήσει πραγματικά το Σαββατοκύριακο. Καλοί λόγοι λοιπόν για να βιαστείτε. Δυστυχώς, η λίστα αγορών είναι μεγάλη και δεν είναι προσαρμοσμένη στη διάταξη του σούπερ μάρκετ. Αν το σούπερ μάρκετ ήταν εξοπλισμένο με iBeacon στα διάφορα τμήματα, μια εφαρμογή λίστας αγορών θα μπορούσε να επισημάνει τις κατάλληλες καταχωρήσεις και να μειώσει σημαντικά το επίπεδο άγχους του (φυσικά εντελώς φανταστικό) προγραμματιστής.

Επειδή η εφαρμογή μας πρέπει να επικοινωνεί με Bluetooth, Απαιτούμε πρώτα εξουσιοδοτήσεις BLUETOOTH και BLUETOOTH_ADMIN στο μανιφέστο Android. Για να μπορείτε να χρησιμοποιήσετε την υπηρεσία που προσφέρει το Estimote API για αλληλεπίδραση με τα iBeacons, πρέπει επίσης να το κάνουμε γνωστό και να τοποθετήσουμε το ληφθέν API στο libs/κατάλογό μας.

Το πρωτότυπο μας αποτελείται από ένα απλό, προσυμπληρωμένη λίστα και προκαθορισμένες περιοχές, δηλ. τμήματα στο σούπερ μάρκετ μας. Μια καταχώρηση λίστας γνωρίζει σε ποια περιοχή έχει αντιστοιχιστεί. Στο παράδειγμά μας, εκχωρούμε μόνο ένα beacon σε κάθε περιοχή. Είναι επίσης δυνατός ο συνδυασμός μιας λίστας beacons σε μια περιοχή. Η κύρια δραστηριότητα είναι υπεύθυνη για την αναγνώριση της τρέχουσας περιοχής και προωθεί αυτές τις πληροφορίες σε έναν προσαρμογέα, η οποία είναι υπεύθυνη για την επισήμανση των καταχωρήσεων της λίστας. Επιπλέον, προσθέτουμε την επιλογή επιλογής της ενεργής περιοχής χωρίς beacons για να κάνουμε τη διεπαφή χρήστη μας δοκιμαστή χωρίς πρόσθετο υλικό.

Στη μέθοδο δημιουργίας της δραστηριότητας, δημιουργούμε ένα Beacon Manager από τη MOKOSmart για την εφαρμογή μας. Χρησιμοποιούμε έναν ακροατή για την παρακολούθηση της περιοχής, κάνοντας γνωστή την τρέχουσα περιοχή στον προσαρμογέα μας και ορίζοντας το διάστημα για τις σαρώσεις beacon. Στο παράδειγμα, ορίζουμε ότι ένα δευτερόλεπτο πρέπει να σαρωθεί και μετά 250 ms πρέπει να περιμένει. Αυτές οι τιμές επιλέγονται σχετικά επιθετικά για να ληφθούν γρήγορα αποτελέσματα στις δοκιμές. Στην πραγματικότητα, η δύσκολη ισορροπία μεταξύ ανταπόκρισης vs. Για να συναντήσετε τη διάρκεια ζωής της μπαταρίας. Σε αυτό το πρωτότυπο, γεμίζουμε επίσης τη λίστα αγορών μας με ψευδείς τιμές. Ξεκινάμε ή σταματάμε την παρακολούθηση στο on () Έναρξη ή onStop () μέθοδος της κύριας δραστηριότητας.

The ItemList

Ο προσαρμογέας υλοποιείται ως παράγωγο του android.widget.Array Adapter και παρακάμπτει το get View () μέθοδος, που καλείται για να εμφανιστεί κάθε γραμμή. Ο τίτλος του αντικειμένου αναγράφεται στην πρώτη γραμμή της κριτικής που ορίζεται στη διάταξη, στη δεύτερη την εκχωρηθείσα περιοχή.

Όπως φαίνεται στο Listing 1, η εισαγόμενη περιοχή μεταφέρεται στον προσαρμογέα στην περιοχή που έχει εισαχθεί () επανάκληση του MonitoringListener, που έχει ανατεθεί στον BeaconManager μας: Προσαρμογέας λίστας αντικειμένων. διαχωρισμός (περιοχή). Όταν καλείτε το getView (), Αυτό ελέγχει εάν η περιοχή της καταχώρισης στη γραμμή ταιριάζει με την τρέχουσα περιοχή. Αν ισχύει αυτό, χρωματίζει το φόντο της γραμμής. Επιπρόσθετα ή εναλλακτικά, Θα μπορούσε επίσης να βάλει κανείς τις εγγραφές για την τρέχουσα ζώνη στην αρχή ταξινομώντας τη λίστα.

Ο κωδικός της εφαρμογής είναι σαφής; Δεν απαιτούνται πολλές προσπάθειες υλοποίησης για να λάβετε σήματα iBeacon και να τα χειριστείτε στην εφαρμογή. Οι έννοιες της σειράς και της παρακολούθησης του iBeacon αντιστοιχίζονται στο MOKOSmart iBeacon SDK, ώστε να μπορούν να χρησιμοποιηθούν διαισθητικά. Ο πλήρης πηγαίος κώδικας της εφαρμογής βρίσκεται στο GitHub.

Συμπέρασμα και προοπτική

Είδαμε ότι η αλληλεπίδραση με iBeacon χρησιμοποιώντας το MOKOSmart iBeacon SDK είναι εύκολη. Επομένως, δεν περιμένω μεγάλα εμπόδια στην τεχνολογία υλοποίησης, αλλά μάλλον στην ανάπτυξη των beacons και στον συντονισμό της ισχύος μετάδοσης. Αυτές οι παράμετροι έχουν άμεσο αντίκτυπο στην ανταπόκριση της εφαρμογής όταν αλλάζει η τοποθεσία. Σε κάθε περίπτωση, η εξισορρόπηση πρέπει να είναι δύσκολη.

Για ιδιαίτερα ενδιαφέρον, π.χ. σι. στον τομέα του οικιακού αυτοματισμού, Θεωρώ τον συνδυασμό των iBeacons με τους αισθητήρες, όπως στο Sensor Tag από την Texas Instruments που αναφέρθηκε παραπάνω. Η Estimote θα λανσάρει επίσης κινητά beacons με αισθητήρες κίνησης και θερμοκρασίας στην αγορά με τα αυτοκόλλητα Estimote. Οι πρώτες προεπισκοπήσεις προγραμματιστών θα έπρεπε να είχαν παραδοθεί στα τέλη Οκτωβρίου 2014, αλλά κανένα κιτ δεν στάλθηκε μέχρι το τέλος του 2014.

Μένει να δούμε αν η περιοχή εφαρμογής "Indoor Navigation" μπορεί να χαρτογραφηθεί με εύρωστο τρόπο με αυτήν την τεχνολογία. Λόγω της ευαισθησίας του σήματος Bluetooth σε παράγοντες παρεμβολής, θα ήταν απαραίτητος ισχυρός φωτισμός με σήματα iBeacon της αντίστοιχης περιοχής και υπολογισμοί θέσης με χρήση τριγωνισμού με σχέδια δωματίων. Κατάλληλες λύσεις προσφέρει η MOKOSmart (Εσωτερική Πλοήγηση iBeacon SDK) και διάφοροι άλλοι κατασκευαστές όπως η LabWerk, αλλά ο συγγραφέας δεν γνωρίζει πρακτικές αναφορές.

Με την ανάπτυξη μιας εφαρμογής που αλληλεπιδρά με τα iBeacons, πρέπει επίσης να ληφθούν υπόψη πτυχές ασφάλειας και προστασίας δεδομένων. Λόγω της απλότητας του σήματος, Το iBeacon είναι επιρρεπές σε πλαστογράφηση, που δεν πρέπει να ξεχαστεί κατά την ανάπτυξη. Δεδομένα όπως η τρέχουσα τοποθεσία και το προφίλ κίνησης που μπορούν να συλλεχθούν με βάση τη συμπεριφορά των χρηστών έχουν επίσης μεγάλη ανάγκη προστασίας.

MOKOSMART iBeacon SDK

Λύση ibeacon sdk

 

Γραμμένο από --
Νικ Χε
Νικ Χε
Νίκος, ένας έμπειρος διαχειριστής έργου στο R&Δ τμήμα, φέρνει μια πλούσια εμπειρία στη MOKOSMART, έχοντας προηγουμένως υπηρετήσει ως μηχανικός έργου στην BYD. Η εμπειρία του στο R&Ο D φέρνει μια ολοκληρωμένη δεξιότητα στη διαχείριση του έργου του IoT. Με ένα συμπαγές φόντο που εκτείνεται 6 χρόνια στη διαχείριση έργων και λάβετε πιστοποιήσεις όπως PMP και CSPM-2, Ο Νικ διαπρέπει στον συντονισμό των προσπαθειών σε όλες τις πωλήσεις, μηχανική, δοκιμές, και ομάδες μάρκετινγκ. Τα έργα συσκευών IoT στα οποία έχει συμμετάσχει περιλαμβάνουν Beacons, Συσκευές LoRa, πύλες, και έξυπνες πρίζες.
Νικ Χε
Νικ Χε
Νίκος, ένας έμπειρος διαχειριστής έργου στο R&Δ τμήμα, φέρνει μια πλούσια εμπειρία στη MOKOSMART, έχοντας προηγουμένως υπηρετήσει ως μηχανικός έργου στην BYD. Η εμπειρία του στο R&Ο D φέρνει μια ολοκληρωμένη δεξιότητα στη διαχείριση του έργου του IoT. Με ένα συμπαγές φόντο που εκτείνεται 6 χρόνια στη διαχείριση έργων και λάβετε πιστοποιήσεις όπως PMP και CSPM-2, Ο Νικ διαπρέπει στον συντονισμό των προσπαθειών σε όλες τις πωλήσεις, μηχανική, δοκιμές, και ομάδες μάρκετινγκ. Τα έργα συσκευών IoT στα οποία έχει συμμετάσχει περιλαμβάνουν Beacons, Συσκευές LoRa, πύλες, και έξυπνες πρίζες.
Μοιραστείτε αυτήν την ανάρτηση
Ενδυναμώστε τους συνδεδεμένους σας Ανάγκη με το MOKOSmart LoT Device Solutions!