본문 바로가기

2014/08/06

큐비트럭 블루투스 프로그래밍 - BLE 연결 bluez 에서는 bluetooth 4.0의 core(?)를 지원한다고 나와있으나 bluez에서 제공하는 util을 사용해보면4.0을 스캔하기 위해서는 별도의 스캔 옵션을 주어야 한다. 이말은 4,0 이전 버전과 4.0 버전의 인터페이스가 다르다는 뜻이다. bluetooth 4.0 디바이스를 검색하기 위해서는 hcitool lescan 을 사용해야한다. 사용해보면 알겠지만 이 방법은 사용자가 종료하기 전까지 무한대기한다. 내부 함수를 살펴보면 read 함수를 호출하는데 블루투스 소켓이기 때문에 서비스가 내려가기 전까지 대기할 수 밖에 없는 구조이다. 이 부분은 차후에 수정할 예정이며 아래는 일단 스캔에 설공한 소스예제이다. 이 역시 hcitool 소스에서 필요한 부분만은 편집한 소스이다. #include.. 더보기
큐비트럭 - 블루투스 프로그래밍 - samplescan.c 웹상에서 검색되는 대부분의 블루투스 예제 프로그램은 아래 링크에서 참조된다. http://people.csail.mit.edu/albert/bluez-intro/ 블루투스 스택에 따라 거의 샘플소스를 살펴볼만 하다.그러나 큐비트럭에서는 샘플소스가 제대로 동작하지 않았다(나의 실수인가...) samplescan.c 의 예제를 그래도 구현하였으나 주변 블루투스 기기의 갯수는 제대로 스캐닝되나address 정보와 이름이 나오지 않았다. 그래서 hcitool 의 소스를 참고하여 직접 구현하였다. #include #include #include #include #include #include #include int main(int argc, char **argv){ inquiry_info *info = NULL;.. 더보기