feat(bluetooth): 실제 BLE 기반 맛집 리스트 공유 구현

- ble_peripheral 패키지 추가 (Peripheral/GATT Server 역할)
- flutter_blue_plus 패키지 활용 (Central/스캔/연결 역할)

변경 사항:
- BleConstants: BLE UUID 및 설정 상수 정의
- BluetoothService: Mock에서 실제 BLE 통신으로 전면 재작성
  - Receiver: GATT Server로 광고, Write callback으로 데이터 수신
  - Sender: 서비스 UUID로 스캔, 연결 후 Characteristic에 데이터 전송
  - 청크 기반 대용량 데이터 전송 프로토콜 구현
- ShareDevice: BLE 디바이스 정보 필드 추가 (remoteId, rssi, bleDevice)
- Android/iOS: BLE 권한 및 기능 선언 추가

데이터 전송 프로토콜:
- 'CHUNK:index:total:data' 형식으로 500바이트 단위 분할 전송
- 수신 측에서 청크 조립 후 JSON 파싱
This commit is contained in:
JiWoong Sul
2026-01-30 00:09:13 +09:00
parent 24b074ff4c
commit c608b6c7df
11 changed files with 534 additions and 60 deletions

View File

@@ -49,6 +49,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "2.13.0"
ble_peripheral:
dependency: "direct main"
description:
name: ble_peripheral
sha256: "858d370709507155bbf69e6160e9cb81d802e664f133a649a38b9ca04439884c"
url: "https://pub.dev"
source: hosted
version: "2.4.0"
bluez:
dependency: transitive
description: