Movesense设备中的真实自定义GATT服务和特征

时间:2019-07-04 13:36:21

标签: c++ gatt movesense

我想创建一个真正的自定义Gatt服务,这意味着不使用任何蓝牙SIG规范:https://www.bluetooth.com/specifications/gatt/services/

我想创建一个自定义服务,该服务可以在单个特征中发送加速度计和陀螺仪数据。这将意味着创建自定义消息。

我知道我应该为gatt服务创建128位UUID,例如用于心率的0000180D-0000-1000-8000-00805F9B34FB 但不使用此BASE uuid。我不知道如何使它适应使用16位格式的MOVESENSE示例代码:0x180D

有人做过定制的GATT服务来发送加速度计和陀螺仪数据吗,对此我可以提供一些指导吗?

我正在使用Gatt服务。

1 个答案:

答案 0 :(得分:0)

当前的movesense-device-lib(<= 1.9.x)支持用于服务UUID的16位或128位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团队工作