2015-01-10 5 views
3

저는 리눅스와 블루투스 개발에 익숙하지 않아 sudo hcitool lecc <bdaddr>sudo gatttool -b <dbaddr> -I의 차이점을 잘 모르겠습니다. 나는 GATT 서비스를 필요로하지 않는다. 두 장치 사이를 연결하기 만하면됩니다.Bluez BLE 연결 리눅스

나는 막연하게 this widely referred to tutorial을 다음 찾고 있어요, 그리고 Bluez의 /tools/hcitool.c에서 cmd_lecc 방법을 적응에서 찾고 있어요,하지만 난 hcitool lecc를 사용하여 내 BLE 장치에 연결할 수 없습니다입니다.

gatttool을 사용하여 연결할 때 성공적으로 연결할 수 있지만 hcitool lecc을 사용하면 '연결을 만들지 못함 : 연결 시간이 초과되었습니다'오류가 반환되고 BLE 장치에 연결되지 않습니다. 그러나 활성 연결을 표시하기 위해 sudo hcitool con을 실행하면 '알 수없는 핸들 0 상태 2 아이콘 SLAVE'가 있음을 알 수 있습니다. 연결에 실패하는 경우 연결을 활성 상태로 등록하는 이유는 무엇입니까 hcitool?

내 질문은 따라서 삼중입니다 :

  1. 두 명령의 차이점은 무엇입니까?
  2. 겠습니까 내 목적에 적합 gatttool, 또는 내가 무엇을 hcitool와 함께 작동하지 않습니다 (이유 sudo hcitool lecc <bdaddr> 부분적으로 연결 않습니다 this?
  3. 같은 다음과 같은 경우에도 그것을 시간이 초과?

많은 감사를 해결해야한다

답변

1

hcitool lecc <bdaddr>은 연결을 생성하고 핸들을 반환하는 반면, gatttool -b <bdaddr> -I은 주소에 바인딩되었지만 아직 연결되지 않은 인터페이스가있는 대화 형 터미널 만 열어줍니다. gatttool 명령에 connect을 입력해야합니다.이 경우도 실패 할 가능성이 높습니다. 내가 hcitoolgatttool의 모든으로 자신의 코드를 작성하기위한 연결하는 방법을보고 제안

은 단순히 hcitool 사용하는 것과 동일한 과정 래퍼이지만,이 코드를 복사하지 않는 한 그 래퍼는 사용할 수 없습니다.

마지막으로이보고하는 핸들 0은 유효하지 않은 모든 핸들이 0보다 큽니다.

관련 문제