SDK iBeacon sur Android

Table des matières
ibeacon sdk

Les cas d'utilisation et les modèles commerciaux possibles de la balise qui permet une interaction utilisateur en fonction de l'emplacement, même à l'intérieur des bâtiments, font actuellement l'objet de vifs débats. Publicité et rabais en magasin, paiements mobiles, la navigation, transport public, la localisation dans les bâtiments publics et les musées et la domotique ne sont que la pointe de l'iceberg. Et bien sûr la collecte omniprésente de données – maintenant nouveau et avec des informations de localisation précises. Avant d'en savoir plus sur la technologie iBeacon, nous mentionnerons également le SDK iBeacon dans l'article.

Quel est le battage médiatique?

Le protocole iBeacon développé par Apple basé sur Bluetooth Low Energy est pris en charge par une variété d'appareils. L'article explique les iBeacons et Bluetooth Low Energy et utilise l'exemple de développement d'une application Android pour les listes de courses dépendant de l'emplacement pour montrer l'interaction dépendant de l'emplacement d'une application avec les iBeacons.. L'implémentation est basée sur MOKOSmart iBeacon SDK.

iBeacon, Bluetooth 4.0, EST DEVENU, INTELLIGENT. Wot?

La technologie de base pour iBeacon est Bluetooth. Bluetooth Low Energy (EST DEVENU), qui est souvent appelé le label marketing Bluetooth Smart, a été inclus dans la version 4.0 de la norme Bluetooth. BLE n'est pas rétrocompatible avec les versions précédentes appelées Bluetooth Classic. Bluetooth 4.0 spécifie que les appareils conformes à la norme doivent implémenter une ou les deux variantes, c'est à dire. Faible énergie ou classique.

BLE est implémenté sur presque tous les smartphones actuels tels que l'iPhone 4+ et le Samsung Galaxy 3+. Un iPhone peut fonctionner à la fois comme un récepteur de signaux iBeacon et – contrairement à Android – as a balise lui-même. Android inclut les pilotes BLE de la version API 18, c'est à dire. Android 4.3. Incidemment, les ordinateurs actuels sont également compatibles BLE. Sous Windows, toutefois, les pilotes sont uniquement à bord depuis Windows 8 et depuis mi-2011 environ, BLE est disponible sur les ordinateurs Apple.

BLE continue de prendre en charge une variété de périphériques tels que les moniteurs de fréquence cardiaque et les hélicoptères jouets, thermomètres, équipement de fitness et brosses à dents, Oui, brosses à dents et baskets.

Intéressant en relation avec les iBeacons est le capteur

Tag de Texas Instruments, qui en plus de sa fonction d'iBeacon peut également mesurer la température, humidité, pression, et accélération. L'étiquette de capteur est également livrée avec un gyroscope, un magnétomètre, et deux boutons matériels. L'appareil idéal pour contrôler à distance les présentations tout en transmettant et en affichant l'humidité et la température des mains de l'orateur. Je pense que mon prochain projet de bac à sable sera le trac-o-mat. Vous pouvez trouver une liste détaillée des appareils sur le site officiel Bluetooth.

Prêt pour le GATT

Le modèle de communication utilisé par les appareils pour échanger des données s'appelle le GATT – Profil d'attribut générique. Le GATT définit les rôles du client et du serveur. Le client demande des données au serveur via les services. Un service regroupe plusieurs paires clé / valeur atomiques, qui sont appelées caractéristiques. Les services et les caractéristiques sont identifiés via les UUID et peuvent également contenir des descriptions supplémentaires. Les services et leurs caractéristiques sont catalogués sous forme de profils; le cahier des charges en définit toute une gamme dans les domaines de la santé, sport et fitness et – dans notre cas intéressant – détection de proximité. Les profils individuels ainsi que leurs services et caractéristiques se trouvent dans le portail des développeurs Bluetooth sous les spécifications du GATT.

gatt ibeacon sdk

Accédez à la balise

Alors, que sont les iBeacons? iBeacon est une technologie très simple (et une marque déposée d'Apple qui permet une interaction dépendant de l'emplacement avec les applications. Une balise envoie un signal qui peut être reçu avec des appareils compatibles BLE et traité par des applications installées dessus Le signal contient l'identification de la balise et la puissance de réception. Les iBeacons eux-mêmes sont, donc – contrairement à des déclarations inexactes dans la presse – incapable de fournir du contenu ou de suivre le comportement des clients. C'est la responsabilité des applications destinataires et donc des développeurs.

iBeacon IRL

Les déploiements plus importants d'iBeacons en Allemagne seront probablement longs à venir, mais il y a quelques exemples des USA et des Pays-Bas. Par exemple, La Major League Baseball a équipé 28 stades avec iBeacons et les utilise, entre autres, pour les enregistrements dans l'application MLB “Au Ballpark”.

Une vitrine a été mise en place dans la Maison Rubens à Anvers, qui offre des informations de base telles que des rayons X de peintures et des jeux de géocaching pour les visiteurs.

Le premier exemple en termes de taille vient d'Apple lui-même. Plus de 250 Les Apple Store ont été équipés d'iBeacons. En combinaison avec l'application Apple Store, des messages dépendant de l'emplacement sont envoyés aux acheteurs qui se trouvent dans le magasin. toutefois, les interactions possibles semblent actuellement assez limitées: Les premiers avis ne rapportent que deux (et assez générique) messages qu'ils auraient reçus. Les offres spéciales ou les informations spécifiques sur les produits individuels à proximité n'étaient pas proposées.

Fonctionnalité

Le SDK iBeacon n'utilise pas de profil BLE distinct, mais plutôt des packages publicitaires Bluetooth, c'est à dire. paquets de diffusion, qui sont utilisés pour découvrir les appareils Bluetooth. Si vous êtes intéressé par la structure exacte du package, tu peux lire ça, par exemple, sur le blog d'Adam Warski.

Un tel colis est envoyé à intervalles réguliers qui peuvent être configurés via GATT. Il contient l'UUID de la balise, qui est généralement préconfiguré par le fabricant. Ainsi, toutes les balises MOKOSmart envoient le même UUID. Les identifiants majeurs et mineurs sont également utilisés pour identifier les balises individuelles. Les identifiants majeurs peuvent représenter, par exemple, une succursale d'un magasin ou d'un restaurant dans une chaîne de franchise, les ID mineurs une seule étagère ou une table.

en outre, la puissance du signal est incluse dans le package publicitaire, qui peut être utilisé pour mesurer la distance entre le récepteur et la balise. toutefois, vous ne pouvez pas vous attendre à une précision élevée ici, car le signal peut être obstrué par des obstacles spatiaux tels que des meubles ou des personnes.

IBeacon SDK propose deux concepts pour l'interaction d'une application avec ces informations: surveillance de la distance et de la région. En allant, la distance à la balise est déterminée. En raison de l'inexactitude mentionnée ci-dessus, cela se déroule en seulement trois étapes. “Immédiat” est une distance de quelques centimètres, “Près” est à quelques mètres et “Loin” est une distance de plus de dix mètres. La télémétrie n'est possible que si l'application de réception est active.

Cela n'est pas nécessaire pour la surveillance de la région. Dans ce mode, une application inactive peut également être notifiée lors de l'entrée ou de la sortie d'une région définie par une ou plusieurs balises. Au plus tard maintenant, il devient clair ce qui rend cette technologie attrayante pour la publicité et la vente au détail. en outre, pour la plupart des balises, la puissance de transmission et l'intervalle peuvent être configurés afin d'optimiser la durée de vie de la batterie en fonction des conditions locales.

“La plupart des balises” implique qu'il existe plus d'un fabricant d'iBeacons sur le marché. En réalité, il y en a pas mal: MOKOSmart, Kontakt.io, La glace, je t'apprécie, et Gimbal. En plus du matériel, ces fabricants proposent également le service iBeacon SDK et des solutions cloud pour la gestion des balises. Les amateurs parmi nous peuvent installer eux-mêmes des émetteurs iBeacon avec relativement peu d'effort en utilisant Raspberry Pi ou Arduino.

Liste clignotante

Supposons la situation suivante pour l'exemple d'implémentation: Le développeur est au supermarché samedi matin. Des enfants affamés attendent à la maison et l'après-midi il y a une vente de pâtisseries à l'école. Ce n'est qu'alors que le week-end commencera vraiment. Alors de bonnes raisons de se dépêcher. Malheureusement, la liste de courses est longue et non adaptée à l'aménagement du supermarché. Si le supermarché était équipé d'iBeacons dans les différents départements, une application de liste de courses pourrait mettre en évidence les entrées appropriées et réduire considérablement le niveau de stress du (bien sûr complètement fictif) développeur.

Puisque notre application doit communiquer avec Bluetooth, nous avons d'abord besoin des autorisations BLUETOOTH et BLUETOOTH_ADMIN dans le manifeste Android. Afin de pouvoir utiliser le service proposé par l'API Estimote pour interagir avec les iBeacons, il faut aussi le faire connaître et placer l'API téléchargée dans notre répertoire libs /.

Notre prototype consiste en un simple, liste pré-remplie et régions prédéfinies, c'est à dire. départements dans notre supermarché. Une entrée de liste sait à quelle région elle est affectée. Dans notre exemple, nous n'attribuons qu'une seule balise à chaque région. Il est également possible de combiner une liste de balises dans une région. L'activité principale est chargée de reconnaître la région actuelle et de transmettre ces informations à un adaptateur, qui est chargé de mettre en évidence les entrées de la liste. en outre, nous ajoutons la possibilité de sélectionner la région active sans balises pour rendre notre interface utilisateur testable sans matériel supplémentaire.

Dans l'activité sur la méthode de création, nous instancions un Beacon Manager de MOKOSmart pour notre application. Nous utilisons un écouteur pour la surveillance de la région en faisant connaître la région actuelle à notre adaptateur et en définissant l'intervalle pour les balayages de balises. Dans l'exemple, nous définissons qu'une seconde doit être scannée, puis 250 ms devrait attendre. Ces valeurs sont choisies de manière relativement agressive pour obtenir des résultats rapides dans les tests. En réalité, le difficile équilibre entre réactivité et. Pour répondre à la durée de vie de la batterie. Dans ce prototype, nous remplissons également notre liste de courses avec des valeurs factices. Nous commençons ou arrêtons la surveillance dans le () Start ou onStop () méthode de l'activité principale.

La ItemList

L'adaptateur est implémenté en tant que dérivé de l'adaptateur android.widget.Array et remplace le get View () méthode, qui est appelée pour chaque ligne à afficher. Le titre de l'article est écrit dans la première ligne de la revue définie dans la mise en page, dans le second la région assignée.

Comme on peut le voir dans la liste 1, la région saisie est transférée à l'adaptateur dans la région saisie () rappel du MonitoringListener, qui est attribué à notre BeaconManager: liste d'articles Adaptateur. ségrégation (Région). Lors de l'appel de getView (), ceci vérifie si la région de l'entrée dans la ligne correspond à la région actuelle. Si c'est le cas, il colore le fond de la ligne. En plus ou en variante, on pourrait aussi mettre les entrées de la zone courante au début en triant la liste.

Le code de l'application est clair; il ne faut pas beaucoup d'efforts de mise en œuvre pour recevoir les signaux iBeacon et les gérer dans l'application. Les concepts de télémétrie et de surveillance iBeacon sont mappés dans le SDK MOKOSmart iBeacon afin qu'ils puissent être utilisés de manière intuitive. Le code source complet de l'application est disponible sur GitHub.

Conclusion et perspectives

Nous avons vu que l'interaction avec les iBeacons à l'aide du SDK MOKOSmart iBeacon est facile à faire. Je ne m'attends donc pas à des obstacles majeurs dans la technologie de mise en œuvre, mais plutôt dans le déploiement des balises et le réglage de la puissance d'émission. Ces paramètres ont un impact direct sur la réactivité de l'application lorsque l'emplacement change. Dans tout les cas, l'équilibrage doit être difficile.

Pour particulièrement intéressant, par exemple. B. dans le domaine de la domotique, Je considère la combinaison d'iBeacons avec des capteurs, comme dans le Sensor Tag de Texas Instruments mentionné ci-dessus. Estimote lancera également sur le marché des balises mobiles avec capteurs de mouvement et de température avec des autocollants Estimote. Les premiers aperçus des développeurs auraient dû être livrés fin octobre 2014, mais aucun kit n'a été expédié à la fin de 2014.

Il reste à voir si le domaine d'application «Navigation intérieure» peut être cartographié de manière robuste avec cette technologie. En raison de la sensibilité du signal Bluetooth aux facteurs d'interférence, un éclairage puissant avec des signaux iBeacon de la zone correspondante et des calculs de position à l'aide de la triangulation avec des plans de pièce seraient nécessaires. Des solutions adaptées sont proposées par MOKOSmart (SDK de navigation intérieure iBeacon) et divers autres fabricants tels que LabWerk, mais l'auteur n'a pas connaissance de rapports pratiques.

Avec le développement d'une application interagissant avec les iBeacons, les aspects de sécurité et de protection des données doivent également être pris en compte. En raison de la simplicité du signal, iBeacon est sujet à l'usurpation d'identité, qui ne doit pas être oublié pendant le développement. Les données telles que l'emplacement actuel et le profil de mouvement qui peuvent être collectées en fonction du comportement de l'utilisateur ont également un besoin élevé de protection.

SDK MOKOSMART iBeacon

solution sdk ibeacon

 

Écrit par --
Nick Il
Nick Il
pseudo, un chef de projet chevronné dans notre R&Département D, apporte une richesse d'expérience à MOKOSMART, ayant auparavant occupé le poste d'ingénieur de projet chez BYD. Son expertise en R&D apporte une compétence complète à sa gestion de projet IoT. Avec une solide expérience couvrant 6 années en gestion de projet et obtenez des certifications comme PMP et CSPM-2, Nick excelle dans la coordination des efforts de vente, ingénierie, essai, et équipes marketing. Les projets d'appareils IoT auxquels il a participé incluent Beacons, Appareils LoRa, passerelles, et prises intelligentes.
Nick Il
Nick Il
pseudo, un chef de projet chevronné dans notre R&Département D, apporte une richesse d'expérience à MOKOSMART, ayant auparavant occupé le poste d'ingénieur de projet chez BYD. Son expertise en R&D apporte une compétence complète à sa gestion de projet IoT. Avec une solide expérience couvrant 6 années en gestion de projet et obtenez des certifications comme PMP et CSPM-2, Nick excelle dans la coordination des efforts de vente, ingénierie, essai, et équipes marketing. Les projets d'appareils IoT auxquels il a participé incluent Beacons, Appareils LoRa, passerelles, et prises intelligentes.
Partager cette publication
Renforcez votre connexion Besoin avec MOKOSmart Solutions pour appareils IoT!