PETRONE / BLE / Protocol / Intro
Modified : 2018.3.6
1. Bluetooth Low Energy(Bluetooth SMART)
PETRONE은 무선 연결에 Bluetooth Low Energy(이하 BLE)를 사용합니다.
PETRONE에서 사용하는 Service와 Characteristic은 다음과 같습니다.
Service | Characteristic | UUID | 데이터 이동 방향 |
---|---|---|---|
DRONE_SERVICE | C320DF00-7891-11E5-8BCF-FEFF819CDC9F | ||
├ | DRONE_DATA | C320DF01-7891-11E5-8BCF-FEFF819CDC9F | 드론 → 앱 (Notify) |
└ | DRONE_CONF | C320DF02-7891-11E5-8BCF-FEFF819CDC9F | 앱 → 드론 (Write) |
2. 전송 데이터 구조
0 |
1 |
2 |
... |
N-1 |
N |
DataType |
Data |
- 첫 번째 바이트는 데이터 타입을 의미
- 두 번째 바이트부터는 첫 번째 바이트(데이터의 타입)에서 정의한 데이터 전달
- 전체 길이는 최대 20byte
3. 데이터 송수신 규칙
- 데이터를 전송하는 주기는 Android인 경우 50ms, iOS인 경우 100ms를 권장
- PETRONE에 데이터를 요청한 경우엔 요청한 데이터를 응답으로 보냄. 이외의 경우에는 Ack를 응답. Control 명령은 Ack 및 어떤 응답도 보내지 않음
- 앱에서 드론에 명령 시에는 DRONE_CONF에 전달할 데이터를 Write
- 드론이 앱으로 데이터를 보내는 경우엔 DRONE_DATA로 Notify를 전송