Qu'est-ce que le iBeacon Profil Bluetooth
J'aimerais créer mon propre iBeacon avec certaines bluetooth low energy dev kits. Apple n'a pas encore communiqué un cahier des charges pour les iBeacons, cependant un peu de matériel, les développeurs ont l'Ingénierie inverse de l'iBeacon de la AirLocate Exemple de code et a commencé à vendre iBeacon dev kits.
Quel est donc le iBeacon Profil Bluetooth?
Bluetooth Low Energy utilise GATT pour LE profil de découverte de service. Donc, je pense que nous avons besoin de savoir l'Attribut de la Poignée, Type d'Attribut, la Valeur de l'Attribut, et peut-être l'Attribut d'Autorisations de l'iBeacon d'attribut. Donc, pour un iBeacon avec un UUID de E2C56DB5-DFFB-48D2-B060-D0F5A71096E0 une valeur de 1 et un mineur de valeur 1, ce qui serait le Bluetooth GATT de service de profil être?
Heres certaines hypothèses que j'ai fait à partir de la discussion sur les forums et par le biais de la documentation.
-
Vous avez seulement besoin de voir le profil de service (GATT) d'un périphérique Bluetooth pour savoir qu'il est un iBeacon.
-
Le Majeur et Mineur sont codés quelque part dans ce service de profil
Heres certaines entreprises avec iBeacon Dev Kits qui semblent avoir cette figure déjà:
Espérons que dans le temps, nous aurons un profil affiché sur Bluetooth.org comme celles-ci: https://www.bluetooth.org/en-us/specification/adopted-specifications
- en fait, maintenant que j'ai eu que 4 valeurs d'attribut sont
- J'ai reproduit le service de l'aide de la Lumière Bleue, puis à l'aide d'Apple AirLocate exemple de code, je ne pouvais pas gamme, le double service, je pense qu'il y a quelque chose de plus, Aussi de la Lumière, le Bleu n'est pas l'Attribut de la Poignée répertoriés
- Vous êtes à la recherche d'un moyen de créer un iBeacon avec CBPeripheralManager (qui s'exécute en arrière-plan), ou une autre pièce de (non-iOS) logiciel ou matériel? Cela conduira vers le détail nécessaire.
- Je suis en train de la mettre sur mon propre matériel que le premier paragraphe des notes. Mais comme je l'ai mentionné dans la question, il pourrait être utile de la réponse de la question à l'aide de CBPeripheralManager de la publicité à la iBeacon en arrière-plan
- ticatag.com fournit une solution compatible iBeacon
- Il n'y a pas de "reverse engineering" ici. L'iBeacon champs sont disponibles sur apple.developer.com. Corrélation qu'avec la publication Bluetooth spec et c'est là, à la vue de tous.
- Super! pouvez-vous partager que la documentation ici pour de futurs programmeurs, quand j'ai posé la question en 2013, il n'a certainement pas encore
Vous devez vous connecter pour publier un commentaire.
Pour un iBeacon avec ProximityUUID
E2C56DB5-DFFB-48D2-B060-D0F5A71096E0
, les grands0
, mineur0
, calibrée et la Puissance Tx de-59
RSSI, la transmission de BLE publicité paquet ressemble à ceci:d6 be 89 8e 40 24 05 a2 17 6e 3d 71 02 01 1a 1a ff 4c 00 02 15 e2 c5 6d b5 df fb 48 d2 b0 60 d0 f5 a7 10 96 e0 00 00 00 00 c5 52 ab 8d 38 a5
Ce paquet peut être décomposé comme suit:
La partie clé de ce paquet est le Bluetooth de la Publicité, qui peut être ventilé comme suit:
Bluetooth, LE dispositif peut être configuré pour envoyer une annonce spécifique peut générer le dessus du paquet. J'ai configuré un ordinateur Linux en utilisant Bluez pour envoyer cette annonce et iOS7 appareils exécutant Apple AirLocate code de test ramasser comme un iBeacon avec les champs spécifiés ci-dessus. Voir: Utilisation BlueZ La Pile En Tant Que Périphérique (Annonceur)
Ce blog a plein de détails sur le processus d'ingénierie inverse.
Il semble basé sur la publicité des données, notamment les données du fabricant:
J'ai cette node.js script de travail sur Linux avec l'échantillon AirLocate application exemple.
Juste pour concilier la différence entre sandeepmistry la réponse de davidgyoung réponse:
Est une partie de la publicité spécifications de format de données [1]
Manquant à partir de l'ANNONCE est un Service [5] définition. Je pense que le iBeacon protocole en lui-même n'a pas de relation à l'accord général et de service standard de la découverte. Si vous téléchargez RedBearLab du iBeacon programme, vous verrez qu'ils se produisent à l'utilisation du GATT pour la configuration de la publicité des paramètres, mais cela semble être spécifique à leur mise en œuvre, et ne fait pas partie de la spécification. Le AirLocate programme ne semble pas utiliser le GATT pour la configuration, par exemple, selon LightBlue et ou d'autres programmes similaires, j'ai essayé.
Références:
FF
dans votre exemple avec la valeur HEXADÉCIMALE de ma chaîne? (et aussi mise à jour de la longueur de la structure AD de suite?)Si la raison pour laquelle vous pose cette question c'est parce que vous voulez utiliser Core Bluetooth pour faire de la publicité comme un iBeacon plutôt que d'utiliser l'API standard, vous pouvez le faire facilement en faire la publicité d'un NSDictionary tels que:
Voir cette réponse pour plus d'informations.
C'est très simple, il a juste fait de la publicité d'une chaîne de caractères qui contient quelques caractères conformes à Apple iBeacon standard.
vous pouvez consulter le Lien
http://glimwormbeacons.com/learn/what-makes-an-ibeacon-an-ibeacon/
iBeacon Profil contient 31 Octets qui comprend les éléments suivants