나쁜 소식 : Python이 사용자가 원하는 것을 지원하지 않는 것으로 보입니다. 적어도 socketmodule.c에는 없습니다.
는 2009 년
좋은 소식 이후 업데이트되지 않은 비록 내가 사용 pybluez
을 본 적이 파이썬/블루투스 사용자의 대부분 : 나는 (리눅스 연결) 자신의 소스를 통해 가고, 발견 광고 서비스 관련 비트. 대부분의 코드는 본질적으로 socketmodule.c
의 python 2.2 버전에서 복사하여 붙여 넣습니다.
pybluez
은 socket
개체가 모든 블루투스 광고를 구현할 수있는 몇 가지 추가 기능을 정의합니다. 너무 낮은 수준이 아니며 대신 BlueZ
에 의존합니다. 내가 말할 수있는 것부터, 기본적으로 파이썬 객체를 취하고 BlueZ
에 의해 예상되는 데이터 구조를 만들고 그냥 호출합니다. pybluez
을 사용하고 싶지 않거나 사용하지 않으려면이 누락 된 기능을 어떻게 든 구현해야합니다. 나는 당신이 C 타입으로 그것을 할 수있을 것이라고 생각합니다. 서비스 광고 관련 부분은 btmodule.c, 줄 2562-2642입니다.
pybluez
에 대한 소스에 python-3 브랜치가 있지만 작동 여부는 알 수 없습니다. 당신이 pybluez
를 사용하기로 결정하는 경우
는, 예를 들어 구글 코드가 폐쇄됨에 따라, 코드도 GitHub의 here에서 찾을 수 있습니다 their source
server_sock=BluetoothSocket(RFCOMM)
server_sock.bind(("",PORT_ANY))
server_sock.listen(1)
port = server_sock.getsockname()[1]
uuid = "94f39d29-7d6d-437d-973b-fba39e49d4ee"
advertise_service(server_sock, "SampleServer",
service_id = uuid,
service_classes = [ uuid, SERIAL_PORT_CLASS ],
profiles = [ SERIAL_PORT_PROFILE ],
)
에서 가져옵니다.
그들은 기본적으로 pybluez를 통합 한 것처럼 보입니다. 다음 예제를 살펴보십시오. https://code.google.com/p/pybluez/source/browse/trunk/examples/simple/rfcomm-server.py – TJD
'advertise_service'가 소켓 모듈이나 서버 소켓, 그리고 파이썬의 소스 코드에서 'advert'을 검색하는 것은 관련없는 주석 세 개만 찾습니다. –
같은 문제가 생겼습니다. 나는 간단한 서버를 만들 수 있었지만 서비스 광고와 같은 작업을 수행 할 수 없었습니다. 관심이있는 경우 여기에서 클라이언트 서버 응용 프로그램 코드를 볼 수 있습니다. http://kevindoran1.blogspot.co.nz/2013/04/bluetooth-programming-with-python-3.html – Kevin