STEMMA
Profile
Auf dem BLE-Peripheriegerät selbst ist kein Profil vorhanden, sondern lediglich eine vordefinierte Sammlung von Diensten, die entweder von der Bluetooth SIG oder von den Peripheriedesignern zusammengestellt wurden. Das Herzfrequenzprofil kombiniert beispielsweise den Herzfrequenzdienst und den Geräteinformationsdienst. Die vollständige Liste der offiziell angenommenen GATT-Profile finden Sie hier: Profilübersicht.
Dienste
Dienste werden zum Aufteilen von Daten in logische Entitäten verwendet und enthalten bestimmte Datenblöcke, die als Merkmale bezeichnet werden. Ein Dienst kann ein oder mehrere Merkmale aufweisen, und jeder Dienst unterscheidet sich von anderen Diensten durch eine eindeutige numerische ID, die als UUID bezeichnet wird und entweder 16 Bit (für offiziell angenommene BLE-Dienste) oder 128 Bit (für benutzerdefinierte Dienste) sein kann.
Eine vollständige Liste der offiziell angenommenen BLE-Dienste finden Sie auf der Seite Dienste des Bluetooth-Entwicklerportals. Wenn Sie sich beispielsweise den Herzfrequenzdienst ansehen, können wir feststellen, dass dieser offiziell angenommene Dienst eine 16-Bit-UUID von 0x180D hat und bis zu 3 Funktionen enthält, obwohl nur der erste obligatorisch ist: Herzfrequenzmessung, Position des Körpersensors und Herzfrequenzkontrollpunkt.
Merkmale
Das Konzept der niedrigsten Ebene in GATT-Transaktionen ist das Merkmal, das einen einzelnen Datenpunkt kapselt (obwohl es ein Array verwandter Daten enthalten kann, z. B. X / Y / Z-Werte von einem 3-Achsen-Beschleunigungsmesser usw.).
Ähnlich wie bei Diensten unterscheidet sich jedes Merkmal durch eine vordefinierte 16-Bit- oder 128-Bit-UUID, und Sie können die Standardmerkmale verwenden, die von der Bluetooth-SIG definiert werden (die die Interoperabilität zwischen und BLE-fähigen HW / SW gewährleistet) oder definieren Sie Ihre eigenen benutzerdefinierten Merkmale, die nur Ihr Peripheriegerät und Ihre SW verstehen.
Als Beispiel ist das Herzfrequenzmessmerkmal für den Herzfrequenzdienst obligatorisch und verwendet eine UUID von 0x2A37. Es beginnt mit einem einzelnen 8-Bit-Wert, der das HRM-Datenformat beschreibt (ob die Daten UINT8 oder UINT16 usw. sind).), und das schließt die Herzfrequenzmessdaten ein, die mit diesem Konfigurationsbyte übereinstimmen.
Eigenschaften sind der Hauptpunkt, an dem Sie mit Ihrem BLE-Peripheriegerät interagieren, daher ist es wichtig, das Konzept zu verstehen. Sie werden auch verwendet, um Daten an das BLE-Peripheriegerät zurückzusenden, da Sie auch darauf schreiben können. Sie könnten eine einfache UART-Schnittstelle mit einem benutzerdefinierten ‚UART-Dienst‘ und zwei Merkmalen implementieren, eines für den TX-Kanal und eines für den RX-Kanal, wobei ein Merkmal als schreibgeschützt konfiguriert werden kann und das andere Schreibrechte hat.