0x3d 2

블루투스 AutoConnect 시 지속적으로 연결, 연결해제되는 문제

블루투스 AutoConnect 시 지속적으로 연결, 연결 해제되는 문제 Android와 ESP32 간에 블루투스(BLE)를 연결하고, 일정 거리 벌어진 뒤에 다시 가까이 오면 자동 연결되는 기능을 구현하다 보면, 안드로이드 앱은 계속해서 Connect를 시도하지만, 모종의 이유로 Connect -> Disconnect -> Connect... 가 반복됩니다. Bonding 데이터를 해제하고 다시 해도 안되며, 캐시의 문제일 가능성이 높습니다. 특히나 rsn:0x3d로 연결이 실패되는 경우에는 링크글(https://thinkanother.tistory.com/27)을 확인하시면, 캐시를 지우는 방법을 확인할 수 있습니다.

개발/통신 2022.12.20

[ESP32 BLE 에러] BT_HCI: hcif disc complete: rsn 0x3d

[ESP32 에러] BT_HCI: hcif disc complete: rsn 0x3d 위와 같은 에러가 뜬다면, 기존에 ble 작업하면서, bonding 되어 있는 데이터를 삭제하고 다시 진행하면 됩니다. 안드로이드 개발 과정이라면, 블루투스 기기를 등록하고 해제를 반복하면서, 캐시가 쌓여있을 수 있습니다. 이는 캐시를 지우는 과정을 진행해야 합니다. 이 과정을 refresh라고 알려져 있습니다. 이 기능을 블루투스 기기와 연결 해제되었을 때 실행하도록 하면 됩니다. java를 사용하는 경우는 다음과 같습니다. private void refreshDeviceCache(BluetoothGatt gatt) { try { Method localMethod = gatt.getClass().getMethod("r..