Настоящая индивидуальная услуга GATT и характеристики в устройстве Movesense

Я хочу создать настоящую настраиваемую службу Gatt, это означает, что я не использую какие-либо спецификации Bluetooth SIG: https://www.bluetooth.com/specifications/gatt/services/

Я хочу создать специальный сервис, который может отправлять данные акселерометра и гироскопа с одной характеристикой. Это будет означать создание собственного сообщения.

Я понимаю, что мне следует создать 128-битный UUID для службы gatt, подобной той, которая используется для Heart rate: 0000180D-0000-1000-8000-00805F9B34FB, но без использования этого BASE uuid. Я не знаю, как адаптировать это к образцу кода MOVESENSE, который использует формат 16 бит: 0x180D

Кто-нибудь делал специальную службу GATT для отправки данных акселерометра и гироскопа, кто может дать мне небольшое руководство по этому поводу?

Я недавно работаю со службами Gatt.


person Jorge Jiménez    schedule 04.07.2019    source источник


Ответы (1)


Текущая версия movesense-device-lib (‹= 1.9.x) поддерживает 16- или 128-битные UUID для UUID службы, но только 16-битные UUID для характеристик (грядущая версия movesense-device-lib 2.0 снимет это ограничение) .

Чтобы установить 128-битный UUID для определения службы, просто создайте байтовый массив из 16 байтов вместо 2:

constexpr uint8_t SENSOR_DATASERVICE_UUID[] = { 0xAA, 0xBB, ... , 0x33, 0x44 };
customGattSvc.uuid = wb::MakeArray<uint8_t>( SENSOR_DATASERVICE_UUID, sizeof(SENSOR_DATASERVICE_UUID));

Полная информация: я работаю в команде Movesense

person PetriL    schedule 01.11.2019