Le concept du GATT

Pour réaliser BLE-développement connexe, nous devons avoir certaines connaissances de base, bien sûr, ça doit être très simple.

GATT Rôle de l'appareil :

La première chose à comprendre est que la distinction entre ces deux rôles se situe au niveau matériel., et ce sont des concepts relatifs qui apparaissent par paires:

“Appareil central”: relativement puissant, utilisé pour scanner et connecter des périphériques, comme les téléphones portables, comprimés, etc..

“Périphérique”: la fonction est relativement simple, la consommation d'énergie est faible, et le dispositif central est connecté pour fournir des données, comme des bracelets, thermomètres intelligents, etc..

En fait, au niveau le plus fondamental, il devrait y avoir une distinction entre les différents rôles dans le processus d'établissement d'une connexion. Nous savons que si un Bluetooth l'appareil veut faire connaître son existence aux autres, il doit diffuser en permanence vers le monde extérieur, tandis que l'autre partie doit scanner et répondre au paquet de diffusion, afin que la connexion puisse être établie. Dans ce processus, la personne responsable de la diffusion est Périphérique , et Central est responsable de la numérisation.

Remarque sur le processus de connexion entre les deux:

L'appareil central peut se connecter à plusieurs périphériques en même temps. Une fois le périphérique connecté, la diffusion cessera immédiatement, et continuez la diffusion après la déconnexion. Un seul appareil peut tenter de se connecter à tout moment, connexions en file d'attente.

GATT protocole

BLE la technologie communique sur la base de GATT. GATT est un protocole de transmission d'attributs. Il peut être considéré comme un protocole de couche application pour la transmission d'attributs..

Sa structure est très simple:   

1671506971 1

Vous pouvez le comprendre en XML:

Chaque GATT est composé de Services qui remplissent différentes fonctions;

Chaque Service est composé de caractéristiques différentes;

Chaque Caractéristiques est constituée d'une valeur et d'un ou plusieurs Descripteurs;

Service et Caractéristique sont équivalents à des balises (Le service est équivalent à sa catégorie, et la caractéristique est équivalente à son nom), alors que la valeur contient réellement des données, et le descripteur est une explication et une description de cette valeur. Bien sûr, nous pouvons le décrire et le décrire sous différents angles. Description, donc il peut y avoir plusieurs descripteurs.

Par exemple:Le Xiaomi Mi Band commun est un BLE appareil, (supposé) il contient trois services, qui sont le service qui fournit des informations sur l'appareil, le Service qui fournit des étapes, et le service qui détecte la fréquence cardiaque;

Les caractéristiques contenues dans le service des informations sur l'appareil comprennent les informations du fabricant, informations sur le matériel, informations sur la version, etc.; le service de fréquence cardiaque comprend la caractéristique de fréquence cardiaque, etc., et la valeur dans la caractéristique de fréquence cardiaque contient en fait les données de fréquence cardiaque, et le descripteur est la valeur. Description, comme l'unité de valeur, description, autorisation, etc..

GATT C/S

Avec une compréhension préliminaire du GATT, nous savons que le GATT est un mode C/S typique. Puisque c'est C/S, il nous faut faire la distinction entre serveur et client.

“serveur du GATT” contre. “client du GATT”. L'étape où ces deux rôles existent est après l'établissement de la connexion, et ils se distinguent selon le statut du dialogue. Il est facile de comprendre que la partie qui détient les données est appelée le serveur du GATT., et la partie qui accède aux données est appelée le client du GATT.

Il s'agit d'un concept à un niveau différent du rôle de l'appareil que nous avons mentionné précédemment., et il faut le distinguer. Utilisons un exemple simple pour illustrer:

Prenons l'exemple d'un téléphone portable et d'une montre pour illustrer. Avant que la connexion entre le téléphone mobile et le téléphone mobile soit établie, nous utilisons le Bluetooth fonction de recherche du téléphone mobile pour rechercher le Bluetooth dispositif de la montre. Durant ce processus, il est évident que la montre diffuse BLE pour que les autres appareils connaissent son existence. , c'est le rôle du périphérique dans ce processus, et le téléphone mobile est responsable de la tâche de numérisation, et joue naturellement le rôle de Centre; après que les deux aient établi une connexion avec le GATT, lorsque le téléphone mobile a besoin de lire les données du capteur telles que le nombre de pas de la montre, les deux Les données interactives sont enregistrées dans la montre, donc en ce moment la veille est le rôle du serveur du GATT, et le téléphone portable est naturellement le client du GATT; et quand la montre veut lire les appels SMS et autres informations du téléphone mobile, le gardien des données devient le téléphone portable, donc le téléphone mobile est le serveur en ce moment, et la montre est le client.

Service/caractéristique

Nous en avons déjà eu une compréhension perceptuelle ci-dessus, et puis nous avons quelques informations pratiques:

  1. La caractéristique est la plus petite unité logique de données.
  2. L'analyse des données stockées en valeur et descripteur est déterminée par l'ingénieur serveur, il n'y a pas de spécification.
  3. Le service/caractéristique a une identification UUID unique, L'UUID a à la fois 16 bits et 128 bits, ce que nous devons comprendre, c'est que l'UUID 16 bits est certifié par l'organisation Bluetooth et doit être acheté, bien sûr, il y en a quelques-uns UUID 16 bits courants. Par exemple, l'UUID du service Fréquence Cardiaque est 0X180D, qui est exprimé par 0X00001800-0000-1000-8000-00805f9b34fb dans le code, et d'autres bits sont corrigés. L'UUID 128 bits peut être personnalisé.
  4. Les connexions au GATT sont exclusives.