Il concetto di Gatt

Da eseguire Ble-relativo sviluppo, Dobbiamo avere alcune conoscenze di base, Ovviamente, Deve essere molto semplice.

Gatt Ruolo del dispositivo :

La prima cosa da capire è che la distinzione tra questi due ruoli è a livello di hardware, E sono concetti relativi che appaiono in coppia:

“Dispositivo centrale”: relativamente potente, Utilizzato per scansionare e collegare i dispositivi periferici, come i telefoni cellulari, compresse, ecc.

“Dispositivo periferico”: La funzione è relativamente semplice, Il consumo di energia è piccolo, e il dispositivo centrale è collegato per fornire dati, come braccialetti, termometri intelligenti, ecc.

Infatti, A livello più fondamentale, Dovrebbe essere una distinzione tra diversi ruoli nel processo di stabilire una connessione. Sappiamo che se a Bluetooth dispositivo vuole far conoscere agli altri la sua esistenza, Deve trasmettere continuamente al mondo esterno, Mentre l'altra parte deve scansionare e rispondere al pacchetto di trasmissione, in modo che la connessione possa essere stabilita. In questo processo, La persona responsabile della trasmissione è periferica , e Central è responsabile della scansione.

Nota sul processo di connessione tra i due:

Il dispositivo centrale può connettersi a più dispositivi periferici contemporaneamente., smetterà di trasmettere immediatamente, e continuare la trasmissione dopo la disconnessione. Solo un dispositivo può tentare di connettersi in qualsiasi momento, Connessioni di coda.

Gatt protocollo

Ble la tecnologia comunica in base a Gatt. Gatt è un protocollo di trasmissione degli attributi. Può essere considerato un protocollo di livello dell'applicazione per la trasmissione degli attributi.

La sua struttura è molto semplice:   

1671506971 1

Puoi capirlo come XML:

Ogni Gatt è composto da Servizi che svolgono diverse funzioni;

Ogni servizio è composto da caratteristiche diverse;

Ogni caratteristica è costituita da un valore e uno o più descrittori;

Servizio e caratteristiche sono equivalenti ai tag (Il servizio è equivalente alla sua categoria, e la caratteristica equivale al suo nome), mentre il valore contiene effettivamente i dati, e il descrittore è una spiegazione e una descrizione di questo valore. Ovviamente, Possiamo descriverlo e descriverlo da diversi angoli. Descrizione, Quindi ci possono essere più descrittori.

Per esempio:La Xiaomi Mi Band comune è una Ble dispositivo, (assunto) contiene tre servizi, che sono il servizio che fornisce informazioni sul dispositivo, Il servizio che fornisce passaggi, e il servizio che rileva la frequenza cardiaca;

La caratteristica contenuta nel servizio delle informazioni sul dispositivo include le informazioni del produttore, Informazioni sull'hardware, Informazioni sulla versione, ecc.; Il servizio di frequenza cardiaca include la caratteristica della frequenza cardiaca, ecc., E il valore nella caratteristica della frequenza cardiaca contiene effettivamente i dati della frequenza cardiaca, e il descrittore è il valore. Descrizione, come l'unità di valore, descrizione, autorizzazione, ecc.

GATT C/S.

Con una comprensione preliminare di Gatt, Sappiamo che GATT è una tipica modalità C/S. Dal momento che è c/s, È necessario per noi distinguere tra server e client.

“Gatt Server” vs. “Cliente GATT”. Lo stadio in cui esistono questi due ruoli è dopo che la connessione è stata stabilita, e si distinguono in base allo stato del dialogo. È facile capire che la parte che contiene i dati è chiamata server GATT, E la parte che accede ai dati è chiamata client GATT.

Questo è un concetto a un livello diverso dal ruolo del dispositivo che abbiamo menzionato prima, ed è necessario distinguerlo. Usiamo un semplice esempio per illustrare:

Prendi l'esempio di un telefono cellulare e un orologio per illustrare. Prima della connessione tra il telefono cellulare e il telefono cellulare, usiamo il Bluetooth funzione di ricerca del telefono cellulare per cercare il file Bluetooth dispositivo dell'orologio. Durante questo processo, è ovvio che l'orologio sta trasmettendo ble in modo che altri dispositivi conoscano la sua esistenza. , è il ruolo della periferica in questo processo, e il telefono cellulare è responsabile dell'attività di scansione, e interpreta naturalmente il ruolo del centro; Dopo che i due stabiliscono una connessione GATT, Quando il telefono cellulare deve leggere i dati del sensore come il numero di passaggi dall'orologio, I due i dati interattivi vengono salvati nell'orologio, Quindi in questo momento l'orologio è il ruolo del server GATT, E il telefono cellulare è naturalmente il client GATT; E quando l'orologio vuole leggere le chiamate SMS e altre informazioni dal telefono cellulare, Il tutore dei dati diventa telefono cellulare, Quindi il telefono cellulare è il server in questo momento, E l'orologio è il cliente.

Servizio/caratteristica

Abbiamo già avuto una comprensione percettiva di loro sopra, E poi abbiamo alcune informazioni pratiche:

  1. La caratteristica è la più piccola unità logica di dati.
  2. L'analisi dei dati memorizzati in valore e descrittore è determinata dall'ingegnere del server, Non ci sono specifiche.
  3. Servizio/caratteristica ha un'identificazione UUID univoca, Uuid ha sia a 16 bit che a 128 bit, Ciò che dobbiamo capire è che l'UUID a 16 bit è certificato dall'organizzazione Bluetooth e deve essere acquistato, Naturalmente ci sono alcuni comuni uuid a 16 bit. Per esempio, L'UUID del servizio di frequenza cardiaca è 0x180d, che è espresso come 0x00001800-0000-1000-8000-00805f9b34fb nel codice, e altri bit sono fissi. L'UUID a 128 bit può essere personalizzato.
  4. Le connessioni GATT sono esclusive.