1 回答

TA貢獻(xiàn)1906條經(jīng)驗(yàn) 獲得超3個(gè)贊
經(jīng)過大量搜索和嘗試各種方法來實(shí)現(xiàn) android 應(yīng)用程序和內(nèi)置 BLE 服務(wù)器的 ESP32 板的上述通信,我找到了解決方案。
在我所有的測(cè)試中,我通過以下方式使用 UUID:
在 ESP32 中聲明特征 uuid
Characteristic_UUID = BLEUUID((uint16_t) 0x1A00))
并使用從android搜索這個(gè)uuid
Characteristic _UUID = convertFromInteger (0x1A00)
convertFromInteger 函數(shù):
public UUID convertFromInteger (int i)
{
final long MSB = 0x0000000000001000L;
final long LSB = 0x800000805f9b34fbL;
long value = i & 0xFFFFFFFF;
return new UUID (MSB | (value << 32), LSB);
}
當(dāng)我遵循一個(gè)教程時(shí)找到了解決方案,在該教程中我注意到了 uuid 以及與我使用的 uuid 的區(qū)別。當(dāng)我用隨機(jī)生成的 uuid 替換我的舊 uuid 時(shí),例如“cff6dbb0-996f-427b-9618-9e131a1d6d3f”,整個(gè)BLE 服務(wù)器的 writeCharacteristic 過程沒有任何問題。
添加回答
舉報(bào)