어쩌라구..?? ㅡㅡa..

Posted
Filed under Linux/utility
RPI4에서 했는데, rpi3나 usb bt등 하여간 general하게 bt가 사용 가능하다면 동작할것으로 생각한다.

우선 linux에서 bt serial port 설정이 필요하다. 아래 사이트 보고 serial port 설정한다.
Setting Up Bluetooth Serial Port Profile on Raspberry Pi using sdptool

serial port 설정이 되었다면 linux에 gps가 동작하도록 설정한다.
다음 패키지를 설치한다 : gpsd gpsd-tools gpsd-clients
패키지 설치 후 usb gps 모듈을 연결하고 cgps 명령을 실행하여 gps 동작 상태를 확인한다.
gpsd 자체는 별다른 설정을 하지 않아도 잘 동작했고, gps 모듈을 인식하기만 하면 좌표를 잡지 못했더라도 상관은 없다. gpsd가 gps모듈에서 데이터를 잘 읽어오는것을 확인하기만 하면 된다.

이제 gps와 bt를 묶어서, bt serial port 연결시 gps데이터를 보내주도록 한다.
/etc/rc.local 파일을 root 권한으로 열어서 맨 마지막 부근, exit 명령 전에 아래 코드를 추가한다.
sudo rfcomm watch hci0 0 gpspipe --nmea --output {} &
위 코드는 bt serial 연결을 기다리다가, 접속시에 gpspipe 명령을 통해 gpsd로부터 nmea텍스트를 BT rfcomm 파일로 출력하는 명령이다.
직접 동작하는것을 보고 싶다면 부팅시 시작한 프로세스를 죽이고 shell에서 직접 실행해 보면 된다.

이렇게 하면 usb gps를 꽂고 rpi를 켜면 bt gps를 사용할 수 있게 된다.
2022/10/19 01:33 2022/10/19 01:33