서비스 발견 프로토콜 . .. 조사 한 바 에 따르 면 BLE 장치 와 데이터 를 주 고 받 기 에 앞서 어떠 한 서비스 를 제공 해야 하 는지 알 아야 합니다 . 각각 의 서비스 는 여러 개 의 특성 자 로 구성 이 되 고 각 특성 자 를 통해 데이터 를 주 고 받 을 수 있 습니다 . Service , characteristic , attributes , handle 그리고 UUID 까지 알 듯 말 듯 한 용어 들 을 많이 접하 게 됩니다 . 또 개인 적 인 의견 이 지만 . .. 참 . .. 쓸데없이 불 필요 한 용어 를 많이 만들 어 냈 다고 생각 합니다 . 처음 이런 용어 들 을 접했 을 때 거부 감 이 확 밀려오 더군요 . ( 지금 도 마찬가지 지만 ) 다시 본론 으로 들어가 서 BLE 통신 을 위해 서비스 를 검색 해야 한다고 하 니 , 어떻게 하 는지 알 아야 겠 죠 . 수많 은 검색 결과 , 대부분 의 사람 들 이 gatttool 을 사용 하 더군요 . 이건 또 뭐 야 ' t ' 가 세 개 나 있 군요 . 이름 에서 알 수 있 듯이 gatttool 은 GATT TOOL 일 테 고 , 그럼 또 GATT 는 또 뭐 람 ? 또 검색 을 해 봅니다 . GATT 는 ATT 위 에 구현 된 generic attribute protocol 이 라는군요 . ATT 는 attribute protocol 이 구요 . ( 이름 도 참 . ..) 뭔지 잘 모르 겠 습니다 만 , 원격 장치 의 attribute 를 알 수 있 을 것 같 습니다 . 알 아서 뭐 에 쓰 는지 는 그때 가 서 또 조사 해 보 구요 ^^ 우선 장치 를 검색 하 고 , root # hcitool lescan LE Scan . .. DC : A 0 : F 2 : B 9 : 4 F : 9 E ( unknown ) DC : A 0 : F 2 : B 9 : 4 F : 9 E XXXXXXX 00 : 22 : XX : 00 : XX : XX ( unknown ) 00 : 22 : XX : 00 : XX : XX XXXXXXX 원 하 는 장치 의 primary service 를 찾 아 봅니다 . root # gatttool -- primary - b 00 : 22 : XX : 00 : XX : XX attr handle = 0 x 0001 , end grp handle = 0 x 000 b uuid : 00001800 - 0000 - 1000 - 8000 - 00805 f 9 b 34 fb attr handle = 0 x 000 c , end grp handle = 0 x 000 e uuid : 00001801 - 0000 - 1000 - 8000 - 00805 f 9 b 34 fb attr handle = 0 x 000 f , end grp handle = 0 x 0014 uuid : 0000180 d - 0000 - 1000 - 8000 - 00805 f 9 b 34 fb attr handle = 0 x 0015 , end grp handle = 0 x 0023 uuid : 0000180 a - 0000 - 1000 - 8000 - 00805 f 9 b 34 fb attr handle = 0 x 0024 , end grp handle = 0 x 0026 uuid : 0000180 f - 0000 - 1000 - 8000 - 00805 f 9 b 34 fb attr handle = 0 x 0027 , end grp handle = 0 xffff uuid : 6217 ff 49 - ac 7 b - 547 e - eecf - 016 a 06970 ba 9 짠 ~~ 뭔가 주루룩 나오 나요 . .. 사실 위 의 실행 결과 는 타 사이트 에서 긁 어 왔 습니다 . 실제로 저 의 머신 에서 는 root # gatttool -- primary - b XX : XX : XX : XX : XX : XXHost is down ( 112 ) 라고 나오 는군요 . 이런 경우 에 대해 다시 웹 을 검색 해 봅니다 만 , ' 안 될 때 도 있 다 ' 라던가 , ' BlueZ 업데이트 가 필요 하 다 ' 이런 예기 만 가뭄 에 콩 나 듯 있 군요 . 지금껏 gatttool 을 써서 무수히 시도 를 해 보 았 습니다 만 , 된 적 이 없 습니다 . 나 의 bluez 버전 은 4 . 98 . 현재 나와 있 는 5 . 31 로 없 데이트 를 할까 ? 하 고 고민 했으나 귀찮 니 즘 이 마구 밀려옵니다 . 어차피 목적 은 BLE 프로그래밍 이 니까 , 그냥 코드 를 짜 보 기 로 했 습니다 . 공유 하 기 글 요소 사업자 정보 표시 | | | 사업자 등록 번호 : -- | TEL : -- | 사이버 몰의 이용 약관 바로 가 기