자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
  • 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)

본 게시판은 개발자들이 자유롭게 질문과 답변을 공유하는 게시판입니다.
* 따라서 최대한 정중하게 질문을 올려 주세요.
* 질문을 상세히 작성해 주실 수록 좋은 답변이 올라 옵니다.
* 다른 분들도 참고할 수 있도록 결과 댓글 필수(또는 감사 댓글)
(결과 댓글을 달지 않는 경우 다음 질문에 대한 답변이 달리지 않는 불이익이 있을 수 있습니다.)
-----------------------------------------------------------------------------------------------

TBluetoothLE 컴포넌트를 이용하여 스마트체중계 예제를 따라하고 있습니다.

 

1. 디바이스를 찾고

2. 서비스를 찾고

3. 특성에 대한 구독까지 완료하였습니다.

 

제가 테스트하는 장비 환경은 다음과 같습니다.

서비스 UUID : CYCLING Power - {00001818-0000-1000-8000-00805F9B34FB}
특성 UUID : Cycling Power Measurement Characteristic - {00002A63-0000-1000-8000-00805F9B34FB}
 

구독완료 후 OnCharacteristicRead 이벤트가 잘 작동하고 무언가 값이 넘어오고는 있습니다.

문제는 이 넘어오는 값을 어떻게 받는지 모르겠습니다.

 

 

스마트체중계 예제에서는 "7, 특성 데이터 수신 후 체중 데이터 가져오기"항목에서는 다음과 같이 값을 가져오는데요...

 

  Weight := (ACharacteristic.GetValueAsInteger shr 8) / 10;
// 특성 값에서 앞의 3byte 이용, 마지막 숫자는 소숫점이므로 10으로 나누기
  Text1.Text := Format('%3.1f', [Weight]);

 

 

Cycling Power Measurement Characteristic 의 경우는 위의 소스코드를 어떻게 구현해야 하는지 모르겠습니다.ㅠㅠ

 

GATT Characteristics에 정의된 xml을 참조하는거 같은데 맞는지요?

 

맞다면 값을 어떻게 읽어오는지 소스를 초보에게 알려주시면 큰도움 되겠습니다. 도움부탁드립니다.