본문 바로가기
공부/프로그래밍

맥북 요세미티 이후 블루투스 포트 통신

by demonic_ 2015. 8. 8.
반응형

맥북 OS가 요세미티 이상이고 블루투스를 통해 데이터를 통신하는 방법 설정을 기록.


아두이노나 안드로이드와 통신여부를 검토하고 싶은데 못하고 있을경우 유용하겠죠?


이전 OS의 경우는 블루투스 시리얼 포트를 추가할 수 있었던거 같은데, 이번 버전은 그게 안된다. ㅠㅠ 그래서 다음과 같은 순서로 설정을 해줘야한다.


순서.

1. 드라이버를 다운로드.

2. 다운받은 드라이버를 설치

3. 터미널에서 다음과 같은 명령어를 입력하여 등록 => sudo nvram boot-args="kext-dev-mode=1"

4. 재부팅

5. 터미널에서 다음과 같이 명령어를 치면 2개의 파일이 나온다. => ls -1 /dev/tty.*

그 중,  dev/tty.Bluetooth-Incoming-Port   << 이것을 사용하면 된다


1. 

다운로드 사이트 =>  http://www.wch.cn/download/CH341SER_MAC_ZIP.html

CH341SER_MAC.ZIP

(혹시 몰라 여기에다가 64비트용 압축파일을 올려둔다)


2. 

위에서 다운로드한 파일을 설치(Install) 한다.


3. 

터미널에서 다음과 같은 명령어를 입력한다. => sudo nvram boot-args="kext-dev-mode=1"

그 후 재부팅!


4. 

재부팅이 완료되었다면 터미널을 열어서 ls -1 /dev/tty.* 을 입력한다. 그럼 다음과 같은 2개의 파일이 보인다.(혹시 이전에 연결되어있는 블루투스 장비가 있다면 더 많이 보일 수도 있다.)




5. 둘중에 사용할 수 있는 것은 /dev/tty.Bluetooth-Incoming-Port  << 이것이다. 



테스트

여기서는 nodejs 를 이용하여 블루투스 시리얼포트 테스트를 진행핟고자 한다.

참조 사이트 => https://github.com/voodootikigod/node-serialport



우선 nodejs 모듈을 설치 =>  npm install serialport --save


다음과 같이 코딩하여 준다.

var SerialPort = require("serialport").SerialPort;

// MAC OSX : /dev/tty.Bluetooth-Incoming-Port        // 맥북인 경우 이것으로 사용하고.

// Windows : COM4                                                    // 윈도우 경우 이것으로 사용(개개인마다 포트번호가 다를 수 있음)

var serialPort = new SerialPort("/dev/tty.Bluetooth-Incoming-Port", {        // /dev/tty.Bluetooth-Incoming-Port 확인

  baudrate: 9600

}, function(err){

    if(err){

        console.log(err);

    }else{

        console.log("open start");   

    }

});


serialPort.on("open", function () {

    console.log('open');

    serialPort.on('data', function(data) {

        console.log('data received: ' + data);

    });

    serialPort.write("ls\n", function(err, results) {

if(err){

console.log(err);

}

        console.log('results ' + results);

    });

});


해당 프로그램을 실행하면 다음과 같이 통신이 되는것을 확인할 수 있다.



맥북 터미널에서 확인된 수신데이터




안드로이드에서 보낸 송신데이터




끝~




반응형

댓글