JavaScript Bluetooth API 디바이스 검색 문제 해결 방법
문제 상황: ‘BluetoothRequestDeviceError’
블루투스 API를 이용해 디바이스를 검색하려고 했을 때 ‘BluetoothRequestDeviceError’ 라는 오류가 발생했다고 가정해 봅시다. 이 오류는 JavaScript의 Web Bluetooth API를 사용하여 블루투스 디바이스를 검색할 때 흔히 발생합니다.
원인 분석
- 블루투스 권한: 브라우저 또는 운영체제 수준에서 블루투스 권한이 없을 수 있습니다.
- 호환성 문제: 사용 중인 브라우저가 Web Bluetooth API를 완전히 지원하지 않을 수 있습니다.
- 디바이스 미지원: 특정 블루투스 디바이스는 Web Bluetooth API에서 지원하지 않을 수 있습니다.
해결 방법
권한 확인
브라우저에서 블루투스 권한을 명시적으로 요청해야 합니다. 권한을 허용하지 않으면 ‘BluetoothRequestDeviceError’ 오류가 발생할 수 있습니다.
1
navigator.bluetooth.requestDevice({ filters: [{ services: ['battery_service'] }] })
브라우저 호환성 확인
Web Bluetooth API는 모든 브라우저에서 지원되지 않습니다. 예를 들어, Internet Explorer와 Safari는 이 API를 지원하지 않습니다. Chrome 또는 Firefox와 같은 브라우저를 사용해 보세요.
디바이스 지원 여부 확인
디바이스 제조사의 문서를 참고하여 해당 디바이스가 Web Bluetooth API를 지원하는지 확인하세요.
코드 수정
기존 코드에 문제가 있다면, 다음과 같이 수정해보세요.
1
2
3
4
5
6
navigator.bluetooth.requestDevice({
filters: [
{services: ['heart_rate']},
{name: 'MyDevice'}
]
})
결론
‘BluetoothRequestDeviceError’ 오류는 권한, 브라우저 호환성, 디바이스 지원 여부 등 다양한 이유로 발생할 수 있습니다. 위의 해결 방법을 차례대로 적용해보면 문제를 해결할 수 있을 것입니다.
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.