2

현재 Google은 Bluetooth LE를 사용 중이며 128 자 문자열을 gatt 서비스에 보내고 자합니다.Bluetooth LE 최대 전송 크기

이제 Bluetooth 사양은 BLE의 최대 패킷 크기가 22 바이트라고 말하면 내 문자열은 패킷에 맞지 않습니다.

우리는 그것을 묶어서 반복하여 보내려합니다.

일을하는 일반적인 방법입니까?

+1

플레이트 폼이란 무엇입니까? 예를 들어, iOS에서 패킷은 다양한 부분으로 잘라낼 수 있습니다 (상위 수준 인 경우 프레임 워크가 제공된 이후로 iOS 단독으로 수행함). – Larme

+0

Google은 Android 및 iOS 용으로 상호 개발하고 있습니다. 이와 같은 기능을 구현하는 데 문제가 없지만 Bluetooth 토지에 어떤 방법으로 들어갈 수 있는지 알고 싶습니다. – barry007

답변

3

예, 18 바이트 조각으로 데이터를 청크 한 다음 서버에 일련의 Prepare Write Request을 보내야합니다.

  • 속성 핸들 (2 바이트)
  • 특성 오프셋 (2 바이트)
  • 데이터의 일부 (최대 18 바이트)

그래서 먼저 보낼 것이다 :이 요청의 각각은 3 개 개의 매개 변수를 가지고 오프셋이 0 인 패킷, 오프셋이 18 인 패킷, 그 다음 36 등이 있습니다. 이렇게하면 서버가 모든 요청을 대기열에 넣습니다.

결국 Execute Write Request을 보내면 서버는 모든 바이트를 한 번에 기록합니다.

관련 문제