최근 프로젝트에서는 HC06 모듈과 인터페이스할 수 있는 Python 프로그램을 만들려고 했습니다. 이를 위해 pybluez를 사용합니다. 그런데 전혀 안 되더라구요. 그래서 bluetoothctl을 이용해서 터미널을 통해 페어링을 시도해 봤습니다.
스캔하는 동안 다음 장치를 발견했습니다.
[신규] 장치 98:D3:31:FD:9A:27 OKEY DOKEY MARIO
하지만 연결할 때:
[블루투스]# 연결 98:D3:31:FD:9A:27
98:D3:31:FD:9A:27에 연결해 보세요.
연결 실패: org.bluez.Error.Failed
[블루투스]# OKEY DOKEY MARIO 연결
장치 OKEY DOKEY MARIO를 사용할 수 없습니다.
이 문제를 어떻게 해결할 수 있나요?
답변1
위에서 한 일은 잘 작동합니다. 필요한 것은 외부 USB Bluetooth 어댑터뿐입니다. 그래서 내 컴퓨터의 블루투스 모듈이 문제입니다. 이제 연결하고 메시지를 보낼 수 있습니다. 저는 이 작은 프로그램을 사용하여 연결을 테스트하고 메시지를 보내고 받는 데 걸리는 시간을 보내고 인쇄합니다. 코드는 Python으로 작성되었습니다.
import bluetooth
import socket
import time
import timeit
size = 1024
bd_addr = "98:D3:31:FD:9A:27"
port = 1
sock=bluetooth.BluetoothSocket( bluetooth.RFCOMM )
sock.connect((bd_addr, port))
time.sleep(5)
start = timeit.default_timer()
sock.send("hello!! \r\n")
while 1:
data = sock.recv(size)
if data:
end = timeit.default_timer()
print(data)
print(end-start)
sock.close()