STEMMA

profiler

en profil existerar faktiskt inte på ble perifera själv, det är enkelt en fördefinierad samling av tjänster som har sammanställts av antingen Bluetooth SIG eller av perifera designers. Pulsprofilen kombinerar till exempel Pulstjänsten och Enhetsinformationstjänsten. Den fullständiga listan över officiellt antagna GATT – baserade profiler kan ses här: profiler översikt.

tjänster

tjänster används för att bryta upp data i logiska enheter och innehålla specifika bitar av data som kallas egenskaper. En tjänst kan ha en eller flera egenskaper, och varje tjänst skiljer sig från andra tjänster med hjälp av ett unikt numeriskt ID som kallas UUID, som kan vara antingen 16-bitars (för officiellt antagna BLE-tjänster) eller 128-bitars (för anpassade tjänster).
en fullständig lista över officiellt antagna BLE-tjänster kan ses på sidan tjänster i Bluetooth Developer Portal. Om du tittar på Pulstjänsten kan vi till exempel se att denna officiellt antagna tjänst har en 16-bitars UUID på 0x180D och innehåller upp till 3 egenskaper, men endast den första är obligatorisk: pulsmätning, Kroppssensorplats och Pulsstyrpunkt.

egenskaper

det lägsta nivåbegreppet i GATT-transaktioner är karaktäristiken, som inkapslar en enda datapunkt (även om den kan innehålla en rad relaterade data, såsom X/Y/Z-värden från en 3-axlig accelerometer, etc.).
på samma sätt som tjänster skiljer sig varje egenskap sig via en fördefinierad 16-bitars eller 128-bitars UUID, och du är fri att använda de standardegenskaper som definieras av Bluetooth SIG (som säkerställer interoperabilitet över och BLE-aktiverad HW/SW) eller definiera dina egna anpassade egenskaper som bara din perifera och SW förstår.
som ett exempel är Pulsmätningsegenskapen obligatorisk för Pulstjänsten och använder en UUID på 0x2A37. Det börjar med ett enda 8-bitars värde som beskriver HRM-dataformatet (om data är UINT8 eller UINT16, etc.), och fortsätter med att inkludera pulsmätningsdata som matchar denna konfigurationsbyte.
egenskaper är den viktigaste punkten att du kommer att interagera med din BLE perifera, så det är viktigt att förstå konceptet. De används också för att skicka data tillbaka till BLE perifera, eftersom du har också möjlighet att skriva till karakteristiska. Du kan implementera ett enkelt UART-gränssnitt med en anpassad UART-tjänst och två egenskaper, en för TX-kanalen och en för RX-kanalen, där en egenskap kan konfigureras som skrivskyddad och den andra skulle ha skrivbehörighet.