Attribute Profile
Host Controller Interface PUID Remote Control Proximity Battery Thermostat Heart Rate … Attribute Profile Attribute Protocol Attribute Profile L2CAP Host Controller Interface Link Layer Physical Layer
Attribute Profile Attribute Protokoll hat nur eine flache Struktur Profile erfordern eine hierachische Struktur Definiert, wie Attribute zu gruppieren sind Gruppenattribute in einem “Service” Gruppenattribute in einem “Service” – Sub-Services Gruppenattribute von Clients
Beispiele für Attributegruppen
Beispiele für Attributegruppen 4 dienste
Beispiele für Attributegruppen
Beispiele für Attributegruppen Attribute profile gruppiert Attribute
Attribut Sicherheit Jedes Attribut auf einem Server hat Rechte (Permissions) Die werden einem Client nicht angezeigt Ein Attributprotokoll Request kann fehlerhaft sein (Error Response) Wenn es ein Authentifizierungsproblem gibt SMP (Security Manager Protocol) wird verwendet, um Geräte zu authentifizieren Wenn die Authentifizierung beendet ist werden auch die anderen Attribute innerhalb der Gruppe “Service” authentifiziert - Kann das Gewicht empfangen -
Attribute über Attribute Attribute zeigen nur an: Handle : Type : Value Woher wissen Sie, Ob Sie Attribute lesen dürfen Ob Sie Attribute schreiben dürfen Ob sie Erlaubnis haben, auf das Attribut zuzugreifen Ob Sie Indication und Broadcast konfigurieren dürfen Man benötigt ein Attribut, das Informationen über dieses Attribut enthält: wird als Meta-Attribut bezeichnet
Meta-Attribute Meta-Attribute ist ein Attribut für Attribute Meta-Attribute gruppieren: Meta-Attribute – “Data Dictionary, Readable, 10-2” Auxililary Data – “°C”, “Outside” Configuration – Enable Indications Triggers- Indicate x > 25°C OR x < 16°C Meta-Attribut Referenzen Data Dictionaries – “Temperatur °C”, “Battery Level”, “Email Support”
Data Dictionaries Das sind Attributtypen Temperatur Entfernung Geschwindigkeit Gewicht Ort Höhe Relative Zeit Absolute Zeit Wanduhrzeit Richtung Bi-State Tri-State Linearer Bereich Prozent Anzahl Reset Kalibrierung Herzrate Körperfett Batterieladezustand Batteriekapazität Batteriezeit Alarm Sie werden alle durch eine 16-Bit Bluetooth UUID repräsentiert
Meta-Attribute Datentypen Data dictionary gibt Auskunft über den Typ des Wertes Es gibt keine Auskunft darüber, wie es formatiert ist z.B. Temperature 22.5°C = 225*10-1 z.B. Temperature 22.50°C = 2250*10-2 Datentyp und Exponent geben Auskunft darüber
Datentypen
Exponenten Result_Value = Attribute_Value * 10Exponent z.B. wenn der Attribute_Value =225, Exponent =-1 225 * 10-1 = 225 * 0,1 = 22,5
Hilfsattribute Description – wird verwendet, um den Userinterface einen populären Namen zu geben “Temperatur” Postfix – wird hinter dem Wert verwendet “- °C” User Information – vom Nutzer konfigurierbaer Information “außen” “outside”
Beispiel Meta-Attribut Meta-Attribut (Temperature_DD, Signed Integer 16 bit, -1) Attributwert (225) Description (“Temperatur”) Postfix (“°C”) User information (“außen”) Das User Interface stellt dar: “Außen Temperatur 22.5 °C”
Konfiguration von Indication / Broadcast Ein Hilfsattribut wird verwendet, um Indications zu konfigurieren Der optimale Weg, um Updates zu erhalten, wenn sich Daten zufällig ändern Set “configuration attribute” , um Indication ein- bzw. Auszuschalten um reliable / unreliable indications Set “broadcast configuration”, um Broadcasts zu konfigurieren Was soll gesendet werden per Broadcast Wie häufig es gesendet werden soll
Triggers Daten werden nur gesendet, wenn Schwellwerte (Threshold) über/unterschritten werden Verwendet Vergleichsoperationen /-werte Vergleichsoperationen sind: Kleiner als / Kleiner als oder gleich Grösser als / Grösser als oder gleich Gleich / ungleich Geändert mehr als x-mal Nicht indiziert in der angegebenen Zeit
Was passiert, wenn die Daten sich zu häufg ändern Server kann die Werte speichern und sendet langsam / batched up Wird gemacht mit First In –First Out Puffer Wenn verwendet, werden Daten im FIFO-Puffer gespeichert Lesen oder indicated in der Reihenfolge Erlaubt Speicherung von Werten zwischen Connection Events z.B. Herzrate gemessen bei 3 Hz, Connection Event ist 1 Hz Bis zu 3 Werten werden bei jedem Connection Event gelesen
Meta-Meta-Attribute Manchmal ist es wünschenswert, mehre Attribute in einen Wert zu packen z.B. Zeit der Gewichtsmessung und Gewicht z.B. Druck in einem Behälter, Temperatur in einem Behälter Das bezeichnet man als Aggregation Wie beim Meta-Attribut Referenziert aber andere Meta-Attribute
Meta-Meta-Attribute Meta-Meta-Attribute (Zeitstempel, Temperatur) Wert (20100114:24) Zeitstempel: Meta-Attribut (WallClockDD,blob,0) Temperatur: Meta-Attribut (TemperaturDD, sint16, -1) Das bedeutet: Am 14 Januar 2010 betrug die Temperatur 2,4 °C