1 回答
TA贡献1906条经验 获得超3个赞
经过大量搜索和尝试各种方法来实现 android 应用程序和内置 BLE 服务器的 ESP32 板的上述通信,我找到了解决方案。
在我所有的测试中,我通过以下方式使用 UUID:
在 ESP32 中声明特征 uuid
Characteristic_UUID = BLEUUID((uint16_t) 0x1A00))
并使用从android搜索这个uuid
Characteristic _UUID = convertFromInteger (0x1A00)
convertFromInteger 函数:
public UUID convertFromInteger (int i)
{
final long MSB = 0x0000000000001000L;
final long LSB = 0x800000805f9b34fbL;
long value = i & 0xFFFFFFFF;
return new UUID (MSB | (value << 32), LSB);
}
当我遵循一个教程时找到了解决方案,在该教程中我注意到了 uuid 以及与我使用的 uuid 的区别。当我用随机生成的 uuid 替换我的旧 uuid 时,例如“cff6dbb0-996f-427b-9618-9e131a1d6d3f”,整个BLE 服务器的 writeCharacteristic 过程没有任何问题。
添加回答
举报
