Bluetooth 통신을 사용하여 데이터 전송하기
텍스트 데이터(ASCII 기반)와 이진 데이터를 모두 읽고 쓸 수 있습니다. 텍스트 데이터의 경우 readline
및 writeline
함수를 사용하십시오. 이진 데이터의 경우 read
및 write
함수를 사용하십시오.
이 예제에서는 C3PO
라는 LEGO® MINDSTORMS® NXT 로봇이 컴퓨터에 연결되어 있습니다. 다음 단계를 수행하여 NXT 장치와 통신합니다.
컴퓨터에서 액세스 가능한 Bluetooth® 장치를 확인합니다.
bluetoothlist
ans = 4×4 table Name Address Channel Status _____________ ______________ _______ __________________ "C3PO" "0016530FD63D" 1 "Ready to connect" "HC-06" "98D331FB3B77" 1 "Requires pairing" "mjin-maci" "A886DDA44062" 3 "Requires pairing" "DMTDevice" "B0B448F47A4C" Unknown "Unknown"
이 사례에서
C3PO
는 NXT 로봇의 장치 이름이며 출력값에 표시됩니다. 장치에 연결하기 위해 NXT 장치의 채널1
을 사용하는,bt
라는 Bluetooth 객체를 만듭니다.bt = bluetooth("C3PO",1);
bt = bluetooth with properties: Name: "C3PO" Address: "0016530FD63D" Channel: 1 NumBytesAvailable: 0 NumBytesWritten: 0 Show all properties
write
함수를 사용하여 메시지를 원격 장치로 보냅니다. 이 예제에서는 이 특정 장치(NXT 로봇C3PO
)가 인식하는 장치에 특정 문자가 전송됩니다. 장치에 쓴 다음,NumBytesWritten
속성을 보고 값이 전송되었는지 확인할 수 있습니다.write(bt,[2,0,1,155]) bt.NumBytesWritten
ans = 35
35바이트의 데이터가 장치에 작성되었음을 알 수 있습니다.
NumBytesAvailable
속성을 보고 읽을 수 있는 바이트 수를 확인합니다.bt.NumBytesAvailable
ans = 35
read
함수를 사용하여 원격 장치에서 35바이트를 읽어옵니다.name = read(bt,35); char(name(7:10))
ans = 'C3PO'
장치가 장치 이름에 해당하는 문자
'C3PO'
를 반환합니다. 이는 장치에 전송된 명령에 대한 응답입니다. 이 같은 유형의 장치별 통신 정보에 대해서는 장치 설명서를 참조하십시오.객체를 지워 정리합니다.
clear bt
그 외 기능
Bluetooth 객체와 함께 다음 함수를 사용할 수 있습니다.
read | Bluetooth 장치에서 데이터 읽어오기 |
readline | Bluetooth 장치에서 ASCII 문자열 데이터 라인 읽어오기 |
write | Bluetooth 장치에 데이터 쓰기 |
writeline | Bluetooth 장치에 ASCII 데이터 라인 쓰기 |
configureTerminator | Bluetooth 장치와의 ASCII 문자열 통신을 위한 종결자 설정 |
configureCallback | Set callback function and trigger condition for communication with Bluetooth device |
flush | Clear Bluetooth device buffers |