2017-09-20 2 views
0

J'utilise un module BLE121LR pour construire une balise Eddystone. Je connais également les cas d'utilisation de publicité liés à BLE et le format de paquet de publicité pour Eddystone. Je sais que le paquet Eddystone ne contient pas de nom d'appareil (amical).Accès au nom (court/complet) d'une balise Eddystone

J'ai mis en place la balise annonce en utilisant l'API:

ble_cmd_gap_set_mode (gap_user_data, gap_non_connectable); 

Cette balise configure la pour être visible à tous les observateurs BLE, mais ce n'est pas connectable. J'ai mis un nom dans Device Name sous GAP

Cela fonctionne très bien. Mais je souhaite connaître le nom de l'appareil (nom de la balise), évidemment sans connexion, puisqu'il s'agit d'une balise. (Dans l'avenir, je peux avoir besoin d'avoir la capacité de se connecter, mais ce n'est pas la question ici).

Questions:

  • Puis-je accéder aux attributs de GAP sans se connecter à la balise Eddystone? Si oui, l'analyse active est-elle un moyen de le faire? (Je l'ai essayé, ne fonctionnait pas.)
  • Cette question est très spécifique à BLE121LR de Silicon Labs (précédemment, BlueGiga Technologies).
    Reportez-vous à l'image ci-dessous, une capture d'écran du guide de référence de l'API. Il y a un peu (qui se trouve dans un drapeau appelé AD drapeaux, AD est des données de publicité) appelé 'gap_ad_type_localname_complete'. C'est dans la section qui contient des références sur les commandes, les réponses et les événements liés au profil d'accès générique. Est-ce le bit/drapeau que je devrais utiliser pour activer la diffusion du nom local de l'appareil? Il n'y a aucun moyen que je pourrais trouver où utiliser ce drapeau et avec quelle API de fonction. J'ai parcouru beaucoup de codes d'exemple et la bibliothèque qui étend ces API BGLib. Je trouve là des déclarations enum, mais je ne vois pas comment elles sont utilisées. La documentation est plus ou moins inutile à ce sujet.

enter image description here

Répondre

1

Il est impossible d'annoncer le nom de la balise car il n'y a pas de place dans le paquet de publicité. L'intention avec Eddystone est que l'URL annoncée est le moyen d'identification. Vous pourriez essayer d'utiliser plusieurs publicités. Utilisez une minuterie pour contrôler la commutation entre la balise Eddystone et une autre publicité qui contient le nom du périphérique.