Il concetto di Gatt

Per effettuare lo sviluppo del ble correlato, 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 un dispositivo Bluetooth vuole far sapere 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

La tecnologia ble 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 funzioni diverse;

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 banda comune Xiaomi Mi è un dispositivo BLE, (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 la funzione di ricerca Bluetooth del telefono cellulare per cercare il dispositivo Bluetooth 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.