如何将名称和 ID 属性添加到自定义 BLE 特性 C++

How to add name and ID attributes to custom BLE characteristics C++

我正在使用 this mbed workthrough,在 C++ 中创建自定义 GATT 服务。但是,此代码仅创建具有 UUID 的特征:

uint16_t customServiceUUID  = 0xA000;
uint16_t readCharUUID       = 0xA001;
uint16_t writeCharUUID      = 0xA002

然而,在我连接到基于 mbed 的设备的智能手机上的 C# 代码中,我正在尝试访问 Characteristic.IDCharacteristic.Name 属性,标准配置文件中的标准特性具有这些属性,但是我的没有。如何将此信息添加到特征中?

在我的 C# 代码中,我有以下内容:

try {
    foreach(var data in services)
    {
    if (data!=null && data.ID == 0xA001.UuidFromPartial()){ GasSenseService = data; }

    Debug.WriteLineIf (data!=null, "data not null");
                Debug.WriteLine ("Name:", data.Name);
                Debug.WriteLine ("ID:", data.ID);

    }
}
catch {
...

特征名称是描述符。

您需要添加 API 使用的正确描述符才能找到 Characteristc.Name

This page, links to a document with standard descriptors.

我敢打赌,如果您创建一个 ID 为 0x2901 的描述符(附加到您的特征)并将其值设置为“My Chracteristic”,那么 Characteristc.Name 将在您的 C# 中成为“My Chracteristic”代码。