STEMMA
Profili
Un profilo non esiste effettivamente sulla periferica BLE stessa, è semplice una raccolta predefinita di Servizi che è stata compilata dal Bluetooth SIG o dai progettisti periferici. Il profilo della frequenza cardiaca, ad esempio, combina il servizio Frequenza cardiaca e il servizio Informazioni sul dispositivo. L’elenco completo dei profili GATT-based ufficialmente adottati può essere visto qui: Profili Panoramica.
Servizi
I servizi vengono utilizzati per suddividere i dati in entità logiche e contengono blocchi specifici di dati chiamati caratteristiche. Un servizio può avere una o più caratteristiche e ogni servizio si distingue dagli altri servizi tramite un ID numerico univoco chiamato UUID, che può essere a 16 bit (per i servizi BLE ufficialmente adottati) o a 128 bit (per i servizi personalizzati).
Un elenco completo dei servizi BLE ufficialmente adottati può essere visualizzato nella pagina dei servizi del portale per sviluppatori Bluetooth. Se si guarda il servizio di frequenza cardiaca, ad esempio, possiamo vedere che questo servizio ufficialmente adottato ha un UUID a 16 bit di 0x180D e contiene fino a 3 caratteristiche, anche se solo il primo è obbligatorio: misurazione della frequenza cardiaca, posizione del sensore del corpo e punto di controllo della frequenza cardiaca.
Caratteristiche
Il concetto di livello più basso nelle transazioni GATT è la Caratteristica, che incapsula un singolo punto dati (sebbene possa contenere una serie di dati correlati, come i valori X/Y/Z di un accelerometro a 3 assi, ecc.).
Analogamente ai Servizi, ogni caratteristica si distingue tramite un UUID predefinito a 16 bit o 128 bit e si è liberi di utilizzare le caratteristiche standard definite dal SIG Bluetooth (che garantisce l’interoperabilità tra HW/SW abilitato per BLE) o definire le proprie caratteristiche personalizzate che solo la periferica e il SW comprendono.
Ad esempio, la caratteristica di misurazione della frequenza cardiaca è obbligatoria per il servizio di frequenza cardiaca e utilizza un UUID di 0x2A37. Inizia con un singolo valore a 8 bit che descrive il formato dei dati HRM (se i dati sono UINT8 o UINT16, ecc.), e continua a includere i dati di misurazione della frequenza cardiaca che corrispondono a questo byte di configurazione.
Le caratteristiche sono il punto principale che interagirai con la tua periferica BLE, quindi è importante capire il concetto. Vengono anche utilizzati per inviare i dati alla periferica BLE, poiché si è anche in grado di scrivere su characteristic. È possibile implementare una semplice interfaccia di tipo UART con un “servizio UART” personalizzato e due caratteristiche, una per il canale TX e una per il canale RX, in cui una caratteristica potrebbe essere configurata come sola lettura e l’altra avrebbe privilegi di scrittura.