Raspberry PI 블루투스 설정

1. bluez 설치
라즈베리파이에서 쓸수 있는 블루투스 라이브러리를 다음과 같은 절차로 설치한다.

1) 설치방법
– bluez 설치

– 파이썬용 pybluez 설치

2) 블루투스 동작 확인
다음과 같이 hciconfig 명령을 입력하여 보면 RUNNING 이라고 뜨는것을 확인할수 있다.

– RUNNING아 아니라면 sudo hciconfig hci0 up 를 입력하여 RUNNING상태로 바꾼다.

3) 파이썬용 비콘스캐너 설치
개발전에 비콘값을 제대로 받을수 있는지 테스트하기 위해 오픈소스로 되어 있는 비콘스캐너를 아래와 같이 다운로드 받아 테스트해보았다.
비콘값을 제대로 받는다면 UUID, RSSI등의 값이 출력되는것을 볼수있다.

2.라즈베리파이에서 블루투스와 시리얼 포트를 모두 사용하기 위한 방안
– GPS장치 및 블루투스 2개를 모두 시리얼 포트로 사용할수 없는 문제가 발생하여
GPS는 시리얼, 블루투스는 miniuart 를 이용하여 데이터를 수신하기로 함

1) cmdline.txt 파일 수정

2) 파이썬3 시리얼로 GPS 데이터를 받기 위해 시리얼모듈 설치

3) config.txt 파일 수정

아래와 같은 내용을 추가한다.

3. 블루투스 비콘 데이터 파싱
– iBeacon이 여러개 켜져있으면 비콘별로 분석하여 파싱처리를 해야 데이터로 이용할수 있다.
즉 비콘데이터를 아래와 같이 패킷의 자리수를 이동하면서 각각 UUID, Major/Minor 버전, Tx Power, RSSI등을 구해야 한다.