Android Make a Bluetooth Low Energy(BLE) GATT server 4
사용 언어: Kotlin 1.6.10
사용 버전: Android Studio 2020.3.1 Patch 4
저번 시간에는 characteristic에 읽기 쓰기 응답을 해보았습니다.
이번에는 Notification을 보내는 방법을 알아보겠습니다.
notification 설정은 보통 descriptor 0x2902에서 처리합니다.
descriptor 읽기 쓰기 응답을 준비합니다.
Client에서 0x2902를 읽거나 쓰기 할 때 요청을 해줘야 하니까요.
BluetoothGattServerCallback()에서 onDescriptorReadRequest와 onDescriptorWriteRequest를 override 합니다.
사용 버전: Android Studio 2020.3.1 Patch 4
안드로이드 Make a Bluetooth Low Energy(BLE) GATT server 4를 알아보겠습니다.
저번 시간에는 characteristic에 읽기 쓰기 응답을 해보았습니다.
이번에는 Notification을 보내는 방법을 알아보겠습니다.
notification 설정은 보통 descriptor 0x2902에서 처리합니다.
descriptor 읽기 쓰기 응답을 준비합니다.
Client에서 0x2902를 읽거나 쓰기 할 때 요청을 해줘야 하니까요.
BluetoothGattServerCallback()에서 onDescriptorReadRequest와 onDescriptorWriteRequest를 override 합니다.
notification을 전송할 장비들을 모아놓은 변수를 하나 만듭니다.
만약 notify에 있는 장비면 BluetoothGattDescriptor.ENABLE_NOTIFICATION_VALUE를
반환하고, 아니면 BluetoothGattDescriptor.DISABLE_NOTIFICATION_VALUE를
반환합니다.
onDescriptorWriteRequest에 이제 nofityDevice 등록을 위한 코드를 만듭니다.
descriptor에 BluetoothGattDescriptor.ENABLE_NOTIFICATION_VALUE 값이면
NotifyDevices에 장비를 더합니다. 아니면 삭제합니다.
이제 Notification을 보내보겠습니다.
이전 시간에 만든 onCharacteristicWriteRequest에 갑니다.
아래처럼 있는데 notification을 보내는 행위를 해봅니다.
코드를 추가해 줍니다.
notifyCharacteristicChagned() 함수를 사용합니다.
괄호 안에는 전송할 device, characteristic 정보, 사용자 확인을 위한 confirm
참, 거짓이 들어갑니다.
notification을 보낼 때, Callback이 필요하다면, onNotificationSent를 override
해주면 됩니다.
카테고리: Android
댓글
댓글 쓰기
궁금한 점은 댓글 달아주세요.
Comment if you have any questions.