블루투스는 두 장치 간의 무선 통신 프로토콜이다. 인터넷과 마찬가지로, 2개의 디바이스에서 Socket을 구성하여 서로간에 통신을 한다. 이 글에서는 블루투스의 자세한 원리를 다루지 않는다.
블루투스 통신을 위해서는 각각의 디바이스에서 소켓을 형성하여 통신을 한다.
이때, 웹과 마찬가지로 Server와 Client의 개념을 갖는다. Server는 Bluetooth 연결을 기다리고, Client가 Server에 Bluetooth 연결을 요청하는 방식이다.
이번 포스트에서는 Bluetooth Client에서 임의의 Bluetooth Server로 연결 요청을 하고, Serial Port(=Socket)을 만드는 방법에 대해 배울 것이다.
아래 명령을 실행하면, bluetooth server와의 연결을 형성하고 /dev/rfcomm3이라는 file(=Socket)을 통해 Bluetooth Server와 통신할 수 있게 된다.
# /dev/rfcomm3 파일에 접근할 수 있는 권한을 현 유저에게 부여한다.
$ sudo usermod -aG dialout $USER
$ groups $USER
# 변경사항들을 적용시키기 위해, reboot을 한다.
$ sudo reboot
# xx:xx:xx:xx:xx:xx는 Bluetooth Server의 MAC 주소이다.
# 이 명령어를 통해, /dev/rfcomm3 파일이라는 Socket을 구성한다.
$ sudo rfcomm connect /dev/rfcomm3 xx:xx:xx:xx:xx:xx 1 &