2016-07-05 6 views
0

저는 현재 단일 서비스로 블루투스 저에너지 주변기기 (신속한 OSX 머신으로 작성)를 보유하고 있습니다. 이 서비스는 중앙 장치 (Android)가 명령을 나타내는 문자열로 기록하고, 주변 장치가 수신 한 명령에 해당하는 응답으로 기록하는 두 가지 특성을 가지고 있습니다.블루투스 저에너지 시스템 설계, 응답 프로토콜

내가 갖고있는 질문은 이것입니다. 정상적인 방법인가요? 아니면 중앙 장치에서 쓰기에 응답하는 더 좋은 방법이 있습니까?

나는 이것의 안드로이드 쪽을 쓰는 데 어려움을 겪고 있는데, 나는 BLE Scanner를 사용하여 테스트했으며 완벽하게 작동했지만 비슷하게 작동하는 예제 소스를 찾을 수 없습니다.

답변

0

이렇게 할 수는 있지만 정상적인 방법은 아닙니다. 또한 기본적으로 데이터 교환을 보는 방법입니다. BLE는 슬레이브 (주변기기)가 슬레이브 (레지스터와 같은)에 데이터를 쓰고 읽거나 슬레이브가 변경 사항을 마스터에게 알리기 위해 알림을 전송하는 방식으로 설계되었습니다. 귀하의 답변은 귀하의 두 번째 특성으로 쓰여질 것이며 귀하는 Ble Scanner 또는? 따라서 이것은 "실제 응답 전송"이 아니므로 데이터를 쓰고 마스터에서 읽습니다. 마스터는 항상 슬레이브에 요청을 보냅니다 (알림 제외)

이 정보가 도움이되기를 바랍니다.

BR

+0

본질적 마스터는 슬레이브에 의해 해석 된 명령을 송신하고, 슬레이브는, 상기 명령에 의해 특정 요구에 특정의 메시지로 응답한다. 지금은 매우 다른 명령과 응답이 설정되어 있습니다. 각 명령 응답을 자체 특성으로 다시 써야한다고 생각합니까? 예를 들어, DEV_00 GET_NAME을 보내고 DEV_00 NAME = "SampleName"을 수신합니다 ... SampleName을 특성으로 저장해야합니까? –

+0

그리고 내가 이것을하지 않는 것을 선호하는 주된 이유는 USB (직렬 UART)를 통해 현재 설정되어있는 방식이기 때문에 내 목표는 단순히이 프로토콜을 블루투스로 변환하는 것입니다. –

+0

예, 정확히 이미 미리 정의 된 문자가 있습니다. [this] (https://developer.bluetooth.org/gatt/characteristics/Pages/CharacteristicsHome.aspx)를 참조하십시오. 모든 블루투스 지정 문자 목록이 있습니다. 또한 장치 이름은 Bluetooth SIG에서 이미 정의되어 있으므로이 이름을 사용할 수 있습니다. – ph10