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 過程沒有任何問題。
添加回答
舉報